From 4e6594dc547953b1a14d2f7fe720914f9e48dbde Mon Sep 17 00:00:00 2001 From: Theodore Li Date: Tue, 7 Jul 2026 19:37:33 -0700 Subject: [PATCH 01/27] feat(pii): add opt-in GLiNER NER engine (PII_ENGINE), device-agnostic (#5495) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(pii): add opt-in GLiNER NER engine (PII_ENGINE), device-agnostic Swap the 4 NER entity types (PERSON/LOCATION/NRP/DATE_TIME) to a single multilingual GLiNER zero-shot model when PII_ENGINE=gliner; spaCy stays the default and all ~36 regex/checksum recognizers are identical on both engines. Device-agnostic via PII_DEVICE / cuda auto-detect — same code on Fargate CPU now and EC2-GPU later. - engines.py: side-effect-free builders; SharedModelGLiNERRecognizer loads ONE model shared across the 5 per-language instances and restricts labels to the entities it owns; small spaCy models keep tokenization/lemmas for the regex recognizers; fail-fast on the lean image - pii.Dockerfile: multi-stage — default target unchanged (lean spaCy); --target gliner is a superset (torch CPU + gliner + baked model) where both engines work; gliner-gpu scaffold for the GPU fleet - CI publishes the gliner variant (:staging-gliner/:latest-gliner, amd64) - Helm: pii.engine / pii.device values wired to PII_ENGINE/PII_DEVICE - scripts/bench_engines.py: throughput + NER-parity diff harness - tests: unit (mocked GLiNER) + in-image integration for both engines Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01Up3F97mjCH9HCj1pX4J8VJ * refactor(pii): ship both engines in one image — engine is a pure env flip Collapse the gliner build target into the single pii image: spaCy lg models, torch (CPU), gliner, and the baked GLiNER weights all ship in it, so PII_ENGINE switches engines with no image swap and no tag matrix. CI reverts to the single pii build (no -gliner tags). The GPU variant becomes the same Dockerfile built with --build-arg TORCH_INDEX_URL=.../cu128. Image grows ~6.1GB -> ~9.6GB. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01Up3F97mjCH9HCj1pX4J8VJ --------- Co-authored-by: Claude Fable 5 --- .gitignore | 4 + apps/pii/engines.py | 267 +++++++++++++++++++++++++ apps/pii/requirements-dev.txt | 5 + apps/pii/requirements-gliner.txt | 10 + apps/pii/scripts/bench_engines.py | 206 +++++++++++++++++++ apps/pii/scripts/bench_payload.json | 97 +++++++++ apps/pii/server.py | 146 +++----------- apps/pii/tests/conftest.py | 5 + apps/pii/tests/test_engines.py | 105 ++++++++++ apps/pii/tests/test_integration.py | 102 ++++++++++ docker/pii.Dockerfile | 60 +++++- helm/sim/templates/deployment-pii.yaml | 10 +- helm/sim/tests/pii_test.yaml | 59 ++++++ helm/sim/values.schema.json | 9 + helm/sim/values.yaml | 12 ++ 15 files changed, 972 insertions(+), 125 deletions(-) create mode 100644 apps/pii/engines.py create mode 100644 apps/pii/requirements-dev.txt create mode 100644 apps/pii/requirements-gliner.txt create mode 100644 apps/pii/scripts/bench_engines.py create mode 100644 apps/pii/scripts/bench_payload.json create mode 100644 apps/pii/tests/conftest.py create mode 100644 apps/pii/tests/test_engines.py create mode 100644 apps/pii/tests/test_integration.py diff --git a/.gitignore b/.gitignore index a700a66602a..a8a0d8e2fde 100644 --- a/.gitignore +++ b/.gitignore @@ -96,3 +96,7 @@ i18n.cache # Personal Cursor Skills .cursor/skills/ask-sim/ + +# Python (apps/pii tests/tooling) +__pycache__/ +.pytest_cache/ diff --git a/apps/pii/engines.py b/apps/pii/engines.py new file mode 100644 index 00000000000..c8edf982ff1 --- /dev/null +++ b/apps/pii/engines.py @@ -0,0 +1,267 @@ +"""Analyzer engine builders for the PII service. + +Two NER engines share one recognizer surface: + +- spacy (default): the 5 large spaCy models do NER (PERSON/LOCATION/NRP/ + DATE_TIME) and tokenization. +- gliner (opt-in): one multilingual GLiNER model does NER on CPU or GPU; + small spaCy models remain only for tokenization + lemmas. + +Both engines register the identical regex/checksum recognizer set (Presidio +defaults, EXTRA_RECOGNIZERS, VIN) — only the source of the 4 NER entity types +differs. Side-effect free: importing this module loads no models. +""" + +import importlib.util + +import spacy.util +from presidio_analyzer import AnalyzerEngine, Pattern, PatternRecognizer +from presidio_analyzer.nlp_engine import NlpEngineProvider +from presidio_analyzer.predefined_recognizers import ( + AuAbnRecognizer, + AuAcnRecognizer, + AuMedicareRecognizer, + AuTfnRecognizer, + EsNieRecognizer, + EsNifRecognizer, + FiPersonalIdentityCodeRecognizer, + GLiNERRecognizer, + InAadhaarRecognizer, + InPanRecognizer, + InPassportRecognizer, + InVehicleRegistrationRecognizer, + InVoterRecognizer, + ItDriverLicenseRecognizer, + ItFiscalCodeRecognizer, + ItIdentityCardRecognizer, + ItPassportRecognizer, + ItVatCodeRecognizer, + PlPeselRecognizer, + SgFinRecognizer, + SgUenRecognizer, + UkNinoRecognizer, +) + +# Languages served. Each needs its spaCy model installed in the image; the +# es/it/pl/fi predefined recognizers (ES_NIF, IT_FISCAL_CODE, PL_PESEL, ...) +# auto-load once their NLP engine is present. +NLP_CONFIGURATION = { + "nlp_engine_name": "spacy", + "models": [ + {"lang_code": "en", "model_name": "en_core_web_lg"}, + {"lang_code": "es", "model_name": "es_core_news_lg"}, + {"lang_code": "it", "model_name": "it_core_news_lg"}, + {"lang_code": "pl", "model_name": "pl_core_news_lg"}, + {"lang_code": "fi", "model_name": "fi_core_news_lg"}, + ], +} +SUPPORTED_LANGUAGES = [m["lang_code"] for m in NLP_CONFIGURATION["models"]] + +# The gliner engine still needs a spaCy pipeline per language: the regex +# recognizers consume NlpArtifacts and the LemmaContextAwareEnhancer boosts +# scores from surrounding lemmas. The small models (~12-40MB each vs ~400MB +# large) keep tokenization + lemmas intact while GLiNER owns NER. Blank +# pipelines ("blank:xx") are not an option: Presidio's SpacyNlpEngine treats +# unknown model names as pip packages and tries to download them. +# labels_to_ignore strips the small models' NER output from NlpArtifacts — +# correctness comes from removing SpacyRecognizer in build_gliner_analyzer; +# this only silences unmapped-label noise. +GLINER_NLP_CONFIGURATION = { + "nlp_engine_name": "spacy", + "models": [ + {"lang_code": "en", "model_name": "en_core_web_sm"}, + {"lang_code": "es", "model_name": "es_core_news_sm"}, + {"lang_code": "it", "model_name": "it_core_news_sm"}, + {"lang_code": "pl", "model_name": "pl_core_news_sm"}, + {"lang_code": "fi", "model_name": "fi_core_news_sm"}, + ], + "ner_model_configuration": { + "labels_to_ignore": [ + "CARDINAL", "DATE", "EVENT", "FAC", "GPE", "LANGUAGE", "LAW", + "LOC", "MISC", "MONEY", "NORP", "ORDINAL", "ORG", "PER", + "PERCENT", "PERSON", "PRODUCT", "QUANTITY", "TIME", "WORK_OF_ART", + ], + }, +} + +# Zero-shot label prompts -> the 4 Presidio NER entities GLiNER owns. Multiple +# prompts per entity trade a little inference cost for recall; tune against +# scripts/bench_engines.py output. +GLINER_ENTITY_MAPPING = { + "person": "PERSON", + "name": "PERSON", + "location": "LOCATION", + "address": "LOCATION", + "date": "DATE_TIME", + "time": "DATE_TIME", + "nationality": "NRP", + "religious group": "NRP", + "political group": "NRP", + "ethnic group": "NRP", +} + +# Predefined recognizers Presidio ships but does NOT load into the default +# registry — they must be added explicitly. Each carries its own +# supported_language, so it fires under that language once its NLP model is +# loaded. en: UK/AU/IN/SG locale ids; es/it/pl/fi: national ids. +EXTRA_RECOGNIZERS = [ + UkNinoRecognizer, + AuAbnRecognizer, + AuAcnRecognizer, + AuTfnRecognizer, + AuMedicareRecognizer, + InPanRecognizer, + InAadhaarRecognizer, + InVehicleRegistrationRecognizer, + InVoterRecognizer, + InPassportRecognizer, + SgFinRecognizer, + SgUenRecognizer, + EsNifRecognizer, + EsNieRecognizer, + ItFiscalCodeRecognizer, + ItDriverLicenseRecognizer, + ItVatCodeRecognizer, + ItPassportRecognizer, + ItIdentityCardRecognizer, + PlPeselRecognizer, + FiPersonalIdentityCodeRecognizer, +] + + +class VinRecognizer(PatternRecognizer): + """VIN (17 chars, A-Z/0-9 excluding I/O/Q) with ISO 3779 check-digit + validation (position 9). Validation makes accidental matches on arbitrary + 17-char codes (request ids, SKUs, tokens) extremely unlikely. Some + non-North-American VINs omit the check digit and are skipped — an + intentional bias toward precision. + """ + + _TRANSLIT = { + **{str(d): d for d in range(10)}, + "A": 1, "B": 2, "C": 3, "D": 4, "E": 5, "F": 6, "G": 7, "H": 8, + "J": 1, "K": 2, "L": 3, "M": 4, "N": 5, "P": 7, "R": 9, + "S": 2, "T": 3, "U": 4, "V": 5, "W": 6, "X": 7, "Y": 8, "Z": 9, + } + _WEIGHTS = [8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2] + + def validate_result(self, pattern_text: str): + vin = pattern_text.upper() + if len(vin) != 17: + return False + try: + total = sum(self._TRANSLIT[c] * w for c, w in zip(vin, self._WEIGHTS)) + except KeyError: + return False + check = total % 11 + expected = "X" if check == 10 else str(check) + return vin[8] == expected + + +class SharedModelGLiNERRecognizer(GLiNERRecognizer): + """Per-language GLiNER recognizer sharing ONE loaded model. + + Presidio routes recognizers by supported_language, so the registry holds + one instance per served language — but each instance's load() would pull + its own ~1.2GB model copy. The first instance loads (an ImportError from + a missing gliner package propagates — fail fast in the lean image); the + rest reuse the cached model. + """ + + _shared_models: dict = {} + + def load(self) -> None: + key = (self.model_name, self.map_location) + cached = self._shared_models.get(key) + if cached is None: + super().load() + self._shared_models[key] = self.gliner + else: + self.gliner = cached + + def analyze(self, text, entities, nlp_artifacts=None): + """GLiNERRecognizer appends any requested entity it doesn't know as an + ad-hoc zero-shot label and returns its hits. The analyzer passes ALL + supported entities (~40) when a request doesn't narrow them, which + would prompt GLiNER for CREDIT_CARD/VIN/ES_NIF/... — wrong scope, and + inference cost scales with label count. Restrict to the NER entities + this recognizer owns.""" + requested = [e for e in (entities or self.supported_entities) if e in self.supported_entities] + if not requested: + return [] + return super().analyze(text, requested, nlp_artifacts) + + +def _register_common_recognizers(analyzer: AnalyzerEngine) -> None: + """Regex/checksum recognizers shared by both engines.""" + # VIN is language-agnostic, so register it under every served language — + # a recognizer only fires for the language the caller routes to. + vin_pattern = Pattern(name="vin", regex=r"\b[A-HJ-NPR-Z0-9]{17}\b", score=0.7) + for language in SUPPORTED_LANGUAGES: + analyzer.registry.add_recognizer( + VinRecognizer( + supported_entity="VIN", + patterns=[vin_pattern], + context=["vin", "vehicle", "chassis"], + supported_language=language, + ) + ) + for recognizer_cls in EXTRA_RECOGNIZERS: + analyzer.registry.add_recognizer(recognizer_cls()) + + +def build_spacy_analyzer() -> AnalyzerEngine: + nlp_engine = NlpEngineProvider(nlp_configuration=NLP_CONFIGURATION).create_engine() + analyzer = AnalyzerEngine(nlp_engine=nlp_engine, supported_languages=SUPPORTED_LANGUAGES) + _register_common_recognizers(analyzer) + return analyzer + + +def build_gliner_analyzer(model_name: str, device: str | None) -> AnalyzerEngine: + """GLiNER engine: one multilingual zero-shot model replaces spaCy NER for + PERSON/LOCATION/NRP/DATE_TIME; everything else is unchanged. + + :param model_name: HuggingFace id of the GLiNER model. + :param device: torch device ("cpu", "cuda", "cuda:0"); None auto-detects + via Presidio's device_detector (cuda when available, else cpu). + """ + # Fail fast with an actionable message when gliner deps are missing (e.g. + # a custom-built image without them). Without these checks Presidio would + # try to pip-download the missing spaCy models at startup (a silent + # network fallback that dies with an unrelated pip permission error), and + # the gliner ImportError would surface only later. + if importlib.util.find_spec("gliner") is None: + raise RuntimeError( + "PII_ENGINE=gliner but the gliner package is not installed; " + "use the stock pii image (docker/pii.Dockerfile ships torch + gliner)" + ) + missing = [ + m["model_name"] + for m in GLINER_NLP_CONFIGURATION["models"] + if not spacy.util.is_package(m["model_name"]) + ] + if missing: + raise RuntimeError( + f"PII_ENGINE=gliner needs spaCy models {missing}; " + "use the stock pii image (docker/pii.Dockerfile ships them)" + ) + nlp_engine = NlpEngineProvider(nlp_configuration=GLINER_NLP_CONFIGURATION).create_engine() + analyzer = AnalyzerEngine(nlp_engine=nlp_engine, supported_languages=SUPPORTED_LANGUAGES) + # The default registry wires SpacyRecognizer per language; with GLiNER + # owning the NER entities it would emit duplicate/competing spans from the + # small models' ner pipe. remove_recognizer only logs when nothing matched, + # so assert the removal actually happened. + analyzer.registry.remove_recognizer("SpacyRecognizer") + if any(r.name == "SpacyRecognizer" for r in analyzer.registry.recognizers): + raise RuntimeError("SpacyRecognizer removal failed; Presidio registry layout changed") + for language in SUPPORTED_LANGUAGES: + analyzer.registry.add_recognizer( + SharedModelGLiNERRecognizer( + entity_mapping=GLINER_ENTITY_MAPPING, + model_name=model_name, + map_location=device, + supported_language=language, + ) + ) + _register_common_recognizers(analyzer) + return analyzer diff --git a/apps/pii/requirements-dev.txt b/apps/pii/requirements-dev.txt new file mode 100644 index 00000000000..4c330d999ae --- /dev/null +++ b/apps/pii/requirements-dev.txt @@ -0,0 +1,5 @@ +# Test-only deps. Unit tests need requirements.txt + this file (no models); +# integration tests additionally need the models baked into the docker images +# (see tests/test_integration.py). +pytest==8.4.1 +httpx==0.28.1 diff --git a/apps/pii/requirements-gliner.txt b/apps/pii/requirements-gliner.txt new file mode 100644 index 00000000000..d620c5f1825 --- /dev/null +++ b/apps/pii/requirements-gliner.txt @@ -0,0 +1,10 @@ +# Extras for the opt-in GLiNER engine — installed ONLY in the `gliner` +# Dockerfile target, on top of requirements.txt. Pinned for reproducible image +# builds; bump deliberately. presidio-analyzer 2.2.362 requires +# gliner >=0.2.13,<1.0.0. +# +# torch is pinned in the Dockerfile instead: the CPU and CUDA targets install +# the same version from different wheel indexes. +gliner==0.2.27 +transformers==4.56.2 +huggingface_hub==0.35.3 diff --git a/apps/pii/scripts/bench_engines.py b/apps/pii/scripts/bench_engines.py new file mode 100644 index 00000000000..b7ea70ca764 --- /dev/null +++ b/apps/pii/scripts/bench_engines.py @@ -0,0 +1,206 @@ +"""Benchmark + parity harness for the spacy vs gliner NER engines. + +Runs the same payload through both engines and reports per-engine throughput +(batch analyze, the production /redact_batch path) and per-text latency, plus +an accuracy diff over the 4 NER entity types (PERSON/LOCATION/NRP/DATE_TIME). +Non-NER (regex/checksum) results must be identical between engines — both +register the same recognizers — so any mismatch there is a wiring bug and the +script exits non-zero. + +Meant to run inside the pii image (both engines ship in it): + + docker run --rm python scripts/bench_engines.py + docker run --rm -v $PWD/texts.json:/data.json \\ + python scripts/bench_engines.py --payload /data.json + +Payload format: JSON list of {"text": str, "language": str} objects. +This doubles as the tuning harness for GLINER_ENTITY_MAPPING label prompts. +""" + +import argparse +import json +import statistics +import sys +import time +from collections import defaultdict +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) + +import engines # noqa: E402 + +# Entities sourced from the NER models rather than regex/checksum patterns. +# ORGANIZATION is emitted by the spacy engine's NER on unfiltered requests but +# is not in the app's supported set and has no GLiNER mapping — it shows up in +# the NER diff (spacy-only) rather than failing the regex-parity gate. +NER_ENTITIES = {"PERSON", "LOCATION", "NRP", "DATE_TIME", "ORGANIZATION"} +DEFAULT_PAYLOAD = Path(__file__).resolve().parent / "bench_payload.json" + + +def parse_args(): + parser = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + parser.add_argument("--payload", type=Path, default=DEFAULT_PAYLOAD) + parser.add_argument("--engines", default="spacy,gliner") + parser.add_argument("--runs", type=int, default=3) + parser.add_argument("--warmup", type=int, default=1) + parser.add_argument("--device", default=None, help="torch device for gliner (default: auto)") + parser.add_argument("--gliner-model", default="urchade/gliner_multi_pii-v1") + parser.add_argument("--max-examples", type=int, default=10) + parser.add_argument("--json", action="store_true", help="emit machine-readable JSON") + return parser.parse_args() + + +def build(engine: str, args) -> tuple: + started = time.perf_counter() + if engine == "spacy": + analyzer = engines.build_spacy_analyzer() + elif engine == "gliner": + analyzer = engines.build_gliner_analyzer(model_name=args.gliner_model, device=args.device) + else: + raise ValueError(f"Unknown engine {engine!r}") + return analyzer, time.perf_counter() - started + + +def analyze_all(analyzer, items) -> list[list]: + """One analyze() call per text, in payload order.""" + return [analyzer.analyze(text=item["text"], language=item["language"]) for item in items] + + +def bench(analyzer, items, runs: int, warmup: int) -> dict: + for _ in range(warmup): + analyze_all(analyzer, items) + run_times = [] + latencies = [] + for _ in range(runs): + run_started = time.perf_counter() + for item in items: + text_started = time.perf_counter() + analyzer.analyze(text=item["text"], language=item["language"]) + latencies.append(time.perf_counter() - text_started) + run_times.append(time.perf_counter() - run_started) + total_chars = sum(len(item["text"]) for item in items) + avg_run = statistics.mean(run_times) + return { + "texts_per_sec": len(items) / avg_run, + "chars_per_sec": total_chars / avg_run, + "latency_p50_ms": statistics.median(latencies) * 1000, + "latency_p95_ms": statistics.quantiles(latencies, n=20)[18] * 1000, + } + + +def spans(results, keep_ner: bool) -> set: + return { + (r.entity_type, r.start, r.end) + for r in results + if (r.entity_type in NER_ENTITIES) == keep_ner + } + + +def iou(a: tuple, b: tuple) -> float: + inter = max(0, min(a[2], b[2]) - max(a[1], b[1])) + union = max(a[2], b[2]) - min(a[1], b[1]) + return inter / union if union else 0.0 + + +def diff_ner(items, results_a, results_b, max_examples: int) -> dict: + """Per-entity-type agreement between two engines (span IoU >= 0.5).""" + per_type = defaultdict(lambda: {"a_total": 0, "b_total": 0, "matched": 0}) + examples = [] + for item, res_a, res_b in zip(items, results_a, results_b): + a = sorted(spans(res_a, keep_ner=True)) + b = sorted(spans(res_b, keep_ner=True)) + unmatched_b = set(b) + for span_a in a: + per_type[span_a[0]]["a_total"] += 1 + match = next( + (s for s in unmatched_b if s[0] == span_a[0] and iou(span_a, s) >= 0.5), None + ) + if match: + per_type[span_a[0]]["matched"] += 1 + unmatched_b.discard(match) + for span_b in b: + per_type[span_b[0]]["b_total"] += 1 + only_a = [s for s in a if not any(s[0] == t[0] and iou(s, t) >= 0.5 for t in b)] + only_b = sorted(unmatched_b) + if (only_a or only_b) and len(examples) < max_examples: + examples.append( + { + "text": item["text"], + "language": item["language"], + "only_a": [f"{t}[{s}:{e}]={item['text'][s:e]!r}" for t, s, e in only_a], + "only_b": [f"{t}[{s}:{e}]={item['text'][s:e]!r}" for t, s, e in only_b], + } + ) + return {"per_type": dict(per_type), "examples": examples} + + +def diff_regex(items, results_a, results_b) -> list: + """Non-NER results must be identical: same recognizers on both engines.""" + mismatches = [] + for item, res_a, res_b in zip(items, results_a, results_b): + a = spans(res_a, keep_ner=False) + b = spans(res_b, keep_ner=False) + if a != b: + mismatches.append({"text": item["text"], "only_a": sorted(a - b), "only_b": sorted(b - a)}) + return mismatches + + +def main() -> int: + args = parse_args() + items = json.loads(args.payload.read_text()) + engine_names = [e.strip() for e in args.engines.split(",") if e.strip()] + + report = {"payload": str(args.payload), "texts": len(items), "engines": {}} + results_by_engine = {} + for name in engine_names: + analyzer, build_secs = build(name, args) + stats = bench(analyzer, items, runs=args.runs, warmup=args.warmup) + stats["build_secs"] = build_secs + report["engines"][name] = stats + results_by_engine[name] = analyze_all(analyzer, items) + + exit_code = 0 + if set(engine_names) >= {"spacy", "gliner"}: + report["ner_diff"] = diff_ner( + items, results_by_engine["spacy"], results_by_engine["gliner"], args.max_examples + ) + regex_mismatches = diff_regex( + items, results_by_engine["spacy"], results_by_engine["gliner"] + ) + report["regex_mismatches"] = regex_mismatches + if regex_mismatches: + exit_code = 1 + + if args.json: + print(json.dumps(report, indent=2, default=str)) + return exit_code + + for name, stats in report["engines"].items(): + print(f"\n== {name} ==") + print(f" build: {stats['build_secs']:.1f}s") + print(f" throughput: {stats['texts_per_sec']:.2f} texts/s ({stats['chars_per_sec']:.0f} chars/s)") + print(f" latency: p50 {stats['latency_p50_ms']:.1f}ms p95 {stats['latency_p95_ms']:.1f}ms") + if "ner_diff" in report: + print("\n== NER parity (spacy=a vs gliner=b, span IoU>=0.5) ==") + for entity, counts in sorted(report["ner_diff"]["per_type"].items()): + print( + f" {entity:<10} spacy={counts['a_total']:<4} gliner={counts['b_total']:<4} " + f"matched={counts['matched']}" + ) + for example in report["ner_diff"]["examples"]: + print(f"\n [{example['language']}] {example['text']}") + if example["only_a"]: + print(f" spacy only: {', '.join(example['only_a'])}") + if example["only_b"]: + print(f" gliner only: {', '.join(example['only_b'])}") + if report["regex_mismatches"]: + print("\n!! REGEX MISMATCHES (wiring bug — engines must agree on non-NER):") + for mismatch in report["regex_mismatches"]: + print(f" {mismatch}") + else: + print("\n regex/checksum entities: identical across engines ✓") + return exit_code + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/apps/pii/scripts/bench_payload.json b/apps/pii/scripts/bench_payload.json new file mode 100644 index 00000000000..fd0f207164d --- /dev/null +++ b/apps/pii/scripts/bench_payload.json @@ -0,0 +1,97 @@ +[ + { "text": "My name is John Smith and I live in Paris with my wife Marie.", "language": "en" }, + { + "text": "Dr. Angela Rodriguez will see you on March 14, 2026 at 3:30 PM in the Boston clinic.", + "language": "en" + }, + { + "text": "Contact Sarah O'Connor at sarah.oconnor@example.com or call (212) 555-0123.", + "language": "en" + }, + { "text": "The package ships to 45 Queen Street, Toronto, next Tuesday.", "language": "en" }, + { + "text": "Ahmed is a practicing Muslim from Egypt who moved to Berlin in 2019.", + "language": "en" + }, + { "text": "She is a Catholic Norwegian citizen born on 12/05/1988.", "language": "en" }, + { + "text": "Payment with card 4111111111111111 was declined yesterday at 10am.", + "language": "en" + }, + { + "text": "The vehicle VIN 1HGCM82633A004352 was registered to James Wilson in Ohio.", + "language": "en" + }, + { + "text": "His National Insurance number is AB123456C and he lives in Manchester.", + "language": "en" + }, + { + "text": "Meeting rescheduled: Friday, 9 January 2026, 14:00, with Priya Natarajan from Mumbai.", + "language": "en" + }, + { "text": "Send the invoice to accounts@acme.io before the end of Q1 2026.", "language": "en" }, + { + "text": "Klaus, a German engineer, and his Buddhist colleague Mei flew from Munich to Osaka.", + "language": "en" + }, + { + "text": "The Democrats and Republicans debated in Washington on election night.", + "language": "en" + }, + { + "text": "No PII here: the quarterly revenue grew 14% and margins held steady.", + "language": "en" + }, + { + "text": "Server request id a7f3k2m9x1q8w5z2b is not a VIN and not a person.", + "language": "en" + }, + { + "text": "Me llamo María García y vivo en Madrid desde el 3 de mayo de 2020.", + "language": "es" + }, + { "text": "Mi NIF es 12345678Z y mi correo es maria.garcia@ejemplo.es.", "language": "es" }, + { + "text": "El señor Javier Morales, ciudadano mexicano, llegó a Barcelona el lunes.", + "language": "es" + }, + { "text": "La reunión con Carmen será el 15 de junio de 2026 en Sevilla.", "language": "es" }, + { + "text": "Los musulmanes y los católicos convivieron durante siglos en Córdoba.", + "language": "es" + }, + { "text": "Mi chiamo Marco Rossi e abito a Roma vicino al Colosseo.", "language": "it" }, + { + "text": "Il codice fiscale di Maria Rossi è RSSMRA85T10A562S, nata il 10 dicembre 1985.", + "language": "it" + }, + { + "text": "Giulia Bianchi, cittadina italiana, si trasferì a Milano nel gennaio 2021.", + "language": "it" + }, + { + "text": "L'appuntamento con il dottor Ferrari è fissato per il 20 marzo 2026 a Torino.", + "language": "it" + }, + { "text": "Nazywam się Jan Kowalski i mieszkam w Warszawie od 2015 roku.", "language": "pl" }, + { + "text": "Mój numer PESEL to 44051401359, urodziłem się 14 maja 1944 w Krakowie.", + "language": "pl" + }, + { + "text": "Anna Nowak, obywatelka polska, spotka się z nami we wtorek 12 maja 2026.", + "language": "pl" + }, + { "text": "Katolicy i protestanci wspólnie świętowali w Gdańsku.", "language": "pl" }, + { + "text": "Nimeni on Matti Virtanen ja asun Helsingissä Töölön kaupunginosassa.", + "language": "fi" + }, + { + "text": "Henkilötunnukseni on 131052-308T ja synnyin Tampereella lokakuussa 1952.", + "language": "fi" + }, + { "text": "Liisa Korhonen muutti Ouluun maanantaina 5. tammikuuta 2026.", "language": "fi" }, + { "text": "Suomalaiset ja ruotsalaiset kilpailevat jääkiekossa joka vuosi.", "language": "fi" } +] diff --git a/apps/pii/server.py b/apps/pii/server.py index e2f7ad706d3..3f59cc540aa 100644 --- a/apps/pii/server.py +++ b/apps/pii/server.py @@ -3,148 +3,52 @@ Constructs one warm AnalyzerEngine (multi-language NLP + a native check-digit VIN recognizer) and one AnonymizerEngine at startup, exposing stock-compatible endpoints so a single PRESIDIO_URL serves both. + +NER engine selection (see engines.py): +- PII_ENGINE=spacy (default): the 5 large spaCy models, unchanged behavior. +- PII_ENGINE=gliner: one multilingual GLiNER model for PERSON/LOCATION/NRP/ + DATE_TIME. The stock image ships both engines, so this is a pure env flip. + PII_DEVICE picks cpu/cuda (unset = auto-detect), PII_GLINER_MODEL overrides + the model id. The same code runs on CPU and GPU. Each uvicorn worker + (PII_WORKERS) loads its own GLiNER model copy — into GPU memory when on + cuda — so GPU deployments generally want PII_WORKERS=1 per GPU, unlike the + CPU/spacy path where workers scale with vCPUs. """ import logging +import os import time from typing import Any +from engines import build_gliner_analyzer, build_spacy_analyzer from fastapi import FastAPI -from presidio_analyzer import ( - AnalyzerEngine, - BatchAnalyzerEngine, - Pattern, - PatternRecognizer, - RecognizerResult, -) -from presidio_analyzer.nlp_engine import NlpEngineProvider -from presidio_analyzer.predefined_recognizers import ( - AuAbnRecognizer, - AuAcnRecognizer, - AuMedicareRecognizer, - AuTfnRecognizer, - EsNieRecognizer, - EsNifRecognizer, - FiPersonalIdentityCodeRecognizer, - InAadhaarRecognizer, - InPanRecognizer, - InPassportRecognizer, - InVehicleRegistrationRecognizer, - InVoterRecognizer, - ItDriverLicenseRecognizer, - ItFiscalCodeRecognizer, - ItIdentityCardRecognizer, - ItPassportRecognizer, - ItVatCodeRecognizer, - PlPeselRecognizer, - SgFinRecognizer, - SgUenRecognizer, - UkNinoRecognizer, -) +from presidio_analyzer import AnalyzerEngine, BatchAnalyzerEngine, RecognizerResult from presidio_anonymizer import AnonymizerEngine from presidio_anonymizer.entities import OperatorConfig from pydantic import BaseModel -# Languages served. Each needs its spaCy model installed in the image; the -# es/it/pl/fi predefined recognizers (ES_NIF, IT_FISCAL_CODE, PL_PESEL, ...) -# auto-load once their NLP engine is present. -NLP_CONFIGURATION = { - "nlp_engine_name": "spacy", - "models": [ - {"lang_code": "en", "model_name": "en_core_web_lg"}, - {"lang_code": "es", "model_name": "es_core_news_lg"}, - {"lang_code": "it", "model_name": "it_core_news_lg"}, - {"lang_code": "pl", "model_name": "pl_core_news_lg"}, - {"lang_code": "fi", "model_name": "fi_core_news_lg"}, - ], -} -SUPPORTED_LANGUAGES = [m["lang_code"] for m in NLP_CONFIGURATION["models"]] - -# Predefined recognizers Presidio ships but does NOT load into the default -# registry — they must be added explicitly. Each carries its own -# supported_language, so it fires under that language once its NLP model is -# loaded. en: UK/AU/IN/SG locale ids; es/it/pl/fi: national ids. -EXTRA_RECOGNIZERS = [ - UkNinoRecognizer, - AuAbnRecognizer, - AuAcnRecognizer, - AuTfnRecognizer, - AuMedicareRecognizer, - InPanRecognizer, - InAadhaarRecognizer, - InVehicleRegistrationRecognizer, - InVoterRecognizer, - InPassportRecognizer, - SgFinRecognizer, - SgUenRecognizer, - EsNifRecognizer, - EsNieRecognizer, - ItFiscalCodeRecognizer, - ItDriverLicenseRecognizer, - ItVatCodeRecognizer, - ItPassportRecognizer, - ItIdentityCardRecognizer, - PlPeselRecognizer, - FiPersonalIdentityCodeRecognizer, -] - - -class VinRecognizer(PatternRecognizer): - """VIN (17 chars, A-Z/0-9 excluding I/O/Q) with ISO 3779 check-digit - validation (position 9). Validation makes accidental matches on arbitrary - 17-char codes (request ids, SKUs, tokens) extremely unlikely. Some - non-North-American VINs omit the check digit and are skipped — an - intentional bias toward precision. - """ - - _TRANSLIT = { - **{str(d): d for d in range(10)}, - "A": 1, "B": 2, "C": 3, "D": 4, "E": 5, "F": 6, "G": 7, "H": 8, - "J": 1, "K": 2, "L": 3, "M": 4, "N": 5, "P": 7, "R": 9, - "S": 2, "T": 3, "U": 4, "V": 5, "W": 6, "X": 7, "Y": 8, "Z": 9, - } - _WEIGHTS = [8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2] +PII_ENGINE = os.environ.get("PII_ENGINE", "spacy") +if PII_ENGINE not in ("spacy", "gliner"): + raise ValueError(f"Invalid PII_ENGINE={PII_ENGINE!r}; expected 'spacy' or 'gliner'") +# Empty/unset -> None -> auto-detect (cuda when torch sees a GPU, else cpu). +PII_DEVICE = os.environ.get("PII_DEVICE") or None +PII_GLINER_MODEL = os.environ.get("PII_GLINER_MODEL", "urchade/gliner_multi_pii-v1") - def validate_result(self, pattern_text: str): - vin = pattern_text.upper() - if len(vin) != 17: - return False - try: - total = sum(self._TRANSLIT[c] * w for c, w in zip(vin, self._WEIGHTS)) - except KeyError: - return False - check = total % 11 - expected = "X" if check == 10 else str(check) - return vin[8] == expected +# Propagates to uvicorn's root handler, so timing lands in the container log stream. +logger = logging.getLogger("sim.pii") def build_analyzer() -> AnalyzerEngine: - nlp_engine = NlpEngineProvider(nlp_configuration=NLP_CONFIGURATION).create_engine() - analyzer = AnalyzerEngine(nlp_engine=nlp_engine, supported_languages=SUPPORTED_LANGUAGES) - # VIN is language-agnostic, so register it under every served language — - # a recognizer only fires for the language the caller routes to. - vin_pattern = Pattern(name="vin", regex=r"\b[A-HJ-NPR-Z0-9]{17}\b", score=0.7) - for language in SUPPORTED_LANGUAGES: - analyzer.registry.add_recognizer( - VinRecognizer( - supported_entity="VIN", - patterns=[vin_pattern], - context=["vin", "vehicle", "chassis"], - supported_language=language, - ) - ) - for recognizer_cls in EXTRA_RECOGNIZERS: - analyzer.registry.add_recognizer(recognizer_cls()) - return analyzer + if PII_ENGINE == "gliner": + return build_gliner_analyzer(model_name=PII_GLINER_MODEL, device=PII_DEVICE) + return build_spacy_analyzer() +logger.info("building analyzer engine=%s device=%s", PII_ENGINE, PII_DEVICE or "auto") analyzer = build_analyzer() batch_analyzer = BatchAnalyzerEngine(analyzer_engine=analyzer) anonymizer = AnonymizerEngine() -# Propagates to uvicorn's root handler, so timing lands in the container log stream. -logger = logging.getLogger("sim.pii") - app = FastAPI(title="Sim Presidio", docs_url=None, redoc_url=None) diff --git a/apps/pii/tests/conftest.py b/apps/pii/tests/conftest.py new file mode 100644 index 00000000000..c9787a309d9 --- /dev/null +++ b/apps/pii/tests/conftest.py @@ -0,0 +1,5 @@ +import sys +from pathlib import Path + +# server.py / engines.py live one level up (repo: apps/pii, image: /app). +sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) diff --git a/apps/pii/tests/test_engines.py b/apps/pii/tests/test_engines.py new file mode 100644 index 00000000000..1e6c1b8840c --- /dev/null +++ b/apps/pii/tests/test_engines.py @@ -0,0 +1,105 @@ +"""Unit tests for engines.py — no models, no downloads, no network. + +Run: pip install -r requirements.txt -r requirements-dev.txt && python -m pytest tests +""" + +import importlib.util +import os +import subprocess +import sys +from pathlib import Path + +import pytest +from presidio_analyzer.predefined_recognizers.ner import gliner_recognizer + +import engines + +PII_DIR = Path(__file__).resolve().parent.parent + + +class FakeModel: + def __init__(self): + self.seen_labels: list[list[str]] = [] + + def predict_entities(self, text, labels, flat_ner=True, threshold=0.3, multi_label=False): + self.seen_labels.append(list(labels)) + return [{"label": "person", "score": 0.92, "start": 0, "end": 4, "text": text[0:4]}] + + +class FakeGLiNER: + calls = 0 + + @classmethod + def from_pretrained(cls, model_name, **kwargs): + cls.calls += 1 + return FakeModel() + + +@pytest.fixture +def fake_gliner(monkeypatch): + monkeypatch.setattr(gliner_recognizer, "GLiNER", FakeGLiNER) + engines.SharedModelGLiNERRecognizer._shared_models.clear() + FakeGLiNER.calls = 0 + yield FakeGLiNER + engines.SharedModelGLiNERRecognizer._shared_models.clear() + + +def make_recognizer(language: str): + return engines.SharedModelGLiNERRecognizer( + entity_mapping=engines.GLINER_ENTITY_MAPPING, + model_name="fake/model", + map_location="cpu", + supported_language=language, + ) + + +def test_invalid_pii_engine_fails_import(): + result = subprocess.run( + [sys.executable, "-c", "import server"], + cwd=PII_DIR, + env={**os.environ, "PII_ENGINE": "bogus"}, + capture_output=True, + text=True, + ) + assert result.returncode != 0 + assert "Invalid PII_ENGINE" in result.stderr + + +@pytest.mark.skipif( + importlib.util.find_spec("gliner") is not None, + reason="fail-fast path only exists when gliner is not installed", +) +def test_build_gliner_analyzer_fails_fast_without_gliner(): + with pytest.raises(RuntimeError, match="gliner package is not installed"): + engines.build_gliner_analyzer(model_name="fake/model", device="cpu") + + +def test_shared_model_loads_once_across_languages(fake_gliner): + first = make_recognizer("en") + second = make_recognizer("es") + assert fake_gliner.calls == 1 + assert first.gliner is second.gliner + + +def test_analyze_never_prompts_gliner_with_foreign_entities(fake_gliner): + recognizer = make_recognizer("en") + all_supported = ["PERSON", "LOCATION", "NRP", "DATE_TIME", "CREDIT_CARD", "VIN", "ES_NIF"] + results = recognizer.analyze("John went home", entities=all_supported) + for labels in recognizer.gliner.seen_labels: + assert set(labels) <= set(engines.GLINER_ENTITY_MAPPING) + assert results and results[0].entity_type == "PERSON" + + +def test_analyze_skips_inference_when_no_owned_entity_requested(fake_gliner): + recognizer = make_recognizer("en") + assert recognizer.analyze("4111111111111111", entities=["CREDIT_CARD"]) == [] + assert recognizer.gliner.seen_labels == [] + + +def test_entity_mapping_targets_exactly_the_ner_entities(): + assert set(engines.GLINER_ENTITY_MAPPING.values()) == { + "PERSON", + "LOCATION", + "NRP", + "DATE_TIME", + } diff --git a/apps/pii/tests/test_integration.py b/apps/pii/tests/test_integration.py new file mode 100644 index 00000000000..40c97975754 --- /dev/null +++ b/apps/pii/tests/test_integration.py @@ -0,0 +1,102 @@ +"""Integration tests — exercise the real engines end-to-end via the FastAPI app. + +Requires the models present, so run inside the built images (gated behind +RUN_PII_INTEGRATION to keep plain `pytest` runs model-free): + + # spacy regression (default engine) + docker run --rm -e RUN_PII_INTEGRATION=1 python -m pytest tests + + # gliner engine + docker run --rm -e RUN_PII_INTEGRATION=1 -e PII_ENGINE=gliner \ + python -m pytest tests/test_integration.py + +The suite adapts to PII_ENGINE: shared assertions always run, engine-specific +ones only for the active engine. +""" + +import os + +import pytest + +if not os.environ.get("RUN_PII_INTEGRATION"): + pytest.skip( + "integration tests need the built image (RUN_PII_INTEGRATION=1)", + allow_module_level=True, + ) + +from fastapi.testclient import TestClient + +import server + +ENGINE = server.PII_ENGINE +client = TestClient(server.app) + + +def redact_batch(texts, language="en"): + response = client.post("/redact_batch", json={"texts": texts, "language": language}) + assert response.status_code == 200 + return response.json()["texts"] + + +def test_health(): + assert client.get("/health").json() == {"status": "ok"} + + +def test_masks_person_and_email(): + [masked] = redact_batch(["My name is John Smith, email john.smith@example.com."]) + assert "" in masked + assert "" in masked + assert "John Smith" not in masked + assert "john.smith@example.com" not in masked + + +def test_masks_location_and_phone(): + [masked] = redact_batch(["I live in Paris, call me at (212) 555-0123."]) + assert "" in masked + assert "" in masked + assert "Paris" not in masked + + +def test_regex_recognizers_fire_in_non_english_languages(): + [masked] = redact_batch(["Mi NIF es 12345678Z."], language="es") + assert "" in masked + # On the spacy engine the it_core_news_lg NER tags the fiscal code as + # ORGANIZATION and outscores the pattern recognizer, so only assert the + # value is masked; the exact label is checked on the gliner engine where + # spaCy NER can't compete. + [masked] = redact_batch(["Il codice fiscale è RSSMRA85T10A562S."], language="it") + assert "RSSMRA85T10A562S" not in masked + if ENGINE == "gliner": + assert "" in masked + + +def test_vin_checksum_recognizer_fires(): + [masked] = redact_batch(["The car VIN is 1HGCM82633A004352."]) + assert "" in masked + + +def test_no_pii_passes_through_unchanged(): + # NB: "Quarterly" would be tagged DATE_TIME by the spacy engine — keep + # this text free of anything either engine considers an entity. + text = "Revenue grew and margins held steady." + assert redact_batch([text]) == [text] + + +@pytest.mark.skipif(ENGINE != "gliner", reason="gliner-only wiring assertions") +def test_gliner_registry_has_no_spacy_recognizer(): + names = {r.name for r in server.analyzer.registry.recognizers} + assert "SpacyRecognizer" not in names + assert "GLiNERRecognizer" in names + + +@pytest.mark.skipif(ENGINE != "gliner", reason="gliner-only wiring assertions") +def test_gliner_supported_entities_keep_ner_types(): + supported = set(server.analyzer.get_supported_entities("en")) + assert {"PERSON", "LOCATION", "NRP", "DATE_TIME"} <= supported + + +@pytest.mark.skipif(ENGINE != "spacy", reason="spacy-only wiring assertions") +def test_spacy_registry_unchanged(): + names = {r.name for r in server.analyzer.registry.recognizers} + assert "SpacyRecognizer" in names + assert "GLiNERRecognizer" not in names diff --git a/docker/pii.Dockerfile b/docker/pii.Dockerfile index 29cb5185ea4..5d0fedb542c 100644 --- a/docker/pii.Dockerfile +++ b/docker/pii.Dockerfile @@ -1,5 +1,17 @@ # ======================================== # Combined Presidio service (analyzer + anonymizer) on a single port (5001) +# +# ONE image serves both NER engines — the engine is a pure runtime choice via +# PII_ENGINE (spacy default | gliner). spaCy large models, torch (CPU), the +# gliner package, and the baked GLiNER weights all ship in it, so flipping +# engines never requires an image swap. +# +# GPU variant (EC2-GPU fleet follow-up): same Dockerfile, CUDA torch wheels — +# docker build --build-arg TORCH_INDEX_URL=https://download.pytorch.org/whl/cu128 ... +# (torch CUDA wheels bundle their own CUDA libs; the host only needs the +# nvidia container runtime.) +# +# Source files are COPY'd last so code edits never re-download deps or models. # ======================================== FROM python:3.12-slim-bookworm AS base @@ -31,11 +43,55 @@ RUN --mount=type=cache,target=/root/.cache/pip \ pip install /tmp/*.whl && \ rm /tmp/*.whl -COPY apps/pii/server.py ./server.py +# --- GLiNER engine deps ------------------------------------------------------- +# torch is pinned here (not requirements-gliner.txt) because the CPU and CUDA +# builds install the same version from different wheel indexes. 2.11.0 is the +# newest release published on both the cpu and cu128 indexes for py312. +ARG TORCH_VERSION=2.11.0 +ARG TORCH_INDEX_URL=https://download.pytorch.org/whl/cpu +RUN --mount=type=cache,target=/root/.cache/pip \ + pip install torch==${TORCH_VERSION} --index-url ${TORCH_INDEX_URL} + +COPY apps/pii/requirements-gliner.txt ./requirements-gliner.txt +RUN --mount=type=cache,target=/root/.cache/pip \ + pip install -r requirements-gliner.txt + +# Small spaCy models (~60MB total) give the gliner engine tokenization + +# lemmas for the regex recognizers; GLiNER does the NER (see engines.py). +ARG SPACY_SM_MODELS="en_core_web_sm-3.8.0 es_core_news_sm-3.8.0 it_core_news_sm-3.8.0 pl_core_news_sm-3.8.0 fi_core_news_sm-3.8.0" +RUN --mount=type=cache,target=/root/.cache/pip \ + for model in ${SPACY_SM_MODELS}; do \ + whl="${model}-py3-none-any.whl"; \ + curl -fL --retry 5 --retry-delay 5 --retry-all-errors -C - \ + -o "/tmp/${whl}" \ + "https://github.com/explosion/spacy-models/releases/download/${model}/${whl}" || exit 1; \ + done && \ + pip install /tmp/*.whl && \ + rm /tmp/*.whl + +# Bake the GLiNER weights at build time (cached layer) so startup never +# touches the network. HF_HUB_OFFLINE makes a missing/overridden +# PII_GLINER_MODEL fail fast at startup instead of silently downloading. +ENV HF_HOME=/opt/hf-cache +ARG GLINER_MODEL=urchade/gliner_multi_pii-v1 +RUN python -c "from gliner import GLiNER; GLiNER.from_pretrained('${GLINER_MODEL}')" && \ + chmod -R a+rX /opt/hf-cache +ENV HF_HUB_OFFLINE=1 + +# pytest/httpx for the in-image test suites (tests/) — baked in because the +# runtime user has no writable HOME for pip install --user. +COPY apps/pii/requirements-dev.txt ./requirements-dev.txt +RUN --mount=type=cache,target=/root/.cache/pip \ + pip install -r requirements-dev.txt RUN groupadd -g 1001 pii && \ useradd -u 1001 -g pii pii && \ chown -R pii:pii /app + +COPY --chown=pii:pii apps/pii/server.py apps/pii/engines.py ./ +COPY --chown=pii:pii apps/pii/scripts ./scripts +COPY --chown=pii:pii apps/pii/tests ./tests + USER pii # Listen on 5001. Runs as its own ECS service (separate task), reached via PII_URL; @@ -54,4 +110,6 @@ HEALTHCHECK --interval=30s --timeout=5s --start-period=300s --retries=3 \ # `sh -c exec` expands the env var while keeping uvicorn as PID 1 for clean SIGTERM. # Quote the expansion so a malformed PII_WORKERS fails uvicorn arg-parsing rather # than being interpreted by the shell. +# NB for the gliner engine: EACH worker loads its own GLiNER model copy (into GPU +# memory when on cuda), so GPU deployments generally want PII_WORKERS=1 per GPU. CMD ["sh", "-c", "exec uvicorn server:app --host 0.0.0.0 --port 5001 --workers \"${PII_WORKERS:-1}\""] diff --git a/helm/sim/templates/deployment-pii.yaml b/helm/sim/templates/deployment-pii.yaml index e6c7dc206f0..2dd4b8b22c6 100644 --- a/helm/sim/templates/deployment-pii.yaml +++ b/helm/sim/templates/deployment-pii.yaml @@ -44,16 +44,20 @@ spec: - name: http containerPort: {{ .Values.pii.service.targetPort }} protocol: TCP - {{- if or .Values.pii.env .Values.extraEnvVars }} env: - {{- range $key, $value := .Values.pii.env }} + - name: PII_ENGINE + value: {{ .Values.pii.engine | quote }} + {{- if .Values.pii.device }} + - name: PII_DEVICE + value: {{ .Values.pii.device | quote }} + {{- end }} + {{- range $key, $value := omit (.Values.pii.env | default dict) "PII_ENGINE" "PII_DEVICE" }} - name: {{ $key }} value: {{ $value | quote }} {{- end }} {{- with .Values.extraEnvVars }} {{- toYaml . | nindent 12 }} {{- end }} - {{- end }} {{- if .Values.pii.startupProbe }} startupProbe: {{- toYaml .Values.pii.startupProbe | nindent 12 }} diff --git a/helm/sim/tests/pii_test.yaml b/helm/sim/tests/pii_test.yaml index 9d89b625ac5..3a416237207 100644 --- a/helm/sim/tests/pii_test.yaml +++ b/helm/sim/tests/pii_test.yaml @@ -31,6 +31,65 @@ tests: path: spec.template.spec.containers[0].ports[0].containerPort value: 5001 + - it: pii pod defaults to the spacy engine + template: deployment-pii.yaml + set: + pii.enabled: true + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: PII_ENGINE + value: "spacy" + - notContains: + path: spec.template.spec.containers[0].env + content: + name: PII_DEVICE + value: "cpu" + + - it: pii.engine and pii.device render through to the container env + template: deployment-pii.yaml + set: + pii.enabled: true + pii.engine: gliner + pii.device: cuda + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: PII_ENGINE + value: "gliner" + - contains: + path: spec.template.spec.containers[0].env + content: + name: PII_DEVICE + value: "cuda" + + - it: user-set pii.env cannot override the chart-owned engine keys + template: deployment-pii.yaml + set: + pii.enabled: true + pii.env: + PII_ENGINE: evil + PII_DEVICE: evil + PII_GLINER_MODEL: acme/custom-model + asserts: + - notContains: + path: spec.template.spec.containers[0].env + content: + name: PII_ENGINE + value: "evil" + - notContains: + path: spec.template.spec.containers[0].env + content: + name: PII_DEVICE + value: "evil" + - contains: + path: spec.template.spec.containers[0].env + content: + name: PII_GLINER_MODEL + value: "acme/custom-model" + - it: app pod gets chart-computed PII_URL pointing at the in-cluster service template: deployment-app.yaml set: diff --git a/helm/sim/values.schema.json b/helm/sim/values.schema.json index e20ec2026f2..37f518542b2 100644 --- a/helm/sim/values.schema.json +++ b/helm/sim/values.schema.json @@ -711,6 +711,15 @@ "type": "boolean", "description": "Enable the Presidio PII redaction service" }, + "engine": { + "type": "string", + "enum": ["spacy", "gliner"], + "description": "NER engine (spacy default, gliner opt-in; both ship in the image)" + }, + "device": { + "type": "string", + "description": "Torch device for the gliner engine (cpu, cuda, cuda:N); empty auto-detects" + }, "replicaCount": { "type": "integer", "minimum": 1, diff --git a/helm/sim/values.yaml b/helm/sim/values.yaml index f089cbb638a..a12713a5bec 100644 --- a/helm/sim/values.yaml +++ b/helm/sim/values.yaml @@ -822,6 +822,18 @@ pii: digest: "" # sha256: pin overrides tag pullPolicy: IfNotPresent + # NER engine: "spacy" (default) or "gliner" (opt-in zero-shot transformer NER + # for PERSON/LOCATION/NRP/DATE_TIME; regex/checksum recognizers are identical + # on both engines). The image ships both engines, so this is a pure env flip + # — no image change needed. Note: gliner on CPU is orders of magnitude slower + # than spacy; it is intended for GPU nodes. + engine: "spacy" + + # Torch device for the gliner engine: "cpu", "cuda", or "cuda:N". Empty + # auto-detects (cuda when a GPU is visible, else cpu). GPU resource requests + # (nvidia.com/gpu) are not wired yet — GPU scheduling is an infra follow-up. + device: "" + # Number of replicas replicaCount: 1 From 8c61720d3305d37962045a0344644039025ad22c Mon Sep 17 00:00:00 2001 From: Theodore Li Date: Wed, 8 Jul 2026 10:11:45 -0700 Subject: [PATCH 02/27] chore(tables): remove tables-fractional-ordering feature flag (#5503) * chore(tables): remove tables-fractional-ordering feature flag * improvement(tables): drop dead position tracking from paste undo path * improvement(tables): drop dead position from create-row undo records --- .../sim/app/api/table/[tableId]/rows/route.ts | 1 - .../components/table-grid/table-grid.tsx | 18 +- apps/sim/hooks/queries/tables.ts | 3 +- apps/sim/hooks/use-table-undo.ts | 7 +- apps/sim/lib/api/contracts/tables.ts | 9 +- .../copilot/tools/server/table/user-table.ts | 15 - apps/sim/lib/core/config/env.ts | 3 +- .../sim/lib/core/config/feature-flags.test.ts | 8 +- apps/sim/lib/core/config/feature-flags.ts | 4 - .../lib/table/__tests__/update-row.test.ts | 74 +---- apps/sim/lib/table/rows/ordering.ts | 303 ++++-------------- apps/sim/lib/table/rows/service.ts | 44 +-- apps/sim/lib/table/types.ts | 8 +- apps/sim/stores/table/types.ts | 2 - packages/db/schema.ts | 6 +- .../0001_backfill_table_order_keys.ts | 2 +- packages/testing/src/mocks/database.mock.ts | 14 +- packages/testing/src/mocks/env-flags.mock.ts | 1 - 18 files changed, 114 insertions(+), 408 deletions(-) diff --git a/apps/sim/app/api/table/[tableId]/rows/route.ts b/apps/sim/app/api/table/[tableId]/rows/route.ts index ca239534696..e200220ea11 100644 --- a/apps/sim/app/api/table/[tableId]/rows/route.ts +++ b/apps/sim/app/api/table/[tableId]/rows/route.ts @@ -74,7 +74,6 @@ async function handleBatchInsert( rows, workspaceId: validated.workspaceId, userId, - positions: validated.positions, orderKeys: validated.orderKeys, }, table, diff --git a/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table-grid/table-grid.tsx b/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table-grid/table-grid.tsx index 2fcbb8a0d1d..330df1c2d2d 100644 --- a/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table-grid/table-grid.tsx +++ b/apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table-grid/table-grid.tsx @@ -1017,14 +1017,13 @@ export function TableGrid({ const anchorId = contextMenu.row.id // Fractional ordering: express intent by neighbor id, not integer position. const intent = offset === 0 ? { beforeRowId: anchorId } : { afterRowId: anchorId } - const position = contextMenu.row.position + offset createRef.current( { data: {}, ...intent }, { onSuccess: (response: Record) => { const newRowId = extractCreatedRowId(response) if (newRowId) { - pushUndoRef.current({ type: 'create-row', rowId: newRowId, position }) + pushUndoRef.current({ type: 'create-row', rowId: newRowId }) } }, } @@ -1096,7 +1095,6 @@ export function TableGrid({ const contextRow = contextMenu.row if (!contextRow) return const rowData = { ...contextRow.data } - const position = contextRow.position + 1 const sourceArrayIndex = rowsRef.current.findIndex((r) => r.id === contextRow.id) closeContextMenu() createRef.current( @@ -1108,7 +1106,6 @@ export function TableGrid({ pushUndoRef.current({ type: 'create-row', rowId: newRowId, - position, data: rowData, }) } @@ -1143,11 +1140,9 @@ export function TableGrid({ onSuccess: (response: Record) => { const newRowId = extractCreatedRowId(response) if (newRowId) { - const maxPosition = rowsRef.current.reduce((max, r) => Math.max(max, r.position), -1) pushUndoRef.current({ type: 'create-row', rowId: newRowId, - position: maxPosition + 1, }) } }, @@ -2187,7 +2182,7 @@ export function TableGrid({ onSuccess: (response: Record) => { const newRowId = extractCreatedRowId(response) if (newRowId) { - pushUndoRef.current({ type: 'create-row', rowId: newRowId, position }) + pushUndoRef.current({ type: 'create-row', rowId: newRowId }) } setSelectionAnchor({ rowIndex: anchor.rowIndex + 1, colIndex }) setSelectionFocus(null) @@ -2725,14 +2720,10 @@ export function TableGrid({ const currentCols = columnsRef.current const currentRows = rowsRef.current - // Captured once before the loop so each new row in the batch gets a unique, - // sequential position via `+ (newRowIndex - currentRows.length)` below. - const lastRowPosition = currentRows.reduce((max, r) => Math.max(max, r.position), -1) const undoCells: Array<{ rowId: string; data: Record }> = [] const updateBatch: Array<{ rowId: string; data: Record }> = [] const createBatchRows: Array> = [] - const createBatchPositions: number[] = [] for (let r = 0; r < pasteRows.length; r++) { const targetArrayIndex = currentAnchor.rowIndex + r @@ -2764,7 +2755,6 @@ export function TableGrid({ updateBatch.push({ rowId: existingRow.id, data: rowData }) } else { createBatchRows.push(rowData) - createBatchPositions.push(lastRowPosition + 1 + (targetArrayIndex - currentRows.length)) } } @@ -2782,20 +2772,18 @@ export function TableGrid({ if (createBatchRows.length > 0) { batchCreateRef.current( - { rows: createBatchRows, positions: createBatchPositions }, + { rows: createBatchRows }, { onSuccess: (response) => { const createdRows = response?.data?.rows ?? [] const undoRows: Array<{ rowId: string - position: number data: Record }> = [] for (let i = 0; i < createdRows.length; i++) { if (createdRows[i]?.id) { undoRows.push({ rowId: createdRows[i].id, - position: createBatchPositions[i], data: createBatchRows[i], }) } diff --git a/apps/sim/hooks/queries/tables.ts b/apps/sim/hooks/queries/tables.ts index a33f2e240c9..7510875ebbf 100644 --- a/apps/sim/hooks/queries/tables.ts +++ b/apps/sim/hooks/queries/tables.ts @@ -817,7 +817,7 @@ type BatchCreateTableRowsParams = Omit /** - * Batch create rows in a table. Supports optional per-row positions for undo restore. + * Batch create rows in a table. Supports optional per-row order keys for undo restore. */ export function useBatchCreateTableRows({ workspaceId, tableId }: RowMutationContext) { const queryClient = useQueryClient() @@ -832,7 +832,6 @@ export function useBatchCreateTableRows({ workspaceId, tableId }: RowMutationCon body: { workspaceId, rows: variables.rows as RowData[], - positions: variables.positions, orderKeys: variables.orderKeys, }, }) diff --git a/apps/sim/hooks/use-table-undo.ts b/apps/sim/hooks/use-table-undo.ts index 4014043c71e..dd403c4c27c 100644 --- a/apps/sim/hooks/use-table-undo.ts +++ b/apps/sim/hooks/use-table-undo.ts @@ -136,12 +136,11 @@ export function useTableUndo({ deleteRowMutation.mutate(action.rowId) } else { // Redo via the batch path so the saved orderKey restores exact placement. - // The single-insert API has no orderKey field, and under the fractional-ordering - // flag its `position` is read as a rank — a gappy saved position misplaces. + // The single-insert API has no orderKey field, and order_key is authoritative — + // a gappy saved position would misplace the row. batchCreateRowsMutation.mutate( { rows: [action.data ?? {}], - positions: [action.position], orderKeys: action.orderKey ? [action.orderKey] : undefined, }, { @@ -169,7 +168,6 @@ export function useTableUndo({ batchCreateRowsMutation.mutate( { rows: action.rows.map((r) => r.data), - positions: action.rows.map((r) => r.position), orderKeys: action.rows.every((r) => r.orderKey) ? action.rows.map((r) => r.orderKey as string) : undefined, @@ -194,7 +192,6 @@ export function useTableUndo({ batchCreateRowsMutation.mutate( { rows: action.rows.map((row) => row.data), - positions: action.rows.map((row) => row.position), orderKeys: action.rows.every((row) => row.orderKey) ? action.rows.map((row) => row.orderKey as string) : undefined, diff --git a/apps/sim/lib/api/contracts/tables.ts b/apps/sim/lib/api/contracts/tables.ts index d657619f710..c357cc585e8 100644 --- a/apps/sim/lib/api/contracts/tables.ts +++ b/apps/sim/lib/api/contracts/tables.ts @@ -199,16 +199,9 @@ export const batchInsertTableRowsBodySchema = z TABLE_LIMITS.MAX_BATCH_INSERT_SIZE, `Cannot insert more than ${TABLE_LIMITS.MAX_BATCH_INSERT_SIZE} rows per batch` ), - positions: z.array(z.number().int().min(0)).max(TABLE_LIMITS.MAX_BATCH_INSERT_SIZE).optional(), - /** Fractional ordering: exact per-row order keys (undo restore). Takes precedence over `positions`. */ + /** Fractional ordering: exact per-row order keys (undo restore). */ orderKeys: z.array(z.string().min(1)).max(TABLE_LIMITS.MAX_BATCH_INSERT_SIZE).optional(), }) - .refine((data) => !data.positions || data.positions.length === data.rows.length, { - message: 'positions array length must match rows array length', - }) - .refine((data) => !data.positions || new Set(data.positions).size === data.positions.length, { - message: 'positions must not contain duplicates', - }) .refine((data) => !data.orderKeys || data.orderKeys.length === data.rows.length, { message: 'orderKeys array length must match rows array length', }) diff --git a/apps/sim/lib/copilot/tools/server/table/user-table.ts b/apps/sim/lib/copilot/tools/server/table/user-table.ts index ef1a8fed1b2..9e24963856a 100644 --- a/apps/sim/lib/copilot/tools/server/table/user-table.ts +++ b/apps/sim/lib/copilot/tools/server/table/user-table.ts @@ -506,20 +506,6 @@ export const userTableServerTool: BaseServerTool return { success: false, message: 'Workspace ID is required' } } - const positions = args.positions as number[] | undefined - if (positions !== undefined && positions.length !== args.rows.length) { - return { - success: false, - message: `positions length (${positions.length}) must match rows length (${args.rows.length})`, - } - } - if (positions !== undefined && new Set(positions).size !== positions.length) { - return { - success: false, - message: 'positions must not contain duplicate values', - } - } - const table = await getTableById(args.tableId) if (!table || table.workspaceId !== workspaceId) { return { success: false, message: `Table not found: ${args.tableId}` } @@ -535,7 +521,6 @@ export const userTableServerTool: BaseServerTool rows: args.rows.map((r: RowData) => rowDataNameToId(r, idByName)), workspaceId, userId: context.userId, - positions, }, table, requestId diff --git a/apps/sim/lib/core/config/env.ts b/apps/sim/lib/core/config/env.ts index 1d992f2b03c..d7903b9a380 100644 --- a/apps/sim/lib/core/config/env.ts +++ b/apps/sim/lib/core/config/env.ts @@ -79,8 +79,7 @@ export const env = createEnv({ ENTERPRISE_TIER_COST_LIMIT: z.number().optional(), // Cost limit for enterprise tier users ENTERPRISE_STORAGE_LIMIT_GB: z.number().optional().default(500), // Default storage limit in GB for enterprise tier (can be overridden per org) BILLING_ENABLED: z.boolean().optional(), // Enable billing enforcement and usage tracking - FREE_API_DEPLOYMENT_GATE_ENABLED: z.boolean().optional(), // Block free-plan accounts from programmatic execution (API/MCP/generic webhooks/chat embeds). Requires BILLING_ENABLED. Off by default for dark rollout - TABLES_FRACTIONAL_ORDERING: z.boolean().optional(), // Order table rows by fractional order_key (O(1) insert/delete) instead of integer position + FREE_API_DEPLOYMENT_GATE_ENABLED: z.boolean().optional(), // Block free-plan accounts from programmatic execution (API/MCP/A2A/generic webhooks/chat embeds). Requires BILLING_ENABLED. Off by default for dark rollout TABLE_SNAPSHOT_CACHE: z.boolean().optional(), // Mount tables into sandboxes by reference via a version-keyed CSV snapshot in object storage instead of draining the whole table into web-process heap PII_REDACTION: z.boolean().optional(), // Redact PII from workflow logs via configurable Data Retention rules (Presidio at the logger persist choke point) and expose the Data Retention config UI PII_GRANULAR_REDACTION: z.boolean().optional(), // Expose the execution-altering PII redaction stages (redact workflow input + block outputs in-flight) in the Data Retention config; layered on top of PII_REDACTION diff --git a/apps/sim/lib/core/config/feature-flags.test.ts b/apps/sim/lib/core/config/feature-flags.test.ts index d9a251d472f..8c9b95a7556 100644 --- a/apps/sim/lib/core/config/feature-flags.test.ts +++ b/apps/sim/lib/core/config/feature-flags.test.ts @@ -46,9 +46,9 @@ function withAppConfig(doc: unknown) { } /** - * `isFeatureEnabled` only accepts registered `FeatureFlagName`s. The registry is - * empty in this PR, so tests reference flags through the AppConfig document and - * cast their throwaway names through this helper. + * `isFeatureEnabled` only accepts registered `FeatureFlagName`s. These tests + * exercise the evaluation logic with throwaway flag names supplied through the + * AppConfig document, cast to `FeatureFlagName` through this helper. */ const enabled = (flag: string, ctx?: FeatureFlagContext) => isFeatureEnabled(flag as FeatureFlagName, ctx) @@ -62,7 +62,6 @@ describe('getFeatureFlags', () => { it('derives flags from fallback secrets when AppConfig is disabled, without fetching', async () => { const flags = await getFeatureFlags() // All registered flags should be present, disabled (env vars unset in test env) - expect(flags['tables-fractional-ordering']).toEqual({ enabled: false }) expect(flags['mothership-beta']).toEqual({ enabled: false }) expect(flags['pii-redaction']).toEqual({ enabled: false }) expect(flags['pii-granular-redaction']).toEqual({ enabled: false }) @@ -91,7 +90,6 @@ describe('getFeatureFlags', () => { flagRef.isAppConfigEnabled = true mockFetch.mockResolvedValue(null) const flags = await getFeatureFlags() - expect(flags['tables-fractional-ordering']).toEqual({ enabled: false }) expect(flags['mothership-beta']).toEqual({ enabled: false }) expect(flags['pii-redaction']).toEqual({ enabled: false }) expect(flags['pii-granular-redaction']).toEqual({ enabled: false }) diff --git a/apps/sim/lib/core/config/feature-flags.ts b/apps/sim/lib/core/config/feature-flags.ts index 1f345632c6b..8a44624ba78 100644 --- a/apps/sim/lib/core/config/feature-flags.ts +++ b/apps/sim/lib/core/config/feature-flags.ts @@ -62,10 +62,6 @@ interface FeatureFlagDefinition { /** The single registry of known flags. To add a flag, add one entry here. */ const FEATURE_FLAGS = { - 'tables-fractional-ordering': { - description: 'Order table rows by fractional order_key instead of legacy integer position', - fallback: 'TABLES_FRACTIONAL_ORDERING', - }, 'mothership-beta': { description: 'Mothership beta plan/changelog artifact surfaces in the copilot VFS and doc compiler. ' + diff --git a/apps/sim/lib/table/__tests__/update-row.test.ts b/apps/sim/lib/table/__tests__/update-row.test.ts index b1135cd8d1b..bc5209d40f1 100644 --- a/apps/sim/lib/table/__tests__/update-row.test.ts +++ b/apps/sim/lib/table/__tests__/update-row.test.ts @@ -26,12 +26,6 @@ vi.mock('@/lib/table/billing', () => ({ TableRowLimitError: class TableRowLimitError extends Error {}, })) -// These suites assert flag-off position-shift semantics; pin the flag so they're -// deterministic regardless of a local TABLES_FRACTIONAL_ORDERING env value. -vi.mock('@/lib/core/config/feature-flags', () => ({ - isFeatureEnabled: vi.fn().mockResolvedValue(false), -})) - vi.mock('@/lib/table/validation', () => ({ validateRowSize: vi.fn(() => ({ valid: true, errors: [] })), validateRowAgainstSchema: vi.fn(() => ({ valid: true, errors: [] })), @@ -187,29 +181,17 @@ describe('insertRow — position race safety (migration 0198 + advisory lock)', expect(findExecutedSqlContaining('hashtextextended')).toBe(true) }) - it('explicit-position inserts also acquire the advisory lock to serialize position shifts', async () => { - dbChainMockFns.limit.mockResolvedValueOnce([]) - dbChainMockFns.returning.mockResolvedValueOnce([ - { - id: 'row-1', - tableId: 'tbl-1', - workspaceId: 'ws-1', - data: { name: 'a' }, - position: 5, - createdAt: new Date(), - updatedAt: new Date(), - }, - ]) - - await insertRow( - { tableId: 'tbl-1', data: { name: 'a' }, workspaceId: 'ws-1', position: 5 }, - TABLE, - 'req-1' - ) + it('explicit-position inserts also acquire the advisory lock to serialize order-key minting', async () => { + await expect( + insertRow( + { tableId: 'tbl-1', data: { name: 'a' }, workspaceId: 'ws-1', position: 5 }, + TABLE, + 'req-1' + ) + ).rejects.toBeDefined() - // `(table_id, position)` index is non-unique, so concurrent explicit-position - // inserts at the same slot could both skip the shift and duplicate — lock - // serializes them. + // A position-based insert resolves its order_key from the neighbor at that + // rank; the lock serializes concurrent minting at the same slot. expect(findExecutedSqlContaining('pg_advisory_xact_lock')).toBe(true) }) @@ -225,42 +207,6 @@ describe('insertRow — position race safety (migration 0198 + advisory lock)', expect(findExecutedSqlContaining('pg_advisory_xact_lock')).toBe(true) }) - it('batchInsertRows with explicit positions acquires the advisory lock', async () => { - dbChainMockFns.returning.mockResolvedValueOnce([ - { - id: 'row-1', - tableId: 'tbl-1', - workspaceId: 'ws-1', - data: { name: 'a' }, - position: 3, - createdAt: new Date(), - updatedAt: new Date(), - }, - { - id: 'row-2', - tableId: 'tbl-1', - workspaceId: 'ws-1', - data: { name: 'b' }, - position: 4, - createdAt: new Date(), - updatedAt: new Date(), - }, - ]) - - await batchInsertRows( - { - tableId: 'tbl-1', - rows: [{ name: 'a' }, { name: 'b' }], - workspaceId: 'ws-1', - positions: [3, 4], - }, - TABLE, - 'req-1' - ) - - expect(findExecutedSqlContaining('pg_advisory_xact_lock')).toBe(true) - }) - it('upsertRow skips the advisory lock on the update path (match found)', async () => { vi.mocked(getUniqueColumns).mockReturnValue([{ name: 'name', type: 'string', unique: true }]) dbChainMockFns.limit.mockResolvedValueOnce([ diff --git a/apps/sim/lib/table/rows/ordering.ts b/apps/sim/lib/table/rows/ordering.ts index 7646f8c0a1d..368c9959d9e 100644 --- a/apps/sim/lib/table/rows/ordering.ts +++ b/apps/sim/lib/table/rows/ordering.ts @@ -8,8 +8,7 @@ import { db } from '@sim/db' import { userTableRows } from '@sim/db/schema' -import { and, asc, desc, eq, gt, gte, inArray, lt, lte, type SQL, sql } from 'drizzle-orm' -import { isFeatureEnabled } from '@/lib/core/config/feature-flags' +import { and, asc, desc, eq, gt, inArray, lt, lte, type SQL, sql } from 'drizzle-orm' import type { DbOrTx } from '@/lib/db/types' import { TABLE_LIMITS } from '@/lib/table/constants' import { keyBetween, nKeysBetween } from '@/lib/table/order-key' @@ -75,116 +74,15 @@ export async function maxOrderKey(executor: DbOrTx, tableId: string): Promise { - await acquireRowOrderLock(trx, tableId) - if (requestedPosition === undefined) { - return nextRowPosition(trx, tableId) - } - const [existing] = await trx - .select({ id: userTableRows.id }) - .from(userTableRows) - .where(and(eq(userTableRows.tableId, tableId), eq(userTableRows.position, requestedPosition))) - .limit(1) - if (existing) { - await shiftRowsUpFrom(trx, tableId, requestedPosition) - } - return requestedPosition -} - -/** - * Reserves positions for a batch of `count` rows. Opens each requested slot - * (ascending, preserving prior gaps) and returns the requested positions in - * original order; otherwise returns a contiguous append range. - */ -export async function reserveBatchPositions( - trx: DbTransaction, - tableId: string, - count: number, - requestedPositions?: number[] -): Promise { - await acquireRowOrderLock(trx, tableId) - if (requestedPositions && requestedPositions.length > 0) { - for (const pos of [...requestedPositions].sort((a, b) => a - b)) { - await shiftRowsUpFrom(trx, tableId, pos) - } - return requestedPositions - } - const start = await nextRowPosition(trx, tableId) - return Array.from({ length: count }, (_, i) => start + i) -} - -/** - * Recompacts row positions to be contiguous after a bulk delete. With - * `minDeletedPos`, only rows at/after it are re-numbered; single-row deletes use - * the cheaper {@link shiftRowsDownAfter}. - */ -export async function compactPositions( - trx: DbTransaction, - tableId: string, - minDeletedPos?: number -) { - if (minDeletedPos === undefined) { - await trx.execute(sql` - UPDATE user_table_rows t - SET position = r.new_pos - FROM ( - SELECT id, ROW_NUMBER() OVER (ORDER BY position) - 1 AS new_pos - FROM user_table_rows - WHERE table_id = ${tableId} - ) r - WHERE t.id = r.id AND t.table_id = ${tableId} AND t.position != r.new_pos - `) - return - } - await trx.execute(sql` - UPDATE user_table_rows t - SET position = r.new_pos - FROM ( - SELECT id, ${minDeletedPos}::int + ROW_NUMBER() OVER (ORDER BY position) - 1 AS new_pos - FROM user_table_rows - WHERE table_id = ${tableId} AND position >= ${minDeletedPos} - ) r - WHERE t.id = r.id AND t.table_id = ${tableId} AND t.position != r.new_pos - `) -} - /** * Computes the fractional `order_key` for a row inserted at the integer * `requestedPosition` (or appended when omitted). Used by position-based callers * (mothership tool, v1 API, undo position-fallback, transient old clients). * - * The neighbor at slot `s` is resolved differently per flag state: - * - **off**: `WHERE position = s` (positions are contiguous, so the row at - * position `s` is the `s`-th row — an indexed O(1) lookup). - * - **on**: the `s`-th row in `order_key, id` order (`OFFSET s`) — positions are - * gappy and non-authoritative, so `position = s` would miss; the visual - * ordinal is the key's ordinal. O(s), acceptable for these low-volume callers. + * The neighbor at slot `s` is the `s`-th row in `order_key, id` order (`OFFSET + * s`) — positions are gappy and non-authoritative, so `position = s` would miss; + * the visual ordinal is the key's ordinal. O(s), acceptable for these low-volume + * callers. * * Caller holds the row-order lock. */ @@ -193,24 +91,15 @@ export async function resolveInsertOrderKey( tableId: string, requestedPosition?: number ): Promise { - const fractionalOrdering = await isFeatureEnabled('tables-fractional-ordering') const orderKeyAtSlot = async (slot: number): Promise => { if (slot < 0) return null - if (fractionalOrdering) { - const [r] = await trx - .select({ orderKey: userTableRows.orderKey }) - .from(userTableRows) - .where(eq(userTableRows.tableId, tableId)) - .orderBy(asc(userTableRows.orderKey), asc(userTableRows.id)) - .limit(1) - .offset(slot) - return r?.orderKey ?? null - } const [r] = await trx .select({ orderKey: userTableRows.orderKey }) .from(userTableRows) - .where(and(eq(userTableRows.tableId, tableId), eq(userTableRows.position, slot))) + .where(eq(userTableRows.tableId, tableId)) + .orderBy(asc(userTableRows.orderKey), asc(userTableRows.id)) .limit(1) + .offset(slot) return r?.orderKey ?? null } if (requestedPosition === undefined) { @@ -225,19 +114,17 @@ export async function resolveInsertOrderKey( * Resolves the `order_key` for an insert expressed by an anchor row id — * `afterRowId` (place directly after) or `beforeRowId` (directly before). Finds * the anchor and its adjacent key via the `(table_id, order_key, id)` index - * (O(1)) and mints a key between them. Also returns a legacy integer `position` - * (anchor's position ±) so the flag-off shift path still works. Caller holds the - * row-order lock. + * (O(1)) and mints a key between them. Caller holds the row-order lock. */ export async function resolveInsertByNeighbor( trx: DbTransaction, tableId: string, afterRowId?: string, beforeRowId?: string -): Promise<{ orderKey: string; position: number }> { +): Promise { const anchorId = afterRowId ?? beforeRowId! const [anchor] = await trx - .select({ orderKey: userTableRows.orderKey, position: userTableRows.position }) + .select({ orderKey: userTableRows.orderKey }) .from(userTableRows) .where(and(eq(userTableRows.tableId, tableId), eq(userTableRows.id, anchorId))) .limit(1) @@ -245,12 +132,10 @@ export async function resolveInsertByNeighbor( // stale view) is an error, not a silent insert at the front. if (!anchor) throw new Error(`Row not found: ${anchorId}`) const anchorKey = anchor.orderKey ?? null - // A null key on the anchor means the table isn't backfilled. With the flag on - // (key is authoritative) the adjacent-key lookup below can't work — fail - // loudly rather than mint a wrong key. Flag off keeps `position` authoritative, - // so a best-effort key here is fine (the backfill re-keys before the flip). - const fractionalOrdering = await isFeatureEnabled('tables-fractional-ordering') - if (anchorKey === null && fractionalOrdering) { + // A null key on the anchor means the table isn't backfilled. order_key is + // authoritative, so the adjacent-key lookup below can't work — fail loudly + // rather than mint a wrong key. + if (anchorKey === null) { throw new Error(`Row ${anchorId} has no order_key yet (table not backfilled)`) } @@ -259,82 +144,45 @@ export async function resolveInsertByNeighbor( // (not the `(order_key, id)` row tuple) skips past any sibling that shares the // anchor's key, so `keyBetween` always gets strictly-ordered bounds and can't // throw on a stray duplicate. Identical to the row tuple when keys are distinct. - // A null anchorKey (flag off, un-backfilled) has no key to compare — leave the - // upper bound open, matching the prior best-effort behavior. - let nextKey: string | null = null - if (anchorKey !== null) { - const [next] = await trx - .select({ orderKey: userTableRows.orderKey }) - .from(userTableRows) - .where(and(eq(userTableRows.tableId, tableId), gt(userTableRows.orderKey, anchorKey))) - .orderBy(asc(userTableRows.orderKey)) - .limit(1) - nextKey = next?.orderKey ?? null - } - return { - orderKey: keyBetween(anchorKey, nextKey), - position: anchor.position + 1, - } - } - - // beforeRowId: lo = the largest key strictly LESS than the anchor key (distinct, - // same rationale as the afterRowId branch above). - let prevKey: string | null = null - if (anchorKey !== null) { - const [prev] = await trx + const [next] = await trx .select({ orderKey: userTableRows.orderKey }) .from(userTableRows) - .where(and(eq(userTableRows.tableId, tableId), lt(userTableRows.orderKey, anchorKey))) - .orderBy(desc(userTableRows.orderKey)) + .where(and(eq(userTableRows.tableId, tableId), gt(userTableRows.orderKey, anchorKey))) + .orderBy(asc(userTableRows.orderKey)) .limit(1) - prevKey = prev?.orderKey ?? null - } - return { - orderKey: keyBetween(prevKey, anchorKey), - position: anchor.position, + return keyBetween(anchorKey, next?.orderKey ?? null) } + + // beforeRowId: lo = the largest key strictly LESS than the anchor key (distinct, + // same rationale as the afterRowId branch above). + const [prev] = await trx + .select({ orderKey: userTableRows.orderKey }) + .from(userTableRows) + .where(and(eq(userTableRows.tableId, tableId), lt(userTableRows.orderKey, anchorKey))) + .orderBy(desc(userTableRows.orderKey)) + .limit(1) + return keyBetween(prev?.orderKey ?? null, anchorKey) } /** - * Computes fractional `order_key`s for a batch insert. With no `positions`, - * appends a contiguous run after the current max key. With explicit `positions` - * (undo restore), keys each row between its pre-shift position neighbors — - * correct because requested positions are distinct. Caller holds the lock. - * - * The explicit-`positions` path is meaningful only when `position` is - * authoritative (flag off): with the flag on, a saved `position` is a gappy - * column value, not a visual rank, so feeding it to {@link resolveInsertOrderKey} - * (which reads `position` as an `OFFSET` rank under the flag) would mint keys at - * the wrong ranks. Callers needing exact placement under the flag pass - * `orderKeys` (handled before this function); here we just append a run. + * Computes fractional `order_key`s for a batch insert by appending a contiguous + * run after the current max key. `order_key` is authoritative, so callers needing + * exact placement pass explicit `orderKeys` (handled before this function); here + * we just append a run. Caller holds the lock. */ export async function resolveBatchInsertOrderKeys( trx: DbTransaction, tableId: string, - count: number, - positions?: number[] + count: number ): Promise { - if ( - !positions || - positions.length === 0 || - (await isFeatureEnabled('tables-fractional-ordering')) - ) { - return nKeysBetween(await maxOrderKey(trx, tableId), null, count) - } - const keys: string[] = [] - for (const pos of positions) { - keys.push(await resolveInsertOrderKey(trx, tableId, pos)) - } - return keys + return nKeysBetween(await maxOrderKey(trx, tableId), null, count) } /** - * Inserts a single row in its own transaction. Always assigns a fractional - * `order_key`. When the fractional-ordering flag is on, `order_key` is - * authoritative and `position` is a best-effort append (no O(N) shift); when - * off, `position` is reserved as before (shifting to open the slot). Validation - * and side-effect dispatch stay with the caller; capacity is enforced by the - * `increment_user_table_row_count` trigger. + * Inserts a single row in its own transaction. Assigns a fractional `order_key` + * (authoritative) and a best-effort append `position` (no O(N) shift). + * Validation and side-effect dispatch stay with the caller; capacity is enforced + * by the `increment_user_table_row_count` trigger. */ export async function insertOrderedRow(params: { tableId: string @@ -360,35 +208,15 @@ export async function insertOrderedRow(params: { await setTableTxTimeouts(trx) await acquireRowOrderLock(trx, tableId) - const fractionalOrdering = await isFeatureEnabled('tables-fractional-ordering') + // Resolve the authoritative order key from neighbor ids when given, else from + // the requested position. + const orderKey = + afterRowId || beforeRowId + ? await resolveInsertByNeighbor(trx, tableId, afterRowId, beforeRowId) + : await resolveInsertOrderKey(trx, tableId, position) - // Resolve the order key (and a legacy slot position for the flag-off shift - // path) from neighbor ids when given, else from the requested position. - let orderKey: string - let slotPosition = position - if (afterRowId || beforeRowId) { - const resolved = await resolveInsertByNeighbor(trx, tableId, afterRowId, beforeRowId) - orderKey = resolved.orderKey - slotPosition = resolved.position - } else { - orderKey = await resolveInsertOrderKey(trx, tableId, position) - } - - let targetPosition: number - if (fractionalOrdering) { - // order_key is authoritative — keep a best-effort, no-shift position. - targetPosition = await nextRowPosition(trx, tableId) - } else if (slotPosition !== undefined) { - const [existing] = await trx - .select({ id: userTableRows.id }) - .from(userTableRows) - .where(and(eq(userTableRows.tableId, tableId), eq(userTableRows.position, slotPosition))) - .limit(1) - if (existing) await shiftRowsUpFrom(trx, tableId, slotPosition) - targetPosition = slotPosition - } else { - targetPosition = await nextRowPosition(trx, tableId) - } + // order_key is authoritative — keep a best-effort, no-shift position. + const targetPosition = await nextRowPosition(trx, tableId) return trx .insert(userTableRows) @@ -416,8 +244,9 @@ export async function insertOrderedRow(params: { } /** - * Deletes a single row by id in its own transaction, then closes the positional - * gap. Returns `false` when no row matched. + * Deletes a single row by id in its own transaction. Deleting a row never changes + * another row's `order_key`, so no positional reshift is needed. Returns `false` + * when no row matched. */ export async function deleteOrderedRow(params: { tableId: string @@ -436,33 +265,27 @@ export async function deleteOrderedRow(params: { eq(userTableRows.workspaceId, workspaceId) ) ) - .returning({ position: userTableRows.position }) - if (!deleted) return false - // Fractional ordering: deleting a row never changes another row's order_key, - // so the O(N) position reshift is skipped entirely. - if (!(await isFeatureEnabled('tables-fractional-ordering'))) { - await shiftRowsDownAfter(trx, tableId, deleted.position) - } - return true + .returning({ id: userTableRows.id }) + return Boolean(deleted) }) } /** - * Deletes the given row ids in batches within one transaction, then recompacts - * positions from the earliest deleted slot. Returns the deleted rows (id + prior - * position). The caller resolves which ids to delete (used by both delete-by-ids - * and delete-by-filter). + * Deletes the given row ids in batches within one transaction. Deletes leave + * `order_key` untouched, so no positional recompaction is needed. Returns the + * deleted row ids. The caller resolves which ids to delete (used by both + * delete-by-ids and delete-by-filter). */ export async function deleteOrderedRowsByIds(params: { tableId: string workspaceId: string rowIds: string[] -}): Promise<{ id: string; position: number }[]> { +}): Promise<{ id: string }[]> { const { tableId, workspaceId, rowIds } = params if (rowIds.length === 0) return [] return db.transaction(async (trx) => { await setTableTxTimeouts(trx, { statementMs: 60_000 }) - const deleted: { id: string; position: number }[] = [] + const deleted: { id: string }[] = [] for (let i = 0; i < rowIds.length; i += TABLE_LIMITS.DELETE_BATCH_SIZE) { const batch = rowIds.slice(i, i + TABLE_LIMITS.DELETE_BATCH_SIZE) const rows = await trx @@ -474,17 +297,9 @@ export async function deleteOrderedRowsByIds(params: { inArray(userTableRows.id, batch) ) ) - .returning({ id: userTableRows.id, position: userTableRows.position }) + .returning({ id: userTableRows.id }) deleted.push(...rows) } - // Fractional ordering: deletes leave order_key untouched, so no recompaction. - if (!(await isFeatureEnabled('tables-fractional-ordering')) && deleted.length > 0) { - const minDeletedPos = deleted.reduce( - (min, r) => (r.position < min ? r.position : min), - deleted[0].position - ) - await compactPositions(trx, tableId, minDeletedPos) - } return deleted }) } diff --git a/apps/sim/lib/table/rows/service.ts b/apps/sim/lib/table/rows/service.ts index 75497ad8aeb..fe12af429b3 100644 --- a/apps/sim/lib/table/rows/service.ts +++ b/apps/sim/lib/table/rows/service.ts @@ -16,7 +16,6 @@ import { createLogger } from '@sim/logger' import { toError } from '@sim/utils/errors' import { generateId } from '@sim/utils/id' import { and, count, eq, inArray, lte, notInArray, type SQL, sql } from 'drizzle-orm' -import { isFeatureEnabled } from '@/lib/core/config/feature-flags' import { assertRowCapacity, getMaxRowsPerTable, @@ -41,8 +40,6 @@ import { deleteOrderedRowsByIds, insertOrderedRow, nextRowPosition, - reserveBatchPositions, - reserveInsertPosition, resolveBatchInsertOrderKeys, resolveInsertOrderKey, } from '@/lib/table/rows/ordering' @@ -281,20 +278,14 @@ export async function batchInsertRowsWithTx( }) await acquireRowOrderLock(trx, data.tableId) - const fractionalOrdering = await isFeatureEnabled('tables-fractional-ordering') - // Undo restore passes exact saved keys; otherwise derive from positions/append. + // Undo restore passes exact saved keys; otherwise append after the current max. const orderKeys = data.orderKeys && data.orderKeys.length > 0 ? data.orderKeys - : await resolveBatchInsertOrderKeys(trx, data.tableId, data.rows.length, data.positions) - let positions: number[] - if (fractionalOrdering) { - // order_key authoritative — best-effort append positions, no shift. - const start = await nextRowPosition(trx, data.tableId) - positions = Array.from({ length: data.rows.length }, (_, i) => start + i) - } else { - positions = await reserveBatchPositions(trx, data.tableId, data.rows.length, data.positions) - } + : await resolveBatchInsertOrderKeys(trx, data.tableId, data.rows.length) + // order_key is authoritative — best-effort append positions, no shift. + const start = await nextRowPosition(trx, data.tableId) + const positions = Array.from({ length: data.rows.length }, (_, i) => start + i) const rowsToInsert = data.rows.map((rowData, i) => buildRow(rowData, positions[i], orderKeys[i])) const insertedRows = await trx.insert(userTableRows).values(rowsToInsert).returning() @@ -668,7 +659,7 @@ export async function upsertRow( tableId: data.tableId, workspaceId: data.workspaceId, data: data.data, - position: await reserveInsertPosition(trx, data.tableId), + position: await nextRowPosition(trx, data.tableId), orderKey: await resolveInsertOrderKey(trx, data.tableId), createdAt: now, updatedAt: now, @@ -738,18 +729,17 @@ export async function upsertRow( /** * Canonical ORDER BY for a table's rows, shared by `queryRows` (the paginated * list) and `findRowMatches` so a match's ordinal lines up with its index in - * the list. Order: explicit data sort (if any) → fractional `order_key` or - * legacy `position` → `id`. The `id` tiebreak is always appended so equal - * positions order deterministically — without it two separate query executions - * (a find vs a list page) could shuffle ties and misalign ordinals. + * the list. Order: explicit data sort (if any) → fractional `order_key` → `id`. + * The `id` tiebreak is always appended so equal keys order deterministically — + * without it two separate query executions (a find vs a list page) could shuffle + * ties and misalign ordinals. */ function buildRowOrderBySql( sort: Sort | undefined, tableName: string, - columns: ColumnDefinition[], - fractionalOrderingEnabled: boolean + columns: ColumnDefinition[] ): SQL { - const primary = fractionalOrderingEnabled ? `${tableName}.order_key` : `${tableName}.position` + const primary = `${tableName}.order_key` const id = `${tableName}.id` if (sort && Object.keys(sort).length > 0) { const sortClause = buildSortClause(sort, tableName, columns) @@ -814,8 +804,7 @@ export async function findRowMatches( if (filterClause) whereClause = and(baseConditions, filterClause) } - const fractionalOrdering = await isFeatureEnabled('tables-fractional-ordering') - const orderBySql = buildRowOrderBySql(options.sort, tableName, columns, fractionalOrdering) + const orderBySql = buildRowOrderBySql(options.sort, tableName, columns) const pattern = `%${escapeLikePattern(options.q)}%` const result = await db.transaction(async (trx) => { @@ -969,10 +958,7 @@ export async function queryRows( // Hide rows a running delete job is about to remove — both the page and the count below share // this clause, so totals stay consistent with the visible rows. - const [deleteMask, fractionalOrdering] = await Promise.all([ - pendingDeleteMask(table), - isFeatureEnabled('tables-fractional-ordering'), - ]) + const deleteMask = await pendingDeleteMask(table) const baseConditions = and( eq(userTableRows.tableId, table.id), @@ -1005,7 +991,7 @@ export async function queryRows( .select() .from(userTableRows) .where(pageWhere ?? baseConditions) - .orderBy(buildRowOrderBySql(sort, tableName, columns, fractionalOrdering)) + .orderBy(buildRowOrderBySql(sort, tableName, columns)) return after ? query.limit(limit) : query.limit(limit).offset(offset) } diff --git a/apps/sim/lib/table/types.ts b/apps/sim/lib/table/types.ts index ba08af9c83e..26dcb886bba 100644 --- a/apps/sim/lib/table/types.ts +++ b/apps/sim/lib/table/types.ts @@ -372,8 +372,8 @@ export interface TableRow { executions: RowExecutions position: number /** - * Fractional order key. Authoritative row order when `TABLES_FRACTIONAL_ORDERING` - * is on; absent only for rows not yet backfilled (clients fall back to `position`). + * Fractional order key — the authoritative row order. Absent only for rows not + * yet backfilled (clients fall back to `position`). */ orderKey?: string createdAt: Date | string @@ -526,11 +526,9 @@ export interface BatchInsertData { rows: RowData[] workspaceId: string userId?: string - /** Optional per-row target positions. Length must equal `rows.length`. */ - positions?: number[] /** * Optional per-row exact order keys (undo restore re-inserts at the saved key). - * Length must equal `rows.length`. Takes precedence over `positions`. + * Length must equal `rows.length`. */ orderKeys?: string[] } diff --git a/apps/sim/stores/table/types.ts b/apps/sim/stores/table/types.ts index 17e72fb8c0a..55521402cef 100644 --- a/apps/sim/stores/table/types.ts +++ b/apps/sim/stores/table/types.ts @@ -32,7 +32,6 @@ export type TableUndoAction = | { type: 'create-row' rowId: string - position: number orderKey?: string data?: Record } @@ -40,7 +39,6 @@ export type TableUndoAction = type: 'create-rows' rows: Array<{ rowId: string - position: number orderKey?: string data: Record }> diff --git a/packages/db/schema.ts b/packages/db/schema.ts index b7d03c020df..c46ffa265ec 100644 --- a/packages/db/schema.ts +++ b/packages/db/schema.ts @@ -3389,9 +3389,9 @@ export const userTableRows = pgTable( data: jsonb('data').notNull(), position: integer('position').notNull().default(0), /** - * Fractional order key (base-62 string). Authoritative row order when the - * `TABLES_FRACTIONAL_ORDERING` flag is on; nullable during the backfill - * window. Ordered with `id` as a deterministic tiebreaker. + * Fractional order key (base-62 string) — the authoritative row order. + * Nullable during the backfill window. Ordered with `id` as a deterministic + * tiebreaker. * * Stored with `COLLATE "C"` (migration 0228) so Postgres compares it bytewise, * matching the fractional-indexing library's ASCII ordering. drizzle can't diff --git a/packages/db/script-migrations/0001_backfill_table_order_keys.ts b/packages/db/script-migrations/0001_backfill_table_order_keys.ts index ea0e368f0ce..371d8e32edc 100644 --- a/packages/db/script-migrations/0001_backfill_table_order_keys.ts +++ b/packages/db/script-migrations/0001_backfill_table_order_keys.ts @@ -16,7 +16,7 @@ const WRITE_CHUNK_SIZE = 5000 * Row ordering moved from the contiguous integer `position` to a fractional * string `order_key` (O(1) insert/delete — no reshift/recompact). Each existing * row gets a key derived from its current `position` order, so the fractional - * ordering matches today's once `TABLES_FRACTIONAL_ORDERING` is on. + * ordering matches the legacy ordering for rows that predate the column. * * Per-table-atomic: each table is keyed inside one transaction holding the same * per-table advisory lock the app uses for inserts, so a concurrent insert diff --git a/packages/testing/src/mocks/database.mock.ts b/packages/testing/src/mocks/database.mock.ts index 17a039b5d63..9a879e4cad8 100644 --- a/packages/testing/src/mocks/database.mock.ts +++ b/packages/testing/src/mocks/database.mock.ts @@ -100,7 +100,15 @@ export function createMockSqlOperators() { * }) * ``` */ -const limit = vi.fn(() => Promise.resolve([] as unknown[])) +const offset = vi.fn(() => Promise.resolve([] as unknown[])) +// `.limit()` returns a builder that is awaitable (default empty page) and also +// exposes `.offset()` for keyset/OFFSET paging (`.limit(n).offset(m)`). +const limitBuilder = () => { + const thenable: any = Promise.resolve([] as unknown[]) + thenable.offset = offset + return thenable +} +const limit = vi.fn(limitBuilder) const returning = vi.fn(() => Promise.resolve([] as unknown[])) const execute = vi.fn(() => Promise.resolve([] as unknown[])) @@ -169,6 +177,7 @@ export const dbChainMockFns = { from, where, limit, + offset, orderBy, returning, innerJoin, @@ -211,7 +220,8 @@ export function resetDbChainMock(): void { update.mockImplementation(() => ({ set })) set.mockImplementation(() => ({ where })) del.mockImplementation(() => ({ where })) - limit.mockImplementation(() => Promise.resolve([] as unknown[])) + limit.mockImplementation(limitBuilder) + offset.mockImplementation(() => Promise.resolve([] as unknown[])) orderBy.mockImplementation(terminalBuilder) returning.mockImplementation(() => Promise.resolve([] as unknown[])) having.mockImplementation(terminalBuilder) diff --git a/packages/testing/src/mocks/env-flags.mock.ts b/packages/testing/src/mocks/env-flags.mock.ts index 480ae0d62f0..590a5b9fde6 100644 --- a/packages/testing/src/mocks/env-flags.mock.ts +++ b/packages/testing/src/mocks/env-flags.mock.ts @@ -21,7 +21,6 @@ export const envFlagsMock = { isRegistrationDisabled: false, isEmailPasswordEnabled: false, isTriggerDevEnabled: false, - isTablesFractionalOrderingEnabled: false, isSsoEnabled: false, isAccessControlEnabled: false, isOrganizationsEnabled: false, From cb6f99d518497361d8b97f26ee57b4b4eef477ea Mon Sep 17 00:00:00 2001 From: Waleed Date: Wed, 8 Jul 2026 10:29:48 -0700 Subject: [PATCH 03/27] fix(deps): upgrade better-auth 1.6.11 -> 1.6.13 (GHSA fix, Dependabot #166/#167) (#5508) Patches a high-severity stored XSS in the oidc-provider and mcp plugins via javascript:/data: redirect_uri schemes. Also bumps @better-auth/sso and @better-auth/stripe to matching 1.6.13 peers. Patch-only release (1.6.11 -> 1.6.12 -> 1.6.13), no breaking changes in either changelog. --- apps/sim/package.json | 6 +++--- bun.lock | 44 ++++++++++++++++++-------------------- packages/auth/package.json | 2 +- 3 files changed, 25 insertions(+), 27 deletions(-) diff --git a/apps/sim/package.json b/apps/sim/package.json index 31e66edbc00..dd211bc8798 100644 --- a/apps/sim/package.json +++ b/apps/sim/package.json @@ -59,8 +59,8 @@ "@aws-sdk/s3-request-presigner": "3.1032.0", "@azure/communication-email": "1.0.0", "@azure/storage-blob": "12.27.0", - "@better-auth/sso": "1.6.11", - "@better-auth/stripe": "1.6.11", + "@better-auth/sso": "1.6.13", + "@better-auth/stripe": "1.6.13", "@browserbasehq/stagehand": "^3.2.1", "@calcom/embed-react": "1.5.3", "@cerebras/cerebras_cloud_sdk": "^1.23.0", @@ -125,7 +125,7 @@ "@tiptap/suggestion": "3.26.1", "@trigger.dev/sdk": "4.4.3", "ajv": "8.18.0", - "better-auth": "1.6.11", + "better-auth": "1.6.13", "binary-extensions": "3.1.0", "browser-image-compression": "^2.0.2", "busboy": "1.6.0", diff --git a/bun.lock b/bun.lock index b6ab6c68a15..4c1d000f827 100644 --- a/bun.lock +++ b/bun.lock @@ -127,8 +127,8 @@ "@aws-sdk/s3-request-presigner": "3.1032.0", "@azure/communication-email": "1.0.0", "@azure/storage-blob": "12.27.0", - "@better-auth/sso": "1.6.11", - "@better-auth/stripe": "1.6.11", + "@better-auth/sso": "1.6.13", + "@better-auth/stripe": "1.6.13", "@browserbasehq/stagehand": "^3.2.1", "@calcom/embed-react": "1.5.3", "@cerebras/cerebras_cloud_sdk": "^1.23.0", @@ -193,7 +193,7 @@ "@tiptap/suggestion": "3.26.1", "@trigger.dev/sdk": "4.4.3", "ajv": "8.18.0", - "better-auth": "1.6.11", + "better-auth": "1.6.13", "binary-extensions": "3.1.0", "browser-image-compression": "^2.0.2", "busboy": "1.6.0", @@ -337,7 +337,7 @@ "version": "0.1.0", "dependencies": { "@sim/db": "workspace:*", - "better-auth": "1.6.11", + "better-auth": "1.6.13", }, "devDependencies": { "@sim/tsconfig": "workspace:*", @@ -857,25 +857,25 @@ "@bcoe/v8-coverage": ["@bcoe/v8-coverage@1.0.2", "", {}, "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA=="], - "@better-auth/core": ["@better-auth/core@1.6.11", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.39.0", "@standard-schema/spec": "^1.1.0", "zod": "^4.3.6" }, "peerDependencies": { "@better-auth/utils": "0.4.0", "@better-fetch/fetch": "1.1.21", "@cloudflare/workers-types": ">=4", "@opentelemetry/api": "^1.9.0", "better-call": "1.3.5", "jose": "^6.1.0", "kysely": "^0.28.5", "nanostores": "^1.0.1" }, "optionalPeers": ["@cloudflare/workers-types", "@opentelemetry/api"] }, "sha512-LrwidLCV8azdMGjvtwp30nj9tIv1BwI3VhtC0UaGSjQkAVWw4bN42I8qwbxRziPeSQoj+zUVkOpxZzAWBDARtQ=="], + "@better-auth/core": ["@better-auth/core@1.6.13", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.39.0", "@standard-schema/spec": "^1.1.0", "zod": "^4.3.6" }, "peerDependencies": { "@better-auth/utils": "0.4.1", "@better-fetch/fetch": "1.1.21", "@cloudflare/workers-types": ">=4", "@opentelemetry/api": "^1.9.0", "better-call": "1.3.5", "jose": "^6.1.0", "kysely": "^0.28.5 || ^0.29.0", "nanostores": "^1.0.1" }, "optionalPeers": ["@cloudflare/workers-types", "@opentelemetry/api"] }, "sha512-3YNjiLUmlNt5T9qQ/weu0tZgGgXDSYax4EE/uLUBIBBGtQI9Q3KdEnO6tfPgDedborcSE1bIspuAIaHpaHwxZQ=="], - "@better-auth/drizzle-adapter": ["@better-auth/drizzle-adapter@1.6.11", "", { "peerDependencies": { "@better-auth/core": "^1.6.11", "@better-auth/utils": "0.4.0", "drizzle-orm": "^0.45.2" }, "optionalPeers": ["drizzle-orm"] }, "sha512-4jpkETIGZOHCf7BK4jnu22fdN6jjomH0/HhEzkaWy3+Eppi5PYlHTF/460jrTmA3Xc+Vqwp9t282ymHiEPypGw=="], + "@better-auth/drizzle-adapter": ["@better-auth/drizzle-adapter@1.6.13", "", { "peerDependencies": { "@better-auth/core": "^1.6.13", "@better-auth/utils": "0.4.1", "drizzle-orm": "^0.45.2" }, "optionalPeers": ["drizzle-orm"] }, "sha512-0V6e+e7TnIZZDjhQP/tvAberSrdrf5yfbDSx5oDFsfI5MCh2ATvbuTPNxGWbLdbGnUYfbX4K9FZwzKMj8RpLmg=="], - "@better-auth/kysely-adapter": ["@better-auth/kysely-adapter@1.6.11", "", { "peerDependencies": { "@better-auth/core": "^1.6.11", "@better-auth/utils": "0.4.0", "kysely": "^0.28.17" }, "optionalPeers": ["kysely"] }, "sha512-/g8M9RfIjdcZDnbstSUvQiINkvdNlCeZr248zwqx2/PVksQI1MhQofbzUn3RnQnbPKp0EPwpX/dR3oudRFenUg=="], + "@better-auth/kysely-adapter": ["@better-auth/kysely-adapter@1.6.13", "", { "peerDependencies": { "@better-auth/core": "^1.6.13", "@better-auth/utils": "0.4.1", "kysely": "^0.28.17 || ^0.29.0" }, "optionalPeers": ["kysely"] }, "sha512-r+TeBL9dJecuCaSMqL3106qwaXYL3GAkoJDfmtbZ2eZ/Ejr9xVj5msJnSULb0ZqyQ1g5SCbnM39WZaCOFirziQ=="], - "@better-auth/memory-adapter": ["@better-auth/memory-adapter@1.6.11", "", { "peerDependencies": { "@better-auth/core": "^1.6.11", "@better-auth/utils": "0.4.0" } }, "sha512-hpdfw0BBf8MuzLkIdmbcUZICbY9r/bhLO2RxSnkzT5+/O+0I0u2I8+m0YUP7vNllP/ZCKASHOYgXPLO75Z0f9Q=="], + "@better-auth/memory-adapter": ["@better-auth/memory-adapter@1.6.13", "", { "peerDependencies": { "@better-auth/core": "^1.6.13", "@better-auth/utils": "0.4.1" } }, "sha512-upmNncEwm9Q0MpWLVOdx9Pe3fU/aqobO80zwI+WVCavxmL59SufW5Ud7194/J5ushw4Dd52XNn0XWPJT1ZUThg=="], - "@better-auth/mongo-adapter": ["@better-auth/mongo-adapter@1.6.11", "", { "peerDependencies": { "@better-auth/core": "^1.6.11", "@better-auth/utils": "0.4.0", "mongodb": "^6.0.0 || ^7.0.0" }, "optionalPeers": ["mongodb"] }, "sha512-3Tor8rSv8vSEIMEaV2PFpPEuVhqc1gNoZ6eGvoh3LwExXXuj8madew6ob+H1pH7Aphn3Ar5PQ08AguT8TbwFAA=="], + "@better-auth/mongo-adapter": ["@better-auth/mongo-adapter@1.6.13", "", { "peerDependencies": { "@better-auth/core": "^1.6.13", "@better-auth/utils": "0.4.1", "mongodb": "^6.0.0 || ^7.0.0" }, "optionalPeers": ["mongodb"] }, "sha512-u0g5KThZQInx4QxsaXDJ+Yg5A9z/ia/3EBwi+gI7+kSTKkeT9PZZ6J+erwJ5Sh4d0JUQsEX2DX2YRsg/mYnXWQ=="], - "@better-auth/prisma-adapter": ["@better-auth/prisma-adapter@1.6.11", "", { "peerDependencies": { "@better-auth/core": "^1.6.11", "@better-auth/utils": "0.4.0", "@prisma/client": "^5.0.0 || ^6.0.0 || ^7.0.0", "prisma": "^5.0.0 || ^6.0.0 || ^7.0.0" }, "optionalPeers": ["@prisma/client", "prisma"] }, "sha512-Pw+7q7zTp+VSci1V+CYMvuxIbAeVMZLe4lRo46LJoAKMHfjFl5T/ycsyFvWs/DkWC7n9gZZzRDEbHp0I5FiKKw=="], + "@better-auth/prisma-adapter": ["@better-auth/prisma-adapter@1.6.13", "", { "peerDependencies": { "@better-auth/core": "^1.6.13", "@better-auth/utils": "0.4.1", "@prisma/client": "^5.0.0 || ^6.0.0 || ^7.0.0", "prisma": "^5.0.0 || ^6.0.0 || ^7.0.0" }, "optionalPeers": ["@prisma/client", "prisma"] }, "sha512-gjmUIdqmxWb4WoNEN5rTQYQli6A9fPopAaVDiLh/gwO3ET10/PuOEwfESePEwUbArlKLLK3hPEWWe0RBojyxgQ=="], - "@better-auth/sso": ["@better-auth/sso@1.6.11", "", { "dependencies": { "fast-xml-parser": "^5.5.7", "jose": "^6.1.3", "samlify": "~2.10.2", "tldts": "^6.1.0", "zod": "^4.3.6" }, "peerDependencies": { "@better-auth/core": "^1.6.11", "@better-auth/utils": "0.4.0", "@better-fetch/fetch": "1.1.21", "better-auth": "^1.6.11", "better-call": "1.3.5" } }, "sha512-lJHmoCayp9Woh/MPKTHDfGq7k1oQbU2yz5tIOZXl/pzrgLxV7fMGo9aJCyabHkw3GHMjBes4byC6aakHYzpZIg=="], + "@better-auth/sso": ["@better-auth/sso@1.6.13", "", { "dependencies": { "fast-xml-parser": "^5.8.0", "jose": "^6.1.3", "samlify": "^2.13.1", "tldts": "^6.1.0", "zod": "^4.3.6" }, "peerDependencies": { "@better-auth/core": "^1.6.13", "@better-auth/utils": "0.4.1", "@better-fetch/fetch": "1.1.21", "better-auth": "^1.6.13", "better-call": "1.3.5" } }, "sha512-GMhdpiYJ4yi1E5BZ32jDAZgT0zboQLqEh9fMQXgxj0OJbMxgW1/nVq5nB45m8HOhdlX0DAhF5yuQpY5df/nLbg=="], - "@better-auth/stripe": ["@better-auth/stripe@1.6.11", "", { "dependencies": { "defu": "^6.1.5", "zod": "^4.3.6" }, "peerDependencies": { "@better-auth/core": "^1.6.11", "better-auth": "^1.6.11", "better-call": "1.3.5", "stripe": "^18 || ^19 || ^20 || ^21 || ^22" } }, "sha512-P1qHlBpJKRP68zhj4ka2W01Dq/4GrbSHbtuY62cqRMQ++CJdYSSg/FvVb7sAEtg3dfjJ06EEmwW6f9n2CoCtPQ=="], + "@better-auth/stripe": ["@better-auth/stripe@1.6.13", "", { "dependencies": { "defu": "^6.1.5", "zod": "^4.3.6" }, "peerDependencies": { "@better-auth/core": "^1.6.13", "better-auth": "^1.6.13", "better-call": "1.3.5", "stripe": "^18 || ^19 || ^20 || ^21 || ^22" } }, "sha512-T++Tki8X+tdHGkGr6SLsq/SKFSMxHunoKT+RPOsGDXoBF8oHch/X6xSOM2y5T7/ztN4Xi/B4e8nfp0/SFG4xnA=="], - "@better-auth/telemetry": ["@better-auth/telemetry@1.6.11", "", { "peerDependencies": { "@better-auth/core": "^1.6.11", "@better-auth/utils": "0.4.0", "@better-fetch/fetch": "1.1.21" } }, "sha512-hsjDHc8MZbm6/AHeNdtywrWedXevnBjmdvnHTcZub+rTVjOv+Td0roI8USKuC6uUibmrl//2rJfVCsGbopihNA=="], + "@better-auth/telemetry": ["@better-auth/telemetry@1.6.13", "", { "peerDependencies": { "@better-auth/core": "^1.6.13", "@better-auth/utils": "0.4.1", "@better-fetch/fetch": "1.1.21" } }, "sha512-CXfPPL55mZrGH1FUhZOw9REp2WRJoVjCh9egn+cIx3ReB/OnPz+eHSRft/IVLD2PQyP1FNr1Au89SXd2oPBUPg=="], - "@better-auth/utils": ["@better-auth/utils@0.4.0", "", { "dependencies": { "@noble/hashes": "^2.0.1" } }, "sha512-RpMtLUIQAEWMgdPLNVbIF5ON2mm+CH0U3rCdUCU1VyeAUui4m38DyK7/aXMLZov2YDjG684pS1D0MBllrmgjQA=="], + "@better-auth/utils": ["@better-auth/utils@0.4.1", "", { "dependencies": { "@noble/hashes": "^2.0.1" } }, "sha512-SZBPRPF3z0nBvE5ygOkxae35wnnXPRShmqFo78S+qslLeFoPu/pMgnXAuNKFMMybac3tiLaVg1e3MQW5MC+1iA=="], "@better-fetch/fetch": ["@better-fetch/fetch@1.1.21", "", {}, "sha512-/ImESw0sskqlVR94jB+5+Pxjf+xBwDZF/N5+y2/q4EqD7IARUTSpPfIo8uf39SYpCxyOCtbyYpUrZ3F/k0zT4A=="], @@ -2085,7 +2085,7 @@ "before-after-hook": ["before-after-hook@3.0.2", "", {}, "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A=="], - "better-auth": ["better-auth@1.6.11", "", { "dependencies": { "@better-auth/core": "1.6.11", "@better-auth/drizzle-adapter": "1.6.11", "@better-auth/kysely-adapter": "1.6.11", "@better-auth/memory-adapter": "1.6.11", "@better-auth/mongo-adapter": "1.6.11", "@better-auth/prisma-adapter": "1.6.11", "@better-auth/telemetry": "1.6.11", "@better-auth/utils": "0.4.0", "@better-fetch/fetch": "1.1.21", "@noble/ciphers": "^2.1.1", "@noble/hashes": "^2.0.1", "better-call": "1.3.5", "defu": "^6.1.4", "jose": "^6.1.3", "kysely": "^0.28.17", "nanostores": "^1.1.1", "zod": "^4.3.6" }, "peerDependencies": { "@lynx-js/react": "*", "@prisma/client": "^5.0.0 || ^6.0.0 || ^7.0.0", "@sveltejs/kit": "^2.0.0", "@tanstack/react-start": "^1.0.0", "@tanstack/solid-start": "^1.0.0", "better-sqlite3": "^12.0.0", "drizzle-kit": ">=0.31.4", "drizzle-orm": "^0.45.2", "mongodb": "^6.0.0 || ^7.0.0", "mysql2": "^3.0.0", "next": "^14.0.0 || ^15.0.0 || ^16.0.0", "pg": "^8.0.0", "prisma": "^5.0.0 || ^6.0.0 || ^7.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0", "solid-js": "^1.0.0", "svelte": "^4.0.0 || ^5.0.0", "vitest": "^2.0.0 || ^3.0.0 || ^4.0.0", "vue": "^3.0.0" }, "optionalPeers": ["@lynx-js/react", "@prisma/client", "@sveltejs/kit", "@tanstack/react-start", "@tanstack/solid-start", "better-sqlite3", "drizzle-kit", "drizzle-orm", "mongodb", "mysql2", "next", "pg", "prisma", "react", "react-dom", "solid-js", "svelte", "vitest", "vue"] }, "sha512-Wwt6+q07dwIhsp6XiM7L1qSXVUWBEtNl+eZvwM778CguFqDZFBN9Pt6LtFaHl55t8Z+Zc//5kxcbgDY8/79vFQ=="], + "better-auth": ["better-auth@1.6.13", "", { "dependencies": { "@better-auth/core": "1.6.13", "@better-auth/drizzle-adapter": "1.6.13", "@better-auth/kysely-adapter": "1.6.13", "@better-auth/memory-adapter": "1.6.13", "@better-auth/mongo-adapter": "1.6.13", "@better-auth/prisma-adapter": "1.6.13", "@better-auth/telemetry": "1.6.13", "@better-auth/utils": "0.4.1", "@better-fetch/fetch": "1.1.21", "@noble/ciphers": "^2.1.1", "@noble/hashes": "^2.0.1", "better-call": "1.3.5", "defu": "^6.1.4", "jose": "^6.1.3", "kysely": "^0.28.17 || ^0.29.0", "nanostores": "^1.1.1", "zod": "^4.3.6" }, "peerDependencies": { "@lynx-js/react": "*", "@prisma/client": "^5.0.0 || ^6.0.0 || ^7.0.0", "@sveltejs/kit": "^2.0.0", "@tanstack/react-start": "^1.0.0", "@tanstack/solid-start": "^1.0.0", "better-sqlite3": "^12.0.0", "drizzle-kit": ">=0.31.4", "drizzle-orm": "^0.45.2", "mongodb": "^6.0.0 || ^7.0.0", "mysql2": "^3.0.0", "next": "^14.0.0 || ^15.0.0 || ^16.0.0", "pg": "^8.0.0", "prisma": "^5.0.0 || ^6.0.0 || ^7.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0", "solid-js": "^1.0.0", "svelte": "^4.0.0 || ^5.0.0", "vitest": "^2.0.0 || ^3.0.0 || ^4.0.0", "vue": "^3.0.0" }, "optionalPeers": ["@lynx-js/react", "@prisma/client", "@sveltejs/kit", "@tanstack/react-start", "@tanstack/solid-start", "better-sqlite3", "drizzle-kit", "drizzle-orm", "mongodb", "mysql2", "next", "pg", "prisma", "react", "react-dom", "solid-js", "svelte", "vitest", "vue"] }, "sha512-jn8ATnGWDzMwpO4a/3iyW1/RayOF/aoPQOfAeqyCVnQCdqkaONVas9CjbY6PovMsTMa/MG+GRABySfzqtj5J/g=="], "better-call": ["better-call@1.3.5", "", { "dependencies": { "@better-auth/utils": "^0.4.0", "@better-fetch/fetch": "^1.1.21", "rou3": "^0.7.12", "set-cookie-parser": "^3.0.1" }, "peerDependencies": { "zod": "^4.0.0" }, "optionalPeers": ["zod"] }, "sha512-kOFJkBP7utAQLEYrobZm3vkTH8mXq5GNgvjc5/XEST1ilVHaxXUXfeDeFlqoETMtyqS4+3/h4ONX2i++ebZrvA=="], @@ -2135,8 +2135,6 @@ "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], - "camelcase": ["camelcase@6.3.0", "", {}, "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="], - "camelcase-css": ["camelcase-css@2.0.1", "", {}, "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="], "camelize": ["camelize@1.0.1", "", {}, "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ=="], @@ -3231,8 +3229,6 @@ "node-fetch-native": ["node-fetch-native@1.6.7", "", {}, "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q=="], - "node-forge": ["node-forge@1.4.0", "", {}, "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ=="], - "node-gyp-build": ["node-gyp-build@4.8.4", "", { "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ=="], "node-releases": ["node-releases@2.0.47", "", {}, "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og=="], @@ -3625,7 +3621,7 @@ "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], - "samlify": ["samlify@2.10.2", "", { "dependencies": { "@authenio/xml-encryption": "^2.0.2", "@xmldom/xmldom": "^0.8.6", "camelcase": "^6.2.0", "node-forge": "^1.3.0", "node-rsa": "^1.1.1", "pako": "^1.0.10", "uuid": "^8.3.2", "xml": "^1.0.1", "xml-crypto": "^6.1.2", "xml-escape": "^1.1.0", "xpath": "^0.0.32" } }, "sha512-y5s1cHwclqwP8h7K2Wj9SfP1q+1S9+jrs5OAegYTLAiuFi7nDvuKqbiXLmUTvYPMpzHcX94wTY2+D604jgTKvA=="], + "samlify": ["samlify@2.13.1", "", { "dependencies": { "@authenio/xml-encryption": "^2.0.2", "@xmldom/xmldom": "^0.8.11", "node-rsa": "^1.1.1", "xml": "^1.0.1", "xml-crypto": "^6.1.2", "xml-escape": "^1.1.0", "xpath": "^0.0.34" } }, "sha512-vdYr/zohDGBbfWNU4miEzc1jmWOtkLySPViapC6nfGkv9KxzLq4UlGkKyryzwLw4jVlZk88Rw93HaCRVpe+t+g=="], "satori": ["satori@0.12.2", "", { "dependencies": { "@shuding/opentype.js": "1.4.0-beta.0", "css-background-parser": "^0.1.0", "css-box-shadow": "1.0.0-3", "css-gradient-parser": "^0.0.16", "css-to-react-native": "^3.0.0", "emoji-regex": "^10.2.1", "escape-html": "^1.0.3", "linebreak": "^1.1.0", "parse-css-color": "^0.2.1", "postcss-value-parser": "^4.2.0", "yoga-wasm-web": "^0.3.3" } }, "sha512-3C/laIeE6UUe9A+iQ0A48ywPVCCMKCNSTU5Os101Vhgsjd3AAxGNjyq0uAA8kulMPK5n0csn8JlxPN9riXEjLA=="], @@ -4025,7 +4021,7 @@ "xmlhttprequest-ssl": ["xmlhttprequest-ssl@2.1.2", "", {}, "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ=="], - "xpath": ["xpath@0.0.32", "", {}, "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw=="], + "xpath": ["xpath@0.0.34", "", {}, "sha512-FxF6+rkr1rNSQrhUNYrAFJpRXNzlDoMxeXN5qI84939ylEv3qqPFKa85Oxr6tDaJKqwW6KKyo2v26TSv3k6LeA=="], "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], @@ -4061,6 +4057,8 @@ "@asamuzakjp/css-color/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + "@authenio/xml-encryption/xpath": ["xpath@0.0.32", "", {}, "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw=="], + "@aws-crypto/sha1-browser/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="], "@aws-crypto/sha256-browser/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="], @@ -4453,6 +4451,8 @@ "better-auth/jose": ["jose@6.2.3", "", {}, "sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw=="], + "better-call/@better-auth/utils": ["@better-auth/utils@0.4.0", "", { "dependencies": { "@noble/hashes": "^2.0.1" } }, "sha512-RpMtLUIQAEWMgdPLNVbIF5ON2mm+CH0U3rCdUCU1VyeAUui4m38DyK7/aXMLZov2YDjG684pS1D0MBllrmgjQA=="], + "bl/buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], "bl/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], @@ -4699,8 +4699,6 @@ "rolldown/@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.1", "", {}, "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw=="], - "samlify/uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], - "sharp/semver": ["semver@7.8.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA=="], "sim/@types/node": ["@types/node@24.2.1", "", { "dependencies": { "undici-types": "~7.10.0" } }, "sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ=="], diff --git a/packages/auth/package.json b/packages/auth/package.json index 45d8d658e1e..b07f35107c6 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -24,7 +24,7 @@ }, "dependencies": { "@sim/db": "workspace:*", - "better-auth": "1.6.11" + "better-auth": "1.6.13" }, "devDependencies": { "@sim/tsconfig": "workspace:*", From 099f525d504c300f859d8c430f087fae8cd563ab Mon Sep 17 00:00:00 2001 From: Waleed Date: Wed, 8 Jul 2026 11:06:31 -0700 Subject: [PATCH 04/27] improvement(knowledge): open document tags from row context menu (#5510) * improvement(knowledge): open document tags from row context menu The document row context menu had a Tags entry that only navigated to the document detail page, requiring another click through the breadcrumb dropdown to actually edit tags. It now opens the tag editor directly, and shows even when the document has no tags yet so a first tag can be added. * fix(knowledge): gate document tags menu item on edit permission Matches the existing disableRename/disableDelete/disableToggleEnabled pattern; the document detail breadcrumb already hides its Tags entry for non-editors the same way. * fix(knowledge): derive tags modal document data from live list cache The modal was fed a frozen document snapshot taken at right-click time. After a save, the mutation only invalidates the single-document and KB-detail queries (not the documents list query), so the modal's own sync effect rebuilt tags from the stale snapshot and could revert or drop the just-saved value. Track only the document id and look it up from the same documents array updateDocument() patches, so the modal always sees current data. --- .../[workspaceId]/knowledge/[id]/base.tsx | 39 ++++++++++++------- .../document-context-menu.tsx | 8 ++-- 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/base.tsx b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/base.tsx index f3c673c8325..2d6863b3250 100644 --- a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/base.tsx +++ b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/base.tsx @@ -49,6 +49,7 @@ import type { SortConfig, } from '@/app/workspace/[workspaceId]/components' import { FloatingOverflowText, Resource } from '@/app/workspace/[workspaceId]/components' +import { DocumentTagsModal } from '@/app/workspace/[workspaceId]/knowledge/[id]/[documentId]/components' import { ActionBar, AddConnectorModal, @@ -342,6 +343,8 @@ export function KnowledgeBase({ const [contextMenuDocument, setContextMenuDocument] = useState(null) const [showRenameModal, setShowRenameModal] = useState(false) const [documentToRename, setDocumentToRename] = useState(null) + const [showDocumentTagsModal, setShowDocumentTagsModal] = useState(false) + const [documentForTagsId, setDocumentForTagsId] = useState(null) const showAddConnectorModal = addConnectorType != null const updateAddConnectorParam = useCallback( (value: string | null) => { @@ -531,6 +534,14 @@ export function KnowledgeBase({ setShowRenameModal(true) } + /** + * Opens the document tags modal + */ + const handleViewDocumentTags = (doc: DocumentData) => { + setDocumentForTagsId(doc.id) + setShowDocumentTagsModal(true) + } + /** * Saves the renamed document */ @@ -1345,6 +1356,17 @@ export function KnowledgeBase({ /> )} + {documentForTagsId && ( + doc.id === documentForTagsId) ?? null} + onDocumentUpdate={(updates) => updateDocument(documentForTagsId, updates)} + /> + )} + 0 - : false - } selectedCount={selectedDocuments.size} enabledCount={enabledCount} disabledCount={disabledCount} @@ -1413,16 +1430,8 @@ export function KnowledgeBase({ : undefined } onViewTags={ - contextMenuDocument && selectedDocuments.size === 1 - ? () => { - const urlParams = new URLSearchParams({ - kbName: knowledgeBaseName, - docName: contextMenuDocument.filename || 'Document', - }) - router.push( - `/workspace/${workspaceId}/knowledge/${id}/${contextMenuDocument.id}?${urlParams.toString()}` - ) - } + contextMenuDocument && selectedDocuments.size === 1 && userPermissions.canEdit + ? () => handleViewDocumentTags(contextMenuDocument) : undefined } onDelete={ diff --git a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/document-context-menu/document-context-menu.tsx b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/document-context-menu/document-context-menu.tsx index bb751cf2502..7050da64725 100644 --- a/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/document-context-menu/document-context-menu.tsx +++ b/apps/sim/app/workspace/[workspaceId]/knowledge/[id]/components/document-context-menu/document-context-menu.tsx @@ -22,7 +22,6 @@ interface DocumentContextMenuProps { onAddDocument?: () => void isDocumentEnabled?: boolean hasDocument: boolean - hasTags?: boolean disableRename?: boolean disableToggleEnabled?: boolean disableDelete?: boolean @@ -50,7 +49,6 @@ export function DocumentContextMenu({ onAddDocument, isDocumentEnabled = true, hasDocument, - hasTags = false, disableRename = false, disableToggleEnabled = false, disableDelete = false, @@ -70,7 +68,7 @@ export function DocumentContextMenu({ } const hasNavigationSection = !isMultiSelect && (!!onOpenInNewTab || !!onOpenSource) - const hasEditSection = !isMultiSelect && (!!onRename || (hasTags && !!onViewTags)) + const hasEditSection = !isMultiSelect && (!!onRename || !!onViewTags) const hasStateSection = !!onToggleEnabled const hasDestructiveSection = !!onDelete @@ -121,10 +119,10 @@ export function DocumentContextMenu({ Rename )} - {!isMultiSelect && hasTags && onViewTags && ( + {!isMultiSelect && onViewTags && ( - View tags + Tags )} {hasEditSection && (hasStateSection || hasDestructiveSection) && ( From 9d34fbea1bf3612a03ec740d402950adf94d4923 Mon Sep 17 00:00:00 2001 From: Waleed Date: Wed, 8 Jul 2026 11:26:23 -0700 Subject: [PATCH 05/27] refactor(utils): consolidate duplicated helpers onto @sim/utils (#5509) * refactor(utils): consolidate duplicated helpers onto @sim/utils Replaces ~90 hand-rolled reimplementations of error-message extraction, postgres error-code checks, sleep, Math.random, retry/backoff, object filtering/omission, noop, string truncation, date/time formatting, email normalization, and plain-object type guards with the shared @sim/utils exports. Wires check:utils into CI (test-build.yml) so these patterns don't regress. * fix(test): mock @sim/utils/random instead of Math.random in schedule-execute tests The schedules/execute route previously used Math.random() for jitter delay; this consolidation PR switched it to randomInt() from @sim/utils/random, which is backed by crypto.getRandomValues() rather than Math.random(). The route.test.ts spies on Math.random() no longer had any effect, so jitter became real random delay instead of the deterministic 0ms the tests expect, causing intermittent 10s timeouts in CI. * fix(retry): preserve uncapped Retry-After comparison in tools/index.ts parseRetryAfter() caps its return value at 30s by default. tools/index.ts compares the parsed Retry-After against a caller-configured maxDelayMs to decide whether to skip a retry entirely -- capping before that comparison silently defeats the skip check whenever maxDelayMs is configured above 30s, since a Retry-After between 30s and maxDelayMs would incorrectly look "within limits" and get retried instead of skipped (caught by Cursor Bugbot). Added an optional maxMs param (default unchanged) so tools/index.ts can request the raw, uncapped value for its own comparison while backoffWithJitter still clamps the actual sleep duration to maxDelayMs. Added a regression test covering maxDelayMs > 30s. * fix(utils): fall back to Intl-resolved abbreviation for unmapped timezones getTimezoneAbbreviation only covered 9 hardcoded IANA zones and returned the raw IANA string for everything else, degrading schedule descriptions for zones like Europe/Berlin or America/Toronto (caught by Greptile). The deleted local implementation in schedules/utils.ts resolved any valid IANA timezone generically via Intl.DateTimeFormat's short timeZoneName. Restore that as a fallback so only genuinely invalid timezone strings return themselves unchanged. --- .github/workflows/test-build.yml | 3 + apps/sim/app/(auth)/login/login-form.tsx | 7 +- .../[executionId]/resume-page-client.tsx | 3 +- .../changelog-timeline/changelog-timeline.tsx | 13 +-- apps/sim/app/api/auth/oauth/utils.ts | 4 +- .../app/api/billing/invoices/route.test.ts | 3 +- .../cron/renew-subscriptions/route.test.ts | 3 +- .../app/api/files/public/[token]/otp/route.ts | 5 +- .../app/api/files/public/[token]/sso/route.ts | 3 +- apps/sim/app/api/function/execute/route.ts | 7 +- apps/sim/app/api/logs/export/route.ts | 3 +- .../api/mcp/servers/test-connection/route.ts | 3 +- apps/sim/app/api/memory/route.ts | 3 +- apps/sim/app/api/mothership/execute/route.ts | 4 +- .../organizations/[id]/invitations/route.ts | 5 +- .../api/organizations/[id]/members/route.ts | 3 +- .../app/api/schedules/execute/route.test.ts | 108 ++++++++---------- apps/sim/app/api/schedules/execute/route.ts | 3 +- .../app/api/table/import-csv/route.test.ts | 3 +- apps/sim/app/api/v1/admin/credits/route.ts | 3 +- .../v1/knowledge/[id]/documents/route.test.ts | 3 +- .../webhooks/poll/[provider]/route.test.ts | 3 +- .../api/workspace-events/poll/route.test.ts | 3 +- .../app/f/[token]/public-file-email-auth.tsx | 9 +- .../app/f/[token]/public-file-sso-auth.tsx | 5 +- .../resource-chrome-fallback.tsx | 3 +- .../dirty-on-open.test.ts | 4 +- .../raw-markdown-snippet-view.test.ts | 4 +- .../chat-surface-context.tsx | 3 +- .../suggested-actions/suggested-actions.tsx | 3 +- .../home/hooks/stream/turn-model.ts | 5 +- .../document-tags-modal.tsx | 9 +- .../knowledge/[id]/[documentId]/document.tsx | 3 +- .../knowledge/[id]/[documentId]/loading.tsx | 3 +- .../[workspaceId]/knowledge/[id]/loading.tsx | 3 +- .../app/workspace/[workspaceId]/logs/utils.ts | 20 +--- .../settings/components/billing/billing.tsx | 12 +- .../components/mothership/mothership.tsx | 5 +- .../organization-member-lists.tsx | 9 +- .../components/teammates/teammates.tsx | 7 +- .../tables/[tableId]/loading.tsx | 3 +- .../import-csv-dialog/import-csv-dialog.tsx | 3 +- .../deploy-modal/components/chat/chat.tsx | 3 +- .../components/sidebar/hooks/use-drag-drop.ts | 3 +- .../sidebar/hooks/use-sidebar-list-context.ts | 2 +- apps/sim/blocks/blocks/cloudformation.ts | 5 +- apps/sim/blocks/blocks/new_relic.ts | 5 +- apps/sim/blocks/blocks/square.ts | 3 +- apps/sim/blocks/blocks/wiza.ts | 5 +- apps/sim/connectors/x/x.ts | 3 +- .../components/access-control.tsx | 3 +- .../components/group-detail.tsx | 3 +- .../executor/handlers/agent/agent-handler.ts | 3 +- apps/sim/hooks/queries/unsubscribe.test.tsx | 3 +- .../contracts/tools/aws/sts-assume-role.ts | 3 +- .../lib/billing/validation/seat-management.ts | 3 +- .../sim/lib/copilot/chat/workspace-context.ts | 3 +- .../copilot/tools/server/files/doc-compile.ts | 5 +- .../tools/server/files/doc-compiled-store.ts | 5 +- .../server/files/file-intent-store.test.ts | 3 +- .../tools/server/knowledge/knowledge-base.ts | 3 +- .../hosted-key-rate-limiter.test.ts | 3 +- apps/sim/lib/core/security/deployment.ts | 5 +- apps/sim/lib/core/utils/background.test.ts | 3 +- apps/sim/lib/core/utils/multipart.ts | 15 +-- apps/sim/lib/events/pubsub.ts | 2 +- apps/sim/lib/execution/e2b.ts | 2 +- apps/sim/lib/file-parsers/xlsx-parser.ts | 5 +- .../knowledge/connectors/sync-engine.test.ts | 5 +- .../lib/knowledge/connectors/sync-engine.ts | 8 +- .../lib/logs/execution/progress-markers.ts | 5 +- apps/sim/lib/messaging/sms/service.ts | 3 +- apps/sim/lib/monitoring/metrics.ts | 3 +- apps/sim/lib/table/sql.ts | 8 +- apps/sim/lib/tokenization/utils.ts | 6 +- apps/sim/lib/webhooks/processor.ts | 3 +- apps/sim/lib/workflows/schedules/utils.ts | 23 +--- apps/sim/lib/workflows/subblocks/display.ts | 2 +- apps/sim/lib/workspaces/organization/utils.ts | 3 +- apps/sim/providers/utils.ts | 3 +- apps/sim/stores/chat/store.ts | 5 +- apps/sim/tools/amplitude/funnels.ts | 6 +- apps/sim/tools/github/issue_comment.ts | 3 +- apps/sim/tools/github/list_issue_comments.ts | 3 +- apps/sim/tools/github/list_pr_comments.ts | 3 +- apps/sim/tools/github/update_comment.ts | 3 +- apps/sim/tools/incidentio/utils.ts | 7 +- apps/sim/tools/index.test.ts | 22 ++++ apps/sim/tools/index.ts | 55 +++------ apps/sim/tools/notion/update_block.ts | 5 +- bun.lock | 1 + packages/logger/package.json | 1 + packages/logger/src/index.ts | 3 +- packages/utils/src/formatting.test.ts | 5 + packages/utils/src/formatting.ts | 10 +- packages/utils/src/retry.ts | 15 ++- .../workflow-persistence/src/subblocks.ts | 3 +- scripts/create-single-release.ts | 3 +- 98 files changed, 310 insertions(+), 327 deletions(-) diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 53a18cf16fd..5d906dc709a 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -116,6 +116,9 @@ jobs: - name: API contract boundary audit run: bun run check:api-validation:strict + - name: Shared utils enforcement audit + run: bun run check:utils + - name: Zustand v5 selector audit run: bun run check:zustand-v5 diff --git a/apps/sim/app/(auth)/login/login-form.tsx b/apps/sim/app/(auth)/login/login-form.tsx index d0f1fa59a29..9fd5adb148c 100644 --- a/apps/sim/app/(auth)/login/login-form.tsx +++ b/apps/sim/app/(auth)/login/login-form.tsx @@ -11,6 +11,7 @@ import { } from '@sim/emcn' import { createLogger } from '@sim/logger' import { getErrorMessage } from '@sim/utils/errors' +import { normalizeEmail } from '@sim/utils/string' import { useRouter, useSearchParams } from 'next/navigation' import { requestJson } from '@/lib/api/client/request' import { forgetPasswordContract } from '@/lib/api/contracts' @@ -45,7 +46,7 @@ const validateEmailField = (emailValue: string): string[] => { return errors } - const validation = quickValidateEmail(emailValue.trim().toLowerCase()) + const validation = quickValidateEmail(normalizeEmail(emailValue)) if (!validation.isValid) { errors.push(validation.reason || 'Please enter a valid email address.') } @@ -159,7 +160,7 @@ export default function LoginPage({ const formData = new FormData(e.currentTarget) const emailRaw = formData.get('email') as string - const email = emailRaw.trim().toLowerCase() + const email = normalizeEmail(emailRaw) const emailValidationErrors = validateEmailField(email) setEmailErrors(emailValidationErrors) @@ -277,7 +278,7 @@ export default function LoginPage({ return } - const emailValidation = quickValidateEmail(forgotPasswordEmail.trim().toLowerCase()) + const emailValidation = quickValidateEmail(normalizeEmail(forgotPasswordEmail)) if (!emailValidation.isValid) { setResetStatus({ type: 'error', diff --git a/apps/sim/app/(interfaces)/resume/[workflowId]/[executionId]/resume-page-client.tsx b/apps/sim/app/(interfaces)/resume/[workflowId]/[executionId]/resume-page-client.tsx index e6bf318c428..88a7cf3edae 100644 --- a/apps/sim/app/(interfaces)/resume/[workflowId]/[executionId]/resume-page-client.tsx +++ b/apps/sim/app/(interfaces)/resume/[workflowId]/[executionId]/resume-page-client.tsx @@ -18,6 +18,7 @@ import { TableRow, Tooltip, } from '@sim/emcn' +import { formatDateTime } from '@sim/utils/formatting' import { useQueryClient } from '@tanstack/react-query' import { RefreshCw } from 'lucide-react' import { useRouter } from 'next/navigation' @@ -68,7 +69,7 @@ const STATUS_BADGE_VARIANT: Record(initialEntries) const [loading, setLoading] = useState(false) @@ -133,7 +126,9 @@ export function ChangelogTimeline({ initialEntries }: ChangelogTimelineProps) { ) : null} - {formatDate(entry.date)} + + {formatDate(new Date(entry.date))} + -
-
- Timestamp - Event - Description - Actor -
- - {isLoading ? null : allEntries.length === 0 ? ( - debouncedSearch ? ( + No results for "{debouncedSearch}" ) : ( No audit logs found ) - ) : ( -
- {allEntries.map((entry) => ( - - ))} - {hasNextPage && ( -
- -
- )} -
- )} -
+ } + footer={ + hasNextPage ? ( +
+ +
+ ) : undefined + } + /> ) } diff --git a/apps/sim/ee/workspace-forking/components/fork-activity-panel/fork-activity-panel.tsx b/apps/sim/ee/workspace-forking/components/fork-activity-panel/fork-activity-panel.tsx new file mode 100644 index 00000000000..81faf69ef2c --- /dev/null +++ b/apps/sim/ee/workspace-forking/components/fork-activity-panel/fork-activity-panel.tsx @@ -0,0 +1,314 @@ +'use client' + +import { useCallback, useMemo } from 'react' +import { Badge, Button } from '@sim/emcn' +import { createLogger } from '@sim/logger' +import { formatDateTime } from '@sim/utils/formatting' +import type { BackgroundWorkItem } from '@/lib/api/contracts/workspace-fork' +import { + ActivityLog, + type ActivityLogEntry, +} from '@/app/workspace/[workspaceId]/settings/components/activity-log' +import { SettingsEmptyState } from '@/app/workspace/[workspaceId]/settings/components/settings-empty-state' +import { useWorkspaceBackgroundWork } from '@/ee/workspace-forking/hooks/background-work' + +const logger = createLogger('ForkActivityPanel') + +const plural = (n: number, noun: string) => `${n} ${noun}${n === 1 ? '' : 's'}` + +/** Join "N verb" segments (verbs like "updated" aren't pluralized), dropping zero counts. */ +function countList(pairs: Array<[number | undefined, string]>): string { + return pairs + .filter(([n]) => (n ?? 0) > 0) + .map(([n, verb]) => `${n} ${verb}`) + .join(' · ') +} + +/** A named group (one resource kind or change action) of a job's report. */ +interface ReportGroup { + label: string + names: string[] +} + +/** A job's expanded report: named groups plus plain notes (counts / warnings). */ +interface JobReport { + groups: ReportGroup[] + notes: Array<{ value: string; warning?: boolean }> +} + +/** The workspace whose activity is being viewed, for phrasing rows recorded on either side of an edge. */ +interface ActivityView { + workspaceId: string + /** Lineage partner names by id (the parent + this workspace's forks). */ + workspaceNames: ReadonlyMap +} + +/** Display name of the workspace a partner-recorded row was keyed to (the edge's other side). */ +function partnerName(job: BackgroundWorkItem, view: ActivityView): string { + return view.workspaceNames.get(job.workspaceId) ?? 'another workspace' +} + +/** + * The activity-row title, derived per kind from the job's metadata. Every event is + * recorded once, keyed to the workspace it was initiated from, so a row keyed to an + * edge partner is phrased from THIS workspace's side (e.g. the parent's "Pushed to X" + * row reads "Received push from " when X views it). + */ +function jobTitle(job: BackgroundWorkItem, view: ActivityView): string { + const m = job.metadata + const recordedHere = job.workspaceId === view.workspaceId + switch (job.kind) { + case 'fork_content_copy': + // A partner-recorded copy row is either this workspace's own creation (recorded + // on the parent, carrying our id as the child) or a sync's resource fill. + if (!recordedHere && m?.childWorkspaceId === view.workspaceId) { + return `Forked from "${partnerName(job, view)}"` + } + return m?.childWorkspaceName + ? `Forked into "${m.childWorkspaceName}"` + : (job.message ?? 'Fork') + case 'fork_sync': + if (!recordedHere) { + return m?.direction === 'pull' + ? `Pulled by "${partnerName(job, view)}"` + : `Received push from "${partnerName(job, view)}"` + } + if (!m?.otherWorkspaceName) return job.message ?? 'Sync' + return m.direction === 'pull' + ? `Pulled from "${m.otherWorkspaceName}"` + : `Pushed to "${m.otherWorkspaceName}"` + case 'fork_rollback': + if (!recordedHere) return `Sync undone in "${partnerName(job, view)}"` + return m?.otherWorkspaceName + ? `Undid sync from "${m.otherWorkspaceName}"` + : (job.message ?? 'Rollback') + default: + return job.message ?? 'Activity' + } +} + +/** Short action label for the Event badge, per job kind. */ +function jobEventLabel(job: BackgroundWorkItem): string { + switch (job.kind) { + case 'fork_content_copy': + return 'Fork' + case 'fork_sync': + return job.metadata?.direction === 'pull' ? 'Pull' : 'Push' + case 'fork_rollback': + return 'Rollback' + default: + return 'Activity' + } +} + +/** + * Badge variant: bad outcomes keep the status colors (red/amber), while successful + * rows are colored by operation so Fork / Push / Pull / Rollback are distinguishable + * at a glance. + */ +function jobBadgeVariant(job: BackgroundWorkItem) { + if (job.status === 'failed') return 'red' as const + if (job.status === 'completed_with_warnings') return 'amber' as const + if (job.status !== 'completed') return 'gray-secondary' as const + switch (job.kind) { + case 'fork_content_copy': + return 'blue' as const + case 'fork_sync': + return job.metadata?.direction === 'pull' ? ('cyan' as const) : ('green' as const) + case 'fork_rollback': + return 'purple' as const + default: + return 'gray-secondary' as const + } +} + +/** Build a job's report (named groups + plain notes) from its metadata. */ +function jobReport(job: BackgroundWorkItem): JobReport { + const m = job.metadata + const groups: ReportGroup[] = [] + const notes: JobReport['notes'] = [] + if (!m) return { groups, notes } + + const addGroup = (label: string, names: string[] | undefined) => { + if (names && names.length > 0) groups.push({ label, names }) + } + + if (job.kind === 'fork_sync') { + addGroup('Updated', m.updatedNames) + addGroup('Created', m.createdNames) + addGroup('Archived', m.archivedNames) + // Pre-names entries fall back to the count summary (redeployed mirrors updated). + if (groups.length === 0) { + const counts = countList([ + [m.updated, 'updated'], + [m.created, 'created'], + [m.archived, 'archived'], + ]) + if (counts) notes.push({ value: counts }) + } + if (m.needsConfiguration && m.needsConfiguration.length > 0) { + for (const item of m.needsConfiguration) { + notes.push({ + value: `${item.workflowName} — re-check ${item.blocks.join(', ')}`, + warning: true, + }) + } + } + if (m.clearedOptional && m.clearedOptional.length > 0) { + for (const item of m.clearedOptional) { + notes.push({ + value: `${item.workflowName} — optional cleared in ${item.blocks.join(', ')}`, + }) + } + } + if (m.deployFailed && m.deployFailed > 0) { + notes.push({ value: `${plural(m.deployFailed, 'workflow')} failed to deploy`, warning: true }) + } + return { groups, notes } + } + + if (job.kind === 'fork_rollback') { + const counts = countList([ + [m.restored, 'restored'], + [m.unarchived, 'unarchived'], + [m.removed, 'removed'], + [m.skipped, 'skipped'], + ]) + if (counts) notes.push({ value: counts }) + return { groups, notes } + } + + // fork_content_copy: a named breakdown of everything copied, by kind. + addGroup('Workflows', m.workflowNames) + addGroup('Knowledge bases', m.knowledgeBaseNames) + addGroup('Tables', m.tableNames) + addGroup('Files', m.fileNames) + addGroup('Custom tools', m.customToolNames) + addGroup('Skills', m.skillNames) + addGroup('MCP servers', m.mcpServerNames) + addGroup('Workflow MCP servers', m.workflowMcpServerNames) + // Sync content-copy rows record per-kind COUNTS only (fork rows carry names), so fall back + // to the counts when no named group rendered. + if (groups.length === 0) { + const counts = [ + [m.workflowsCopied, 'workflow'], + [m.knowledgeBases, 'knowledge base'], + [m.tables, 'table'], + [m.files, 'file'], + ] + .filter(([n]) => ((n as number | undefined) ?? 0) > 0) + .map(([n, noun]) => plural(n as number, noun as string)) + .join(' · ') + if (counts) notes.push({ value: counts }) + } + if (m.failed && m.failed > 0) { + notes.push({ value: `${plural(m.failed, 'resource')} failed to copy`, warning: true }) + } + if (m.clearingFailed) { + notes.push({ value: 'Reference cleanup incomplete', warning: true }) + } + return { groups, notes } +} + +/** The expanded detail box content for one job: named groups, notes, and any error. */ +function jobDetails(job: BackgroundWorkItem, report: JobReport) { + return ( + <> + {report.groups.map((group) => ( +
+ {group.label} + + {group.names.join(', ')} + +
+ ))} + {report.notes.map((note, index) => ( + + {note.value} + + ))} + {job.error ? {job.error} : null} + + ) +} + +/** Maps a background job to the shared {@link ActivityLog} row shape. */ +function toActivityEntry(job: BackgroundWorkItem, view: ActivityView): ActivityLogEntry { + const report = jobReport(job) + const hasDetails = report.groups.length > 0 || report.notes.length > 0 || Boolean(job.error) + return { + id: job.id, + timestamp: formatDateTime(new Date(job.startedAt)), + event: ( + + {jobEventLabel(job)} + + ), + description: jobTitle(job, view), + actor: job.metadata?.actorName || 'System', + details: hasDetails ? jobDetails(job, report) : undefined, + } +} + +interface ForkActivityPanelProps { + /** Poll the durable fork-job audit trail involving this workspace. */ + workspaceId: string + /** Lineage partner names by id (the parent + forks), for phrasing partner-recorded rows. */ + workspaceNames: ReadonlyMap +} + +/** + * A durable audit log of every fork, sync, and rollback involving the workspace + * (both sides of each fork edge), rendered through the shared {@link ActivityLog} + * so it reads identically to the enterprise audit log: each row (timestamp, action + * badge, description, actor) expands to a per-kind breakdown of what changed. + */ +export function ForkActivityPanel({ workspaceId, workspaceNames }: ForkActivityPanelProps) { + const { data, isPending, isError, hasNextPage, fetchNextPage, isFetchingNextPage } = + useWorkspaceBackgroundWork(workspaceId) + const view: ActivityView = { workspaceId, workspaceNames } + + const jobs = useMemo(() => { + if (!data?.pages) return [] + return data.pages.flatMap((page) => page.items) + }, [data]) + + const handleLoadMore = useCallback(() => { + if (hasNextPage && !isFetchingNextPage) { + fetchNextPage().catch((error: unknown) => { + logger.error('Failed to load more fork activity', { error }) + }) + } + }, [hasNextPage, isFetchingNextPage, fetchNextPage]) + + return ( + toActivityEntry(job, view))} + eventColumn='compact' + // A failed or still-loading feed must never claim "nothing here yet". + emptyState={ + isError ? ( + + Couldn't load activity. Try again shortly. + + ) : isPending ? undefined : ( + + Nothing here yet. Forks, syncs, and rollbacks will appear here. + + ) + } + footer={ + hasNextPage ? ( +
+ +
+ ) : undefined + } + /> + ) +} diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/fork-file-tree/fork-file-tree.test.ts b/apps/sim/ee/workspace-forking/components/fork-file-tree/fork-file-tree.test.ts similarity index 88% rename from apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/fork-file-tree/fork-file-tree.test.ts rename to apps/sim/ee/workspace-forking/components/fork-file-tree/fork-file-tree.test.ts index 39fa599a965..6a87974aa5e 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/fork-file-tree/fork-file-tree.test.ts +++ b/apps/sim/ee/workspace-forking/components/fork-file-tree/fork-file-tree.test.ts @@ -2,7 +2,7 @@ * @vitest-environment node */ import { describe, expect, it } from 'vitest' -import { groupForkFilesIntoFolders } from '@/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/fork-file-tree/fork-file-tree' +import { groupForkFilesIntoFolders } from '@/ee/workspace-forking/components/fork-file-tree/fork-file-tree' describe('groupForkFilesIntoFolders', () => { it('groups files under their folder and lifts un-foldered files to the root bucket', () => { diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/fork-file-tree/fork-file-tree.tsx b/apps/sim/ee/workspace-forking/components/fork-file-tree/fork-file-tree.tsx similarity index 100% rename from apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/fork-file-tree/fork-file-tree.tsx rename to apps/sim/ee/workspace-forking/components/fork-file-tree/fork-file-tree.tsx diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/fork-resource-picker/fork-resource-picker.tsx b/apps/sim/ee/workspace-forking/components/fork-resource-picker/fork-resource-picker.tsx similarity index 97% rename from apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/fork-resource-picker/fork-resource-picker.tsx rename to apps/sim/ee/workspace-forking/components/fork-resource-picker/fork-resource-picker.tsx index 82ffbf88cae..7d8f502ab67 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/fork-resource-picker/fork-resource-picker.tsx +++ b/apps/sim/ee/workspace-forking/components/fork-resource-picker/fork-resource-picker.tsx @@ -6,7 +6,7 @@ import { ForkFileTree, type ForkFlatFile, groupForkFilesIntoFolders, -} from '@/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/fork-file-tree/fork-file-tree' +} from '@/ee/workspace-forking/components/fork-file-tree/fork-file-tree' /** A flat copyable resource (table / KB / custom tool / skill / MCP server) in the picker. */ export interface ForkResourcePickerItem { diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/cleared-refs-list.test.ts b/apps/sim/ee/workspace-forking/components/fork-sync/cleared-refs-list.test.ts similarity index 93% rename from apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/cleared-refs-list.test.ts rename to apps/sim/ee/workspace-forking/components/fork-sync/cleared-refs-list.test.ts index c8311b2bd1b..fce97ef41ca 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/cleared-refs-list.test.ts +++ b/apps/sim/ee/workspace-forking/components/fork-sync/cleared-refs-list.test.ts @@ -7,7 +7,7 @@ import { forkBlockerResolution, selectVisibleClearedRefs, splitForkClearedRefs, -} from '@/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/cleared-refs-list' +} from '@/ee/workspace-forking/components/fork-sync/cleared-refs-list' type ReferenceRef = Extract type WorkflowRef = Extract @@ -50,7 +50,7 @@ const dependentRef = ( parentSourceId, }) -// The modal's predicate is `mapped || copied`; here we model each disposition as a resolved key so +// The page's predicate is `mapped || copied`; here we model each disposition as a resolved key so // the document-under-KB case is exercised for both a copied parent and a mapped parent. const resolvedKeys = (...keys: string[]) => { const set = new Set(keys) @@ -116,7 +116,7 @@ describe('selectVisibleClearedRefs', () => { ]) }) - it('always keeps a workflow reference (it cannot be resolved in the modal)', () => { + it('always keeps a workflow reference (it cannot be resolved on the page)', () => { const workflowReference = workflowRef('wf-other') expect( selectVisibleClearedRefs([workflowReference], resolvedKeys('workflow:wf-other')) @@ -153,7 +153,7 @@ describe('forkBlockerResolution', () => { 'map it to a target or select it for copy' ) expect(forkBlockerResolution(referenceRef('mcp-server', 'srv-1'))).toBe( - 'map it to an MCP server in the target workspace' + 'map it to a target or select it for copy' ) expect(forkBlockerResolution(referenceRef('knowledge-base', 'kb-gone', 'KB', true))).toBe( 'deleted in the source — map it to an existing knowledge base in the target' diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/cleared-refs-list.ts b/apps/sim/ee/workspace-forking/components/fork-sync/cleared-refs-list.ts similarity index 93% rename from apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/cleared-refs-list.ts rename to apps/sim/ee/workspace-forking/components/fork-sync/cleared-refs-list.ts index d55a460fa07..d80da2d03f0 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/cleared-refs-list.ts +++ b/apps/sim/ee/workspace-forking/components/fork-sync/cleared-refs-list.ts @@ -1,5 +1,5 @@ import type { ForkClearedRef } from '@/lib/api/contracts/workspace-fork' -import { forkSyncBlockerReasonFor } from '@/lib/workspaces/fork/promote/sync-blockers' +import { forkSyncBlockerReasonFor } from '@/ee/workspace-forking/lib/promote/sync-blockers' /** Whether a resource is resolved by the current selection (mapped to a target OR selected for copy). */ export type ClearedRefResolvedPredicate = (kind: string, sourceId: string) => boolean @@ -21,9 +21,9 @@ const PARENT_KINDS_THAT_PRESERVE_CHILD: ReadonlySet = new Set(['knowledg * using the SAME predicate as `reference` - but ONLY when the child follows that parent (a * document under a KB). A credential- or table-anchored dependent is cleared on any parent remap, * so it stays even after the parent is mapped. - * - `workflow`: always stays - a cross-workflow reference cannot be resolved in the modal. + * - `workflow`: always stays - a cross-workflow reference cannot be resolved here. * - * Pure so the reactive list is unit-testable independent of the modal's selection state. + * Pure so the reactive list is unit-testable independent of the page's selection state. */ export function selectVisibleClearedRefs( clearedRefs: ForkClearedRef[], @@ -42,7 +42,7 @@ export function selectVisibleClearedRefs( /** * Split the visible would-clear entries into sync BLOCKERS (cause `reference`/`workflow` - the * sync is disabled while any remain) and the informational remainder (`dependent` entries, owned - * by the reconfigure flow - they clear but never block). Pure, so the modal's gate and the two + * by the reconfigure flow - they clear but never block). Pure, so the page's gate and the two * sections stay one testable rule. */ export function splitForkClearedRefs(visibleRefs: ForkClearedRef[]): { @@ -78,8 +78,6 @@ export function forkBlockerResolution(ref: ForkClearedRef): string | null { switch (reason) { case 'unmapped-copyable': return 'map it to a target or select it for copy' - case 'unmapped-mcp-server': - return 'map it to an MCP server in the target workspace' case 'source-deleted': return `deleted in the source — map it to an existing ${BLOCKER_KIND_LABEL[ref.kind] ?? 'resource'} in the target` case 'workflow-missing': diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/copy-reconciliation.test.ts b/apps/sim/ee/workspace-forking/components/fork-sync/copy-reconciliation.test.ts similarity index 77% rename from apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/copy-reconciliation.test.ts rename to apps/sim/ee/workspace-forking/components/fork-sync/copy-reconciliation.test.ts index 1fa0bf53f67..3c3c3c90150 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/copy-reconciliation.test.ts +++ b/apps/sim/ee/workspace-forking/components/fork-sync/copy-reconciliation.test.ts @@ -8,12 +8,13 @@ import { forkCopyingKeys, forkDefaultCopySelection, forkMappedCopyableKeys, + forkParentResolution, forkRefKey, forkRequiredKindsLabel, forkRequiredPending, forkVisibleCopyables, isForkRequiredComplete, -} from '@/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/copy-reconciliation' +} from '@/ee/workspace-forking/components/fork-sync/copy-reconciliation' const entry = (overrides: Partial): ForkMappingEntry => ({ kind: 'credential', @@ -161,6 +162,51 @@ describe('forkRequiredKindsLabel', () => { }) }) +describe('forkParentResolution', () => { + const kb = entry({ kind: 'knowledge-base', sourceId: 'kb-1' }) + + it('is copied when the entry is selected for copy', () => { + expect(forkParentResolution(kb, {}, new Set(['knowledge-base:kb-1']))).toBe('copied') + }) + + it('is mapped with a persisted or in-session target, unresolved with neither', () => { + expect( + forkParentResolution( + entry({ kind: 'knowledge-base', sourceId: 'kb-1', targetId: 'kb-tgt' }), + {}, + new Set() + ) + ).toBe('mapped') + expect(forkParentResolution(kb, { 'knowledge-base:kb-1': 'kb-tgt' }, new Set())).toBe('mapped') + expect(forkParentResolution(kb, {}, new Set())).toBe('unresolved') + }) + + it('toggling copy⇄map flips the resolution (the selector scope + seed follow it)', () => { + // Copy-selected: the dependent selectors browse the SOURCE parent. + const copying = new Set(['knowledge-base:kb-1']) + expect(forkParentResolution(kb, {}, copying)).toBe('copied') + // The user maps a target instead: the mapped entry drops out of the visible copyables + // (copy-vs-map reconciliation), so its copying key disappears and the resolution flips. + const targets = { 'knowledge-base:kb-1': 'kb-tgt' } + const mappedKeys = forkMappedCopyableKeys([kb], targets) + const copyingAfterMap = forkCopyingKeys( + forkVisibleCopyables([copyable({ kind: 'knowledge-base', sourceId: 'kb-1' })], mappedKeys), + copying + ) + expect(forkParentResolution(kb, targets, copyingAfterMap)).toBe('mapped') + // Back to copy ('' target override): the copyable is visible + still selected again. + const cleared = { 'knowledge-base:kb-1': '' } + const copyingAfterClear = forkCopyingKeys( + forkVisibleCopyables( + [copyable({ kind: 'knowledge-base', sourceId: 'kb-1' })], + forkMappedCopyableKeys([kb], cleared) + ), + copying + ) + expect(forkParentResolution(kb, cleared, copyingAfterClear)).toBe('copied') + }) +}) + describe('forkRequiredPending', () => { it('is true when a required ref is neither mapped nor selected for copy', () => { const items = [entry({ kind: 'credential', sourceId: 'c1', required: true })] diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/copy-reconciliation.ts b/apps/sim/ee/workspace-forking/components/fork-sync/copy-reconciliation.ts similarity index 79% rename from apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/copy-reconciliation.ts rename to apps/sim/ee/workspace-forking/components/fork-sync/copy-reconciliation.ts index afea9cd5010..1cb90b2bc8a 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/copy-reconciliation.ts +++ b/apps/sim/ee/workspace-forking/components/fork-sync/copy-reconciliation.ts @@ -62,6 +62,26 @@ export function forkCopyingKeys( return keys } +/** + * How a mapping entry is resolved under the live selection, for its dependents' behavior: + * - `copied`: selected for copy - dependents stay editable against the SOURCE parent (the copy + * will contain the source's children), seeded from the source reference. + * - `mapped`: has an effective target - dependents re-pick against the TARGET parent. + * - `unresolved`: neither - dependents are disabled; the parent's own gate owns the block. + * Mapped and copied are mutually exclusive by construction (a mapped copyable is excluded from + * the copy candidates), so the branch order is not load-bearing. + */ +export type ForkParentResolution = 'mapped' | 'copied' | 'unresolved' + +export function forkParentResolution( + entry: ForkMappingEntry, + targets: Record, + copyingKeys: ReadonlySet +): ForkParentResolution { + if (copyingKeys.has(forkRefKey(entry))) return 'copied' + return effectiveForkTarget(entry, targets) !== '' ? 'mapped' : 'unresolved' +} + /** * Whether every required reference is satisfied - it has a mapping target OR is selected for copy. * The server accepts a copy as resolving a required ref (promote.ts `willResolve`), so the client @@ -83,7 +103,7 @@ export function isForkRequiredComplete( /** * Whether any reference in a kind is required AND still unmapped AND not selected for copy - drives - * the overview's amber "pending" badge. Mirrors {@link isForkRequiredComplete}'s satisfied rule. + * the mapping summary's amber "pending" badge. Mirrors {@link isForkRequiredComplete}'s satisfied rule. */ export function forkRequiredPending( items: ForkMappingEntry[], diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/components/dependent-field-selector.tsx b/apps/sim/ee/workspace-forking/components/fork-sync/dependent-field-selector.tsx similarity index 95% rename from apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/components/dependent-field-selector.tsx rename to apps/sim/ee/workspace-forking/components/fork-sync/dependent-field-selector.tsx index b906d7cb858..f1768f1278a 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/components/dependent-field-selector.tsx +++ b/apps/sim/ee/workspace-forking/components/fork-sync/dependent-field-selector.tsx @@ -17,7 +17,7 @@ interface DependentFieldSelectorProps { } /** - * A controlled, standalone selector for the sync modal's pre-sync reconfigure: fetches + * A controlled, standalone selector for the sync page's pre-sync reconfigure: fetches * options via the shared selector data layer (the same `useSelectorOptions` registry the * canvas selectors use) without the canvas store/blockId coupling. Mirrors * {@link ConnectorSelectorField}. diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/dependent-value.test.ts b/apps/sim/ee/workspace-forking/components/fork-sync/dependent-value.test.ts similarity index 53% rename from apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/dependent-value.test.ts rename to apps/sim/ee/workspace-forking/components/fork-sync/dependent-value.test.ts index 16f49d4de4a..0f4963adcad 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/dependent-value.test.ts +++ b/apps/sim/ee/workspace-forking/components/fork-sync/dependent-value.test.ts @@ -5,8 +5,9 @@ import { describe, expect, it } from 'vitest' import type { ForkDependentReconfig } from '@/lib/api/contracts/workspace-fork' import { dependentKey, + effectiveCopyDependentValue, effectiveDependentValue, -} from '@/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/dependent-value' +} from '@/ee/workspace-forking/components/fork-sync/dependent-value' const field = (overrides: Partial = {}): ForkDependentReconfig => ({ parentKind: 'credential', @@ -22,6 +23,7 @@ const field = (overrides: Partial = {}): ForkDependentRec required: false, consumesContextKeys: [], context: {}, + sourceValue: '', ...overrides, }) @@ -57,3 +59,41 @@ describe('effectiveDependentValue', () => { expect(effectiveDependentValue(f, { [dependentKey(f)]: '' }, false)).toBe('') }) }) + +describe('effectiveCopyDependentValue', () => { + const copyField = (overrides: Partial = {}) => + field({ + parentKind: 'knowledge-base', + parentSourceId: 'kb-src', + parentContextKey: 'knowledgeBaseId', + subBlockKey: 'documentSelector', + selectorKey: 'knowledge.documents', + title: 'Document', + ...overrides, + }) + + it('seeds from the raw source reference when nothing is stored (the copy will contain it)', () => { + const f = copyField({ currentValue: '', sourceValue: 'doc-src' }) + expect(effectiveCopyDependentValue(f, {})).toBe('doc-src') + }) + + it('prefers the stored value over the source reference (a saved re-pick survives reload)', () => { + const f = copyField({ currentValue: 'doc-saved', sourceValue: 'doc-src' }) + expect(effectiveCopyDependentValue(f, {})).toBe('doc-saved') + }) + + it('an in-session re-pick wins over both', () => { + const f = copyField({ currentValue: 'doc-saved', sourceValue: 'doc-src' }) + expect(effectiveCopyDependentValue(f, { [dependentKey(f)]: 'doc-picked' })).toBe('doc-picked') + }) + + it('an explicit empty re-pick is respected (a required field then gates as usual)', () => { + const f = copyField({ currentValue: '', sourceValue: 'doc-src' }) + expect(effectiveCopyDependentValue(f, { [dependentKey(f)]: '' })).toBe('') + }) + + it('is blank when the source never referenced anything and nothing was stored', () => { + const f = copyField({ currentValue: '', sourceValue: '' }) + expect(effectiveCopyDependentValue(f, {})).toBe('') + }) +}) diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/dependent-value.ts b/apps/sim/ee/workspace-forking/components/fork-sync/dependent-value.ts similarity index 51% rename from apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/dependent-value.ts rename to apps/sim/ee/workspace-forking/components/fork-sync/dependent-value.ts index 653e9d1fdcd..04f8d213377 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/workspace-header/components/promote-workspace-modal/dependent-value.ts +++ b/apps/sim/ee/workspace-forking/components/fork-sync/dependent-value.ts @@ -9,7 +9,7 @@ export function dependentKey(dependent: ForkDependentReconfig): string { * The value sent + displayed for a dependent: the user's in-session re-pick if present, else the * stored value (`currentValue`). Blank when the parent target changed in-session, since the old * stored value was for the previous parent and won't resolve against the new one. Shared by the - * modal (gate + payload) and the per-block selector so the rule can't drift between them. + * sync gate + payload build and the per-block selector so the rule can't drift between them. */ export function effectiveDependentValue( field: ForkDependentReconfig, @@ -20,3 +20,20 @@ export function effectiveDependentValue( if (repicked !== undefined) return repicked return parentChanged ? '' : field.currentValue } + +/** + * The value sent + displayed for a dependent whose parent is resolved by COPY: the user's + * in-session re-pick, else the stored value, else the field's raw SOURCE reference. The copy + * brings the source parent's children along (a copied KB carries its referenced documents), so + * the source reference is exactly what the copied parent will contain - the selector browses the + * SOURCE parent and this seed resolves there. An explicit empty re-pick is respected (it gates a + * required field as usual). + */ +export function effectiveCopyDependentValue( + field: ForkDependentReconfig, + reconfig: Record +): string { + const repicked = reconfig[dependentKey(field)] + if (repicked !== undefined) return repicked + return field.currentValue || field.sourceValue +} diff --git a/apps/sim/ee/workspace-forking/components/fork-sync/fork-sync-view.tsx b/apps/sim/ee/workspace-forking/components/fork-sync/fork-sync-view.tsx new file mode 100644 index 00000000000..bc5a6aa1368 --- /dev/null +++ b/apps/sim/ee/workspace-forking/components/fork-sync/fork-sync-view.tsx @@ -0,0 +1,707 @@ +'use client' + +import { type Dispatch, Fragment, type SetStateAction, useMemo, useState } from 'react' +import { + Badge, + ChevronDown, + ChipCombobox, + ChipSwitch, + CollapsibleCard, + cn, + FieldDivider, + Label, +} from '@sim/emcn' +import { ArrowRight } from 'lucide-react' +import type { + ForkCopyableUnmapped, + ForkDependentReconfig, + ForkMappingEntry, + ForkResourceUsage, +} from '@/lib/api/contracts/workspace-fork' +import { SettingsEmptyState } from '@/app/workspace/[workspaceId]/settings/components/settings-empty-state' +import { SettingsSection } from '@/app/workspace/[workspaceId]/settings/components/settings-section/settings-section' +import { + FileKindRow, + ResourceKindRow, +} from '@/ee/workspace-forking/components/fork-resource-picker/fork-resource-picker' +import { forkBlockerResolution } from '@/ee/workspace-forking/components/fork-sync/cleared-refs-list' +import { forkRefKey } from '@/ee/workspace-forking/components/fork-sync/copy-reconciliation' +import { DependentFieldSelector } from '@/ee/workspace-forking/components/fork-sync/dependent-field-selector' +import { + dependentKey, + effectiveCopyDependentValue, + effectiveDependentValue, +} from '@/ee/workspace-forking/components/fork-sync/dependent-value' +import type { + ForkKindSummary, + ForkMappingGroup, + ForkSyncController, +} from '@/ee/workspace-forking/components/fork-sync/use-fork-sync' +import type { ForkDirection } from '@/ee/workspace-forking/hooks/workspace-fork' +import type { SelectorKey } from '@/hooks/selectors/types' + +/** + * Copyable kinds as expandable rows in the "Copy resources" section, ordered + labeled to match + * the fork modal's resource picker exactly. Files nest in a folder ▸ file tree; every other kind + * is a flat list. + */ +const COPYABLE_KIND_SECTIONS: ReadonlyArray<{ + kind: ForkCopyableUnmapped['kind'] + label: string +}> = [ + { kind: 'file', label: 'Files' }, + { kind: 'table', label: 'Tables' }, + { kind: 'knowledge-base', label: 'Knowledge bases' }, + { kind: 'custom-tool', label: 'Custom tools' }, + { kind: 'skill', label: 'Skills' }, + { kind: 'mcp-server', label: 'MCP servers' }, +] + +/** + * Sentinel option value for the "New copy" entry - the displayed resolution while a copyable + * is copy-selected, and the way back to the copy flow after mapping. Handled via onSelect, + * never sent. + */ +const NEW_COPY_VALUE = '__new_copy__' + +/** Fixed target-picker width so every mapping row's control lines up as one column (mirrors General). */ +const MAPPING_TARGET_TRIGGER_CLASS = 'w-[240px] flex-shrink-0' + +interface DependentBlock { + targetBlockId: string + blockName: string + fields: ForkDependentReconfig[] +} + +interface WorkflowDependents { + workflowId: string + workflowName: string + blocks: DependentBlock[] +} + +/** + * Bucket an entry's dependents per workflow, then per block within it - the + * workflow → block hierarchy the workflow cards render from. + */ +function groupDependentsByWorkflow( + workflows: ForkResourceUsage['workflows'], + dependents: ForkDependentReconfig[] +): WorkflowDependents[] { + const byWorkflow = new Map() + for (const dependent of dependents) { + const list = byWorkflow.get(dependent.targetWorkflowId) + if (list) list.push(dependent) + else byWorkflow.set(dependent.targetWorkflowId, [dependent]) + } + return workflows.map((workflow) => { + const byBlock = new Map() + for (const field of byWorkflow.get(workflow.workflowId) ?? []) { + let block = byBlock.get(field.targetBlockId) + if (!block) { + block = { targetBlockId: field.targetBlockId, blockName: field.blockName, fields: [] } + byBlock.set(field.targetBlockId, block) + } + block.fields.push(field) + } + return { + workflowId: workflow.workflowId, + workflowName: workflow.workflowName, + blocks: Array.from(byBlock.values()).sort((a, b) => a.blockName.localeCompare(b.blockName)), + } + }) +} + +/** Chain state for one block: the SelectorContext values its parent fields provide. */ +function blockChainState( + block: DependentBlock, + effectiveValue: (field: ForkDependentReconfig) => string +) { + const providedValues: Record = {} + const providedContextKeys = new Set() + for (const field of block.fields) { + if (field.providesContextKey) { + providedContextKeys.add(field.providesContextKey) + const value = effectiveValue(field) + if (value) providedValues[field.providesContextKey] = value + } + } + return { providedValues, providedContextKeys } +} + +/** Store a re-pick and invalidate in-block children chained off the changed field. */ +function applyDependentRepick( + setReconfig: Dispatch>>, + field: ForkDependentReconfig, + blockFields: ForkDependentReconfig[], + value: string +) { + setReconfig((prev) => { + const nextState = { ...prev, [dependentKey(field)]: value } + // A changed parent invalidates its children's stale re-picks. + const providedKey = field.providesContextKey + if (providedKey) { + for (const sibling of blockFields) { + if (sibling.consumesContextKeys.includes(providedKey)) { + delete nextState[dependentKey(sibling)] + } + } + } + return nextState + }) +} + +interface DependentSelectorProps { + field: ForkDependentReconfig + block: DependentBlock + target: string + parentChanged: boolean + /** True when the parent is resolved by COPY: browse the SOURCE parent, seeded from the source. */ + copying: boolean + workspaceId: string + sourceWorkspaceId: string + reconfig: Record + setReconfig: Dispatch>> +} + +/** + * One depends-on field's selector. Under a MAPPED parent it browses the TARGET parent + * (pre-filled from the stored value, blank after a parent change) and is disabled until the + * parent target is set. Under a COPY-resolved parent it browses the SOURCE parent (the copy + * will contain exactly those children), pre-filled with the source reference. Either way it + * stays disabled until every chained in-block parent has a value, and a re-pick invalidates + * chained children. + */ +function DependentSelector({ + field, + block, + target, + parentChanged, + copying, + workspaceId, + sourceWorkspaceId, + reconfig, + setReconfig, +}: DependentSelectorProps) { + const effectiveValue = (f: ForkDependentReconfig) => + copying + ? effectiveCopyDependentValue(f, reconfig) + : effectiveDependentValue(f, reconfig, parentChanged) + const { providedValues, providedContextKeys } = blockChainState(block, effectiveValue) + // Disabled until every in-block parent it depends on has a value, so a child never queries + // a stale upstream value. + const ready = field.consumesContextKeys.every( + (key) => !providedContextKeys.has(key) || providedValues[key] !== undefined + ) + // A copy-resolved parent has no target id until the sync runs - scope to the SOURCE parent + // instead (its children are what the copy brings), keeping the selector fully editable. + const parentValue = copying ? field.parentSourceId : target + return ( + applyDependentRepick(setReconfig, field, block.fields, value)} + title={field.title} + /> + ) +} + +interface DependentWorkflowCardProps { + workflow: WorkflowDependents + target: string + parentChanged: boolean + /** True when the parent is resolved by COPY - the selectors browse the SOURCE parent. */ + copying: boolean + workspaceId: string + sourceWorkspaceId: string + reconfig: Record + setReconfig: Dispatch>> +} + +/** + * One workflow's dependent fields as a collapsible card (the same `CollapsibleCard` the table + * workflow sidebar's input mapping and the enrichment config use): the header names the + * workflow, the body groups fields under their block's label. Cards holding a required field + * start expanded - a required field is what gates Sync. + */ +function DependentWorkflowCard({ + workflow, + target, + parentChanged, + copying, + workspaceId, + sourceWorkspaceId, + reconfig, + setReconfig, +}: DependentWorkflowCardProps) { + const [collapsed, setCollapsed] = useState( + () => !workflow.blocks.some((block) => block.fields.some((field) => field.required)) + ) + return ( + setCollapsed((value) => !value)} + > + {workflow.blocks.map((block) => ( +
+ + {block.fields.map((field) => ( +
+ + {field.title} + {field.required ? * : null} + + +
+ ))} +
+ ))} +
+ ) +} + +interface MappingEntryProps { + controller: ForkSyncController + group: ForkMappingGroup + entry: ForkMappingEntry +} + +/** + * One mapping entry: the source ↔ target picker row (with a "Copy instead" entry for copy + * candidates and per-source taken-target disabling on push), then one collapsible card per + * workflow the resource is used in, holding that workflow's dependent field selectors. + * Workflows with nothing to configure are named in a muted note so the usage stays visible. + */ +function MappingEntry({ controller, group, entry }: MappingEntryProps) { + const target = controller.targetFor(entry) + const takenOwners = controller.takenOwnersFor(entry, group.items) + const parentChanged = controller.parentChangedFor(entry) + const entryRefKey = forkRefKey(entry) + const copying = controller.copyingKeys.has(entryRefKey) + + const usages = controller.usagesForEntry(entry) + const dependents = controller.dependentsForEntry(entry) + // Group once per (usages, dependents) change - both keep stable references from the + // controller's memoized maps, so this skips recompute across the page's frequent re-renders. + const workflows = useMemo( + () => groupDependentsByWorkflow(usages, dependents), + [usages, dependents] + ) + const configurable = workflows.filter((workflow) => workflow.blocks.length > 0) + const usedOnly = workflows.filter((workflow) => workflow.blocks.length === 0) + + return ( +
+
+
+ +
+
+
+ {entry.candidatesTruncated ? ( +

+ More options than shown — search by name. +

+ ) : null} +
+ {configurable.map((workflow) => ( + + ))} + {usedOnly.length > 0 ? ( +

+ Also used in {usedOnly.map((workflow) => workflow.workflowName).join(', ')} — nothing to + configure there. +

+ ) : null} +
+ ) +} + +/** Badge copy + color for one kind's mapping status (shared badge rules with the old summary). */ +function kindStatusBadge(summary: ForkKindSummary): { + label: string + variant: 'green' | 'amber' | 'gray-secondary' +} { + const { total, mapped, copied, requiredPending, reconfigPending } = summary + const resolved = mapped + copied + const complete = resolved === total && !reconfigPending + const label = complete + ? mapped === total + ? 'Fully mapped' + : copied === total + ? 'Copied' + : 'Mapped & copied' + : reconfigPending && resolved === total + ? 'Needs setup' + : copied > 0 + ? `${resolved}/${total} ready` + : `${mapped}/${total} mapped` + const variant = complete + ? 'green' + : requiredPending || reconfigPending + ? 'amber' + : 'gray-secondary' + return { label, variant } +} + +interface MappingKindRowProps { + controller: ForkSyncController + group: ForkMappingGroup + summary: ForkKindSummary +} + +/** + * One resource kind in the Mappings section: a chevron header row with the kind's status badge + * (the summary IS the entry), expanding to that kind's mapping entries. Mirrors the expandable + * kind rows of the Copy resources section so the two sections share one interaction rhythm. + */ +function MappingKindRow({ controller, group, summary }: MappingKindRowProps) { + const [open, setOpen] = useState(false) + const badge = kindStatusBadge(summary) + return ( +
+ + {open ? ( +
+ {group.items.map((entry, index) => ( + + {index > 0 ? : null} + + + ))} +
+ ) : null} +
+ ) +} + +interface CopyKindSectionsProps { + controller: ForkSyncController + byKind: ReadonlyMap +} + +/** + * One expandable row per copyable kind present in `byKind` - shared by the referenced group + * and the unreferenced "Not used by any workflow" group so both render exactly like the fork + * picker (files as a folder tree, every other kind flat). + */ +function CopyKindSections({ controller, byKind }: CopyKindSectionsProps) { + return ( + <> + {COPYABLE_KIND_SECTIONS.map((section) => { + const candidates = byKind.get(section.kind) + if (!candidates || candidates.length === 0) return null + // The picker rows track item ids; copy selection is keyed `${kind}:${id}` + // (matching `forkRefKey`), so derive the per-kind selected-id subset and + // re-prefix on toggle. + const selectedIds = new Set( + candidates + .filter((candidate) => controller.copySelected.has(forkRefKey(candidate))) + .map((candidate) => candidate.sourceId) + ) + const toggleMany = (ids: string[], checked: boolean) => + controller.toggleCopyKeys( + ids.map((id) => `${section.kind}:${id}`), + checked + ) + const toggleAll = (selectAll: boolean) => + toggleMany( + candidates.map((candidate) => candidate.sourceId), + selectAll + ) + return section.kind === 'file' ? ( + ({ + id: candidate.sourceId, + label: candidate.label, + folderId: candidate.parentId, + folderName: candidate.parentLabel, + }))} + selected={selectedIds} + onToggleAll={toggleAll} + onToggleItem={(id, checked) => toggleMany([id], checked)} + onToggleMany={toggleMany} + disabled={controller.submitting} + /> + ) : ( + ({ + id: candidate.sourceId, + label: candidate.label, + }))} + selected={selectedIds} + onToggleMany={toggleMany} + onToggleItem={(id, checked) => toggleMany([id], checked)} + disabled={controller.submitting} + /> + ) + })} + + ) +} + +interface ForkSyncViewProps { + controller: ForkSyncController + onDirectionChange: (direction: ForkDirection) => void +} + +/** + * The parent fork edge's sync experience as page sections: pick a direction, review the + * deployed-workflow changes, resolve the per-kind mappings (each kind an expandable row whose + * status badge doubles as the summary), choose which unmapped resources to copy, and clear any + * blocking references. The page header's Sync action commits it (after the overwrite confirm). + */ +export function ForkSyncView({ controller, onDirectionChange }: ForkSyncViewProps) { + const detailsError = controller.errorMessage ?? controller.diffErrorMessage + const headsUp = controller.mcpReauthCount > 0 || controller.inlineSecretCount > 0 + + return ( +
+ +
+ +

+ {controller.direction === 'push' + ? `Push this workspace's deployed workflows to "${controller.otherWorkspaceName}", overwriting it.` + : `Pull deployed workflows from "${controller.otherWorkspaceName}", overwriting this workspace.`} +

+
+
+ + {/* Surface a failed/pending fetch so the page never renders blank below the direction. */} + {detailsError ? ( + +
{detailsError}
+
+ ) : !controller.hasDiff ? ( +
Loading sync details…
+ ) : null} + + {/* Always shown once the diff loads so the user sees the section even with nothing + deployed - an empty change list means the source has no deployed workflows (every + deployed workflow appears here, changed or not), so the muted state nudges a deploy. */} + {controller.hasDiff ? ( + + {controller.workflowChanges.length > 0 ? ( +
+ {controller.workflowChanges.map((change, index) => { + const renamed = change.currentName !== change.otherName + return ( +
+ + {change.currentName} + + {renamed ? ( + <> + + + {change.otherName} + + + ) : null} +
+ ) + })} +
+ ) : ( +
+ {controller.direction === 'push' + ? `No deployed workflows. Deploy workflows to push changes to ${controller.otherWorkspaceName}.` + : `No deployed workflows in ${controller.otherWorkspaceName} to pull.`} +
+ )} +
+ ) : null} + + {headsUp ? ( + + {controller.mcpReauthCount > 0 ? ( +
+ {controller.mcpReauthCount} MCP server(s) use OAuth and must be re-authorized in the + target workspace. +
+ ) : null} + {controller.inlineSecretCount > 0 ? ( +
+ {controller.inlineSecretCount} inline secret(s) can't be auto-mapped — set them in the + target workspace. +
+ ) : null} +
+ ) : null} + + {controller.hasMapping ? ( + + {controller.groups.length > 0 ? ( +
+ {controller.groups.map((group) => { + const summary = controller.kindSummaries.find((item) => item.kind === group.kind) + if (!summary) return null + return ( + + ) + })} +
+ ) : ( + + This workspace's deployed workflows have no mappable references. + + )} +
+ ) : null} + + {controller.hasVisibleCopyables ? ( + +
+ {controller.referencedByKind.size > 0 ? ( + + ) : null} + {controller.unreferencedByKind.size > 0 ? ( + <> + {controller.referencedByKind.size > 0 ? ( +
+ Not used by any workflow +
+ ) : null} + + + ) : null} +
+
+ ) : null} + + {controller.blockingRefs.length > 0 ? ( + +
+ {controller.blockingRefs.map((ref, index) => ( +
+ {ref.blockLabel} would lose{' '} + {ref.fieldLabel} in{' '} + {ref.workflowName} — {forkBlockerResolution(ref)} +
+ ))} +
+
+ ) : null} + + {controller.dependentClears.length > 0 ? ( + +
+ {controller.dependentClears.map((ref, index) => ( +
+ {ref.blockLabel} will lose{' '} + {ref.fieldLabel} in{' '} + {ref.workflowName} +
+ ))} +
+

+ Re-pick these in the target after the sync. +

+
+ ) : null} +
+ ) +} diff --git a/apps/sim/ee/workspace-forking/components/fork-sync/use-fork-sync.ts b/apps/sim/ee/workspace-forking/components/fork-sync/use-fork-sync.ts new file mode 100644 index 00000000000..f84895e72b9 --- /dev/null +++ b/apps/sim/ee/workspace-forking/components/fork-sync/use-fork-sync.ts @@ -0,0 +1,810 @@ +'use client' + +import { type Dispatch, type SetStateAction, useEffect, useMemo, useState } from 'react' +import { toast } from '@sim/emcn' +import { getErrorMessage } from '@sim/utils/errors' +import type { + ForkClearedRef, + ForkCopyableUnmapped, + ForkDependentReconfig, + ForkMappingEntry, + ForkResourceUsage, + ForkWorkflowChange, +} from '@/lib/api/contracts/workspace-fork' +import { + selectVisibleClearedRefs, + splitForkClearedRefs, +} from '@/ee/workspace-forking/components/fork-sync/cleared-refs-list' +import { + effectiveForkTarget, + type ForkParentResolution, + forkCopyingKeys, + forkDefaultCopySelection, + forkMappedCopyableKeys, + forkParentResolution, + forkRefKey, + forkRequiredKindsLabel, + forkRequiredPending, + forkVisibleCopyables, + isForkRequiredComplete, +} from '@/ee/workspace-forking/components/fork-sync/copy-reconciliation' +import { + dependentKey, + effectiveCopyDependentValue, + effectiveDependentValue, +} from '@/ee/workspace-forking/components/fork-sync/dependent-value' +import { + type ForkDirection, + useForkDiff, + useForkMapping, + usePromoteFork, + useUpdateForkMapping, +} from '@/ee/workspace-forking/hooks/workspace-fork' + +/** + * The mapping kinds that can be a standalone mapping entry. `knowledge-document` is excluded: + * the mapping view (`getForkMappingView`) skips documents — they ride their parent KB via the + * reconfigure flow — so a `knowledge-document` mapping section is never reachable. + */ +export type MappableMappingKind = Exclude + +/** Section label + display order per mapping kind (one mapping group per kind). */ +const MAPPING_SECTION: Record = { + credential: { label: 'Credentials', order: 0 }, + 'env-var': { label: 'Secrets', order: 1 }, + table: { label: 'Tables', order: 2 }, + 'knowledge-base': { label: 'Knowledge bases', order: 3 }, + file: { label: 'Files', order: 4 }, + 'mcp-server': { label: 'MCP servers', order: 5 }, + 'custom-tool': { label: 'Custom tools', order: 6 }, + skill: { label: 'Skills', order: 7 }, +} + +/** Shared empty owners map for the pull direction so the options mapper never re-allocates. */ +const EMPTY_TARGET_OWNERS: ReadonlyMap = new Map() + +/** + * Stable empty arrays so an entry with no usages/dependents keeps a constant prop reference, + * letting the workflow-card grouping memos skip recompute across the page's frequent re-renders. + */ +const EMPTY_USAGES: ForkResourceUsage['workflows'] = [] +const EMPTY_DEPENDENTS: ForkDependentReconfig[] = [] + +/** Target workflows this sync archives, previewed in the confirm before "and X more". */ +export const ARCHIVED_PREVIEW_LIMIT = 5 + +export interface ForkMappingGroup { + kind: MappableMappingKind + label: string + items: ForkMappingEntry[] +} + +/** Per-kind mapping status for the Mappings section's summary badges. */ +export interface ForkKindSummary { + kind: MappableMappingKind + total: number + mapped: number + copied: number + requiredPending: boolean + reconfigPending: boolean +} + +export interface ForkSyncController { + direction: ForkDirection + otherWorkspaceName: string + isLoading: boolean + isError: boolean + errorMessage: string | null + /** Diff fetch failure, surfaced inline (the mapping may still have loaded). */ + diffErrorMessage: string | null + /** True once the diff payload for ANY direction is present (placeholder included). */ + hasDiff: boolean + /** True once the mapping payload is present (placeholder included), gating the Mappings section. */ + hasMapping: boolean + groups: ForkMappingGroup[] + /** Per-kind mapping status, aligned with `groups` (same kinds, same order). */ + kindSummaries: ForkKindSummary[] + /** Effective (in-session override, else persisted/suggested) target for an entry. */ + targetFor: (entry: ForkMappingEntry) => string + /** Set an entry's target ('' clears it) and drop its dependents' stale re-picks. */ + setTarget: (entry: ForkMappingEntry, value: string) => void + /** Targets already claimed by another source in the same kind (push targets are unique; pull never disables). */ + takenOwnersFor: ( + entry: ForkMappingEntry, + items: ForkMappingEntry[] + ) => ReadonlyMap + /** Every workflow an entry's resource is used in (diff-fed; empty until the diff loads). */ + usagesForEntry: (entry: ForkMappingEntry) => ForkResourceUsage['workflows'] + /** An entry's dependent fields (its credential/KB/table's selectors), from the diff. */ + dependentsForEntry: (entry: ForkMappingEntry) => ForkDependentReconfig[] + /** + * Whether an entry needs an in-place reconfigure: its effective target changed in-session, + * or it's an unconfirmed suggestion (accepting it as-is still remaps + clears the dependents). + */ + parentChangedFor: (entry: ForkMappingEntry) => boolean + /** The workspace a MAPPED parent's dependent selectors query against (direction-aware from the diff). */ + targetWorkspaceId: string + /** + * The sync's source workspace (push: this one; pull: the other), which a COPY-resolved + * parent's dependent selectors browse - the copy will contain the source parent's children, + * so the source is the truthful catalog to pick from. + */ + sourceWorkspaceId: string + /** In-session dependent re-picks, keyed by `dependentKey`. */ + reconfig: Record + setReconfig: Dispatch>> + /** Keys the backend offers as copy candidates, for the entry rows' "Copy instead" affordance. */ + copyableKeys: ReadonlySet + /** Copyables actually selected for copy (visible + checked), keyed `${kind}:${sourceId}`. */ + copyingKeys: ReadonlySet + /** The raw copy selection (visible-ness not applied), for per-kind selected-id derivation. */ + copySelected: ReadonlySet + toggleCopyKeys: (keys: string[], checked: boolean) => void + /** Visible copy candidates split by referenced-ness, grouped per kind for the section rows. */ + referencedByKind: ReadonlyMap + unreferencedByKind: ReadonlyMap + hasVisibleCopyables: boolean + /** Would-clear references that BLOCK sync (mirrors the server's zero-cleared-refs gate). */ + blockingRefs: ForkClearedRef[] + /** Informational would-clear dependents (owned by the reconfigure flow; never block). */ + dependentClears: ForkClearedRef[] + /** Deployed-workflow change list (update → create → archive, then by name). */ + workflowChanges: ForkWorkflowChange[] + /** Names of target workflows this sync archives, for the confirm modal. */ + archivedWorkflowNames: string[] + mcpReauthCount: number + inlineSecretCount: number + dirty: boolean + saving: boolean + save: () => void + discard: () => void + submitting: boolean + syncDisabled: boolean + /** Names the failing gate for the disabled Sync chip's tooltip; undefined when enabled. */ + syncDisabledReason: string | undefined + /** Persist the effective mapping + dependents + copy selection, then promote. */ + sync: () => Promise +} + +const entryKey = (entry: ForkMappingEntry) => forkRefKey(entry) + +/** + * Whether a mapping entry needs an in-place reconfigure: its effective target was changed + * in-session, or it's an unconfirmed suggestion (accepting it as-is still remaps + clears + * the dependents). Pure over (entry, in-session targets) so the inline render, the Sync + * gate, and the payload build share one predicate instead of drifting copies. + */ +function shouldReconfigureEntry(entry: ForkMappingEntry, targets: Record): boolean { + const next = targets[entryKey(entry)] ?? entry.targetId ?? '' + if (next === '') return false + return entry.suggested || next !== (entry.targetId ?? '') +} + +/** + * Targets already taken by OTHER sources in the same kind, each mapped to the owning + * source's label (for a hint). Used to disable those targets on PUSH: a push row is unique + * on the parent (target) side, so a parent target can back only one source - a second source + * picking it would be silently dropped on save. Pull is the inverse (many parent sources may + * share one fork target, which resolves correctly), so pull passes the empty map and never + * disables. Excludes `exclude` so a source never disables its own current selection. + */ +function takenTargetOwners( + items: ForkMappingEntry[], + targets: Record, + exclude: ForkMappingEntry +): Map { + const owners = new Map() + for (const item of items) { + if (entryKey(item) === entryKey(exclude)) continue + const target = targets[entryKey(item)] ?? item.targetId ?? '' + if (target !== '') owners.set(target, item.sourceLabel) + } + return owners +} + +/** + * The full sync surface's state for one fork edge, in the chosen direction: the editable + * resource mapping (in-session target overrides + dependent re-picks, persisted via Save or + * as part of Sync), the copy-resources selection (seeded once the diff settles), the reactive + * would-clear blockers, the per-kind status summaries, the Sync gate, and the promote run + * itself. A direction switch drops every in-session choice — the mapping set, copy candidates, + * and blockers all depend on the direction — and the copy selection re-seeds only from a + * settled (non-placeholder) diff so a stale payload can't latch wrong keys. + */ +export function useForkSync(params: { + workspaceId: string + otherWorkspaceId?: string + otherWorkspaceName: string + direction: ForkDirection + enabled: boolean +}): ForkSyncController { + const { workspaceId, otherWorkspaceId, otherWorkspaceName, direction, enabled } = params + + // User's IN-SESSION mapping overrides only - NOT the source of truth. The displayed/persisted + // target falls back to each entry's stored `targetId` (see `targetFor`), so a reopened edge + // shows its remembered mappings even though React Query's structural sharing keeps `entries` + // referentially stable (a target-seeding effect gated on `entries` would never re-run there). + const [targets, setTargets] = useState>({}) + // In-session re-picks for dependent fields whose parent the user swapped, keyed by + // `dependentKey`. Folded into the full effective set sent on save/sync, which the server + // persists as the stored mapping - so the selection survives every future sync without + // re-picking. + const [reconfig, setReconfig] = useState>({}) + // Referenced-but-unmapped resources the user chose to copy into the target (keyed by + // `${kind}:${sourceId}`); default-selected once the diff loads. Selected ones are copied on + // sync so their references resolve to the copy instead of being cleared. + const [copySelected, setCopySelected] = useState>(new Set()) + const [copyDefaulted, setCopyDefaulted] = useState(false) + const [submitting, setSubmitting] = useState(false) + + // Drop every in-session choice when the direction (or edge) changes - the mapping set, + // copy candidates, and blockers all depend on it. + useEffect(() => { + setTargets({}) + setReconfig({}) + setCopySelected(new Set()) + setCopyDefaulted(false) + }, [direction, otherWorkspaceId]) + + const mapping = useForkMapping({ workspaceId, otherWorkspaceId, direction, enabled }) + const diff = useForkDiff({ workspaceId, otherWorkspaceId, direction, enabled }) + const updateMapping = useUpdateForkMapping() + const promote = usePromoteFork() + + const entries = useMemo(() => mapping.data?.entries ?? [], [mapping.data]) + const dependentReconfigs = useMemo( + () => diff.data?.dependentReconfigs ?? [], + [diff.data?.dependentReconfigs] + ) + const resourceUsages = useMemo(() => diff.data?.resourceUsages ?? [], [diff.data?.resourceUsages]) + const copyableUnmapped = useMemo( + () => diff.data?.copyableUnmapped ?? [], + [diff.data?.copyableUnmapped] + ) + const clearedRefs = useMemo(() => diff.data?.clearedRefs ?? [], [diff.data?.clearedRefs]) + + // Keys the backend offers as copy candidates, so the entry rows show a "Copy instead" + // affordance only for those - clearing a name-match suggestion returns the ref to the copy + // list (it re-enters `visibleCopyables` once its effective target is ''). + const copyableKeys = useMemo( + () => new Set(copyableUnmapped.map((candidate) => forkRefKey(candidate))), + [copyableUnmapped] + ) + + // Copy-vs-map reconciliation: a copyable resource the user has given an effective (in-session + // or persisted) mapping target must NOT also appear in the copy list - the user picked map, not + // copy. `forkRefKey` shares the `${kind}:${sourceId}` keyspace across entries and candidates, + // so a mapped entry's key directly excludes its copy candidate. The server enforces the same + // precedence: a mapped resource resolves != null, so it never reaches the plan's + // `copyableUnmapped`, and a copy request for it is dropped by `buildPromoteCopySelection`. + const mappedCopyableKeys = useMemo( + () => forkMappedCopyableKeys(entries, targets), + [entries, targets] + ) + + const visibleCopyables = useMemo( + () => forkVisibleCopyables(copyableUnmapped, mappedCopyableKeys), + [copyableUnmapped, mappedCopyableKeys] + ) + + // Copyables actually selected for copy (visible + checked), keyed for an O(1) lookup so a + // copyable mapping entry can show a "will be copied" note. + const copyingKeys = useMemo( + () => forkCopyingKeys(visibleCopyables, copySelected), + [visibleCopyables, copySelected] + ) + + // Group the visible copy candidates by kind so each renders as its own expandable section + // (chevron + tri-state select-all + count), matching the fork picker. Referenced and + // unreferenced candidates group separately: unreferenced ones (used by no synced workflow) + // render under a muted "Not used by any workflow" grouping and default to unselected. + const { referencedByKind, unreferencedByKind } = useMemo(() => { + const referenced = new Map() + const unreferenced = new Map() + for (const candidate of visibleCopyables) { + const groups = candidate.referenced ? referenced : unreferenced + const list = groups.get(candidate.kind) + if (list) list.push(candidate) + else groups.set(candidate.kind, [candidate]) + } + return { referencedByKind: referenced, unreferencedByKind: unreferenced } + }, [visibleCopyables]) + + // Default every REFERENCED copyable resource to "copy" once the diff loads, so the common case + // (bring the referenced resources along) needs no clicks; the user can deselect to clear + // instead. Unreferenced candidates start unselected (see `forkDefaultCopySelection`) - copying + // them is opt-in since nothing references them. Seed ONLY from a settled diff for the current + // direction: on a direction switch the reset clears `copyDefaulted`, but `useForkDiff` keeps + // the previous direction's payload (placeholderData) until the new fetch resolves - seeding + // from it would latch against stale keys and leave the real copyables unchecked, clearing + // their references on Sync. + useEffect(() => { + if (!enabled || diff.isPlaceholderData || copyableUnmapped.length === 0 || copyDefaulted) return + setCopyDefaulted(true) + setCopySelected(forkDefaultCopySelection(copyableUnmapped)) + }, [enabled, diff.isPlaceholderData, copyableUnmapped, copyDefaulted]) + + // Group dependents by their parent (kind:sourceId) once, so each mapping entry gets a + // STABLE `dependents` array reference - a fresh `.filter` per render would defeat the + // workflow-card grouping memos. + const dependentsByParent = useMemo(() => { + const map = new Map() + for (const dependent of dependentReconfigs) { + const key = `${dependent.parentKind}:${dependent.parentSourceId}` + const list = map.get(key) + if (list) list.push(dependent) + else map.set(key, [dependent]) + } + return map + }, [dependentReconfigs]) + + // Effective target for an entry: the user's in-session override if present, else the + // persisted mapping from the server. Read directly from `entries` so a reopened edge + // reflects stored mappings without a seeding effect. + const targetFor = (entry: ForkMappingEntry) => effectiveForkTarget(entry, targets) + + const usagesForEntry = (entry: ForkMappingEntry): ForkResourceUsage['workflows'] => + resourceUsages.find( + (usage) => usage.parentKind === entry.kind && usage.parentSourceId === entry.sourceId + )?.workflows ?? EMPTY_USAGES + + const dependentsForEntry = (entry: ForkMappingEntry): ForkDependentReconfig[] => + dependentsByParent.get(entryKey(entry)) ?? EMPTY_DEPENDENTS + + const parentChangedFor = (entry: ForkMappingEntry): boolean => + shouldReconfigureEntry(entry, targets) + + // Set an entry's in-session mapping target. A `value` of '' explicitly clears it, overriding + // any name-match suggestion (effectiveForkTarget's `??` treats '' as present, so the suggestion + // no longer wins) - so the resource re-enters `visibleCopyables` and is copy-selectable again. + // Changing the parent invalidates its dependents' in-session re-picks (chosen against the old + // account), so drop them. + const setTarget = (entry: ForkMappingEntry, value: string) => { + setTargets((prev) => ({ ...prev, [entryKey(entry)]: value })) + setReconfig((prev) => { + let changed = false + const next = { ...prev } + for (const dependent of dependentsForEntry(entry)) { + const key = dependentKey(dependent) + if (key in next) { + delete next[key] + changed = true + } + } + return changed ? next : prev + }) + } + + const takenOwnersFor = ( + entry: ForkMappingEntry, + items: ForkMappingEntry[] + ): ReadonlyMap => + direction === 'push' ? takenTargetOwners(items, targets, entry) : EMPTY_TARGET_OWNERS + + const toggleCopyKeys = (keys: string[], checked: boolean) => + setCopySelected((prev) => { + const next = new Set(prev) + for (const key of keys) { + if (checked) next.add(key) + else next.delete(key) + } + return next + }) + + // Group mappings by resource type - one accordion row per kind, required types first. + const groups = useMemo(() => { + const byKind = new Map() + for (const entry of entries) { + // The mapping view never emits a document entry (it rides its KB), so the group is + // unreachable - skip defensively so the narrowed `MAPPING_SECTION` lookup stays sound. + if (entry.kind === 'knowledge-document') continue + const list = byKind.get(entry.kind) + if (list) list.push(entry) + else byKind.set(entry.kind, [entry]) + } + return Array.from(byKind, ([kind, items]) => ({ + kind, + label: MAPPING_SECTION[kind].label, + items: items.slice().sort((a, b) => a.sourceLabel.localeCompare(b.sourceLabel)), + })).sort((a, b) => MAPPING_SECTION[a.kind].order - MAPPING_SECTION[b.kind].order) + }, [entries]) + + // The mapping entry each dependent hangs off, indexed by `kind:sourceId` (matching `entryKey`) + // so the per-field lookups below are O(1) instead of rescanning `entries` for every dependent - + // and several times per field across the Sync gate, the value helper, and the payload build. + const entriesByParent = useMemo(() => { + const map = new Map() + for (const entry of entries) map.set(entryKey(entry), entry) + return map + }, [entries]) + + const entryForDependent = (field: ForkDependentReconfig) => + entriesByParent.get(`${field.parentKind}:${field.parentSourceId}`) + + const resolutionFor = (entry: ForkMappingEntry): ForkParentResolution => + forkParentResolution(entry, targets, copyingKeys) + + // The value sent + displayed for a dependent (delegates to the shared per-resolution rule): + // the user's re-pick, else - under a MAPPED parent - the stored value (blank when the parent + // target changed in-session), or - under a COPY-resolved parent - the stored value falling + // back to the raw source reference (which the copied parent will contain). Callers that + // already resolved the parent pass both in to skip repeat lookups. + const dependentValueFor = ( + field: ForkDependentReconfig, + parent = entryForDependent(field), + resolution: ForkParentResolution = parent ? resolutionFor(parent) : 'unresolved' + ): string => { + if (resolution === 'copied') return effectiveCopyDependentValue(field, reconfig) + return effectiveDependentValue( + field, + reconfig, + parent ? shouldReconfigureEntry(parent, targets) : false + ) + } + + // A required reference is satisfied when it has a mapping target OR the user selected it for + // copy (the server accepts a copy as resolving a required ref). See `isForkRequiredComplete`. + const requiredComplete = isForkRequiredComplete(entries, targets, copyingKeys) + + // Every required dependent whose parent is RESOLVED must have a value before sync. Under a + // mapped parent the user re-picks against the target; under a copy-resolved parent the field + // pre-fills with the source reference (the copy carries it), so it's satisfied out of the box + // and gates only when explicitly emptied. A dependent whose parent is unresolved can't be + // picked yet (its selector is disabled) and is gated by `requiredComplete` on the parent + // instead, so it's skipped here. + const reconfigComplete = dependentReconfigs.every((field) => { + if (!field.required) return true + const parent = entryForDependent(field) + if (!parent) return true + const resolution = resolutionFor(parent) + if (resolution === 'unresolved') return true + return dependentValueFor(field, parent, resolution) !== '' + }) + + // Kinds with a required DEPENDENT that still has no value (its parent is resolved): these + // block Sync via `reconfigComplete`, so the summary badge for that kind must not read + // "Fully mapped". + const reconfigPendingByKind = new Set() + for (const field of dependentReconfigs) { + if (!field.required) continue + const parent = entryForDependent(field) + if (!parent) continue + const resolution = resolutionFor(parent) + if (resolution === 'unresolved') continue + if (dependentValueFor(field, parent, resolution) === '') { + reconfigPendingByKind.add(parent.kind as MappableMappingKind) + } + } + + // The references this sync would blank, reactively narrowed to the current selection. A + // resource is "resolved" once it has a mapping target OR is selected for copy - the same + // predicate drives a `reference` (its own resource) and a `dependent` (its PARENT resource), + // so mapping or copying a parent KB makes its child document drop off. Then split: + // `reference`/`workflow` entries are BLOCKERS (Sync stays disabled while any remain - + // mirroring the server's zero-cleared-refs gate); `dependent` entries stay informational + // (the reconfigure flow owns them). + const { blockers: blockingRefs, informational: dependentClears } = useMemo(() => { + const isResolved = (kind: string, sourceId: string) => { + const key = `${kind}:${sourceId}` + const entry = entriesByParent.get(key) + const mapped = entry ? (targets[key] ?? entry.targetId ?? '') !== '' : false + return mapped || copyingKeys.has(key) + } + return splitForkClearedRefs(selectVisibleClearedRefs(clearedRefs, isResolved)) + }, [clearedRefs, entriesByParent, targets, copyingKeys]) + + // Per-kind status for the Mappings summary: "Fully mapped" or "n/total mapped", flagged when + // a REQUIRED target is still missing (which blocks Sync). Reads the effective + // (override-or-persisted) target so it reflects both remembered mappings and in-session edits. + const kindSummaries: ForkKindSummary[] = groups.map((group) => { + const total = group.items.length + const mapped = group.items.filter((entry) => targetFor(entry) !== '').length + // Copy-selected items are resolved too (their refs are kept), so they count toward + // completion and render as "copied" rather than unconfigured. mapped/copied are disjoint: + // a mapped copyable is excluded from the copy candidates, so copyingKeys never overlaps a + // mapped entry. + const copied = group.items.filter((entry) => copyingKeys.has(entryKey(entry))).length + // Mirror the Sync gate: a required ref selected for copy is satisfied, so it is not + // "pending". + const requiredPending = forkRequiredPending(group.items, targets, copyingKeys) + const reconfigPending = reconfigPendingByKind.has(group.kind) + return { kind: group.kind, total, mapped, copied, requiredPending, reconfigPending } + }) + + // Kinds whose required gate is still failing, so the Sync tooltip can name the actual + // obstacle. An unmapped credential/secret is NEVER a cleared-ref blocker (the collector + // excludes required kinds), so the required gate must not borrow the blocker message - + // it would point at a "Blocking sync" section that isn't rendered. + const pendingRequiredKinds = new Set( + kindSummaries.filter((summary) => summary.requiredPending).map((summary) => summary.kind) + ) + + // Sync details still settling for the current direction: loading, a failed/empty mapping + // (`!mapping.data` must not read as "nothing required"), or the PREVIOUS direction's + // placeholder after a switch (syncing on it would send stale mappings/copies and clear + // references). Until `diff.data` arrives `dependentReconfigs` is empty, so `reconfigComplete` + // is vacuously true. + const dataPending = + mapping.isLoading || + !mapping.data || + mapping.isPlaceholderData || + !diff.data || + diff.isPlaceholderData + // A failed fetch also gates Sync: a failed REFETCH keeps the last successful payload in + // `data` (so `dataPending` stays false), and every gate below would be judging that stale + // snapshot while the page shows the load error. + const dataError = mapping.isError || diff.isError + // Zero-blockers invariant (mirrors the server gate): Sync stays disabled while ANY reference + // would clear in a synced target workflow. `requiredComplete` covers the mapping entries + // (credentials/secrets and unresolved resource refs); `blockingRefs` additionally covers + // workflow-to-workflow references, which have no mapping entry to resolve. + const syncBlocked = blockingRefs.length > 0 + const syncDisabled = + submitting || + !otherWorkspaceId || + !requiredComplete || + !reconfigComplete || + syncBlocked || + dataPending || + dataError + + // A load failure outranks the gates - they're computed from the stale (or absent) payload, + // so naming one would mislead. Then priority mirrors the resolution flow: clear the + // blockers, map the required resources, reconfigure their dependents - each failing gate + // names ITS obstacle (an unmapped credential/secret is a required-mapping failure, not a + // cleared-ref blocker; see `pendingRequiredKinds`). + const syncDisabledReason = dataError + ? "Couldn't load sync details — reload the page to retry" + : syncBlocked + ? 'Resolve every blocking reference first — map it, copy it, or fix it in the source' + : !requiredComplete + ? `Map all required ${forkRequiredKindsLabel(pendingRequiredKinds)} first` + : !reconfigComplete + ? 'Reconfigure all required fields first' + : dataPending + ? 'Loading sync details…' + : undefined + + const workflowChanges = useMemo(() => { + const order: Record = { update: 0, create: 1, archive: 2 } + return [...(diff.data?.workflows ?? [])].sort( + (a, b) => order[a.action] - order[b.action] || a.currentName.localeCompare(b.currentName) + ) + }, [diff.data?.workflows]) + + // Target workflows this sync archives (their source was deleted), named in the confirm modal + // so the overwrite warning is concrete. + const archivedWorkflowNames = useMemo( + () => + workflowChanges + .filter((change) => change.action === 'archive') + .map((change) => change.currentName), + [workflowChanges] + ) + + // Send the full stored mapping for every dependent whose parent is RESOLVED - mapped (its + // effective value: re-pick, stored, or blank-after-change) or copy-selected (re-pick, stored, + // or the source reference; promote translates a source document id to its copied counterpart + // at write time). The server persists this verbatim as the stored mapping; fields whose + // parent is unresolved are omitted (they can't be configured). This is the whole "what's in + // the mapping goes in" contract, shared by Save and Sync so the two persist identically. + const buildDependentValues = () => + dependentReconfigs.flatMap((field) => { + const parent = entryForDependent(field) + if (!parent) return [] + const resolution = resolutionFor(parent) + if (resolution === 'unresolved') return [] + return [ + { + workflowId: field.targetWorkflowId, + blockId: field.targetBlockId, + subBlockKey: field.subBlockKey, + value: dependentValueFor(field, parent, resolution), + }, + ] + }) + + const buildMappingEntries = () => + entries.map((entry) => ({ + resourceType: entry.resourceType, + sourceId: entry.sourceId, + targetId: targetFor(entry) || null, + })) + + // Dirty only on a real change from the stored/suggested target - so a freshly loaded + // mapping (even with name-match suggestions shown) isn't dirty until the user edits. + const targetsDirty = useMemo( + () => + entries.some((entry) => { + const key = entryKey(entry) + return key in targets && targets[key] !== (entry.targetId ?? '') + }), + [entries, targets] + ) + + // A dependent re-pick that differs from its stored value also dirties the editor. A re-pick + // under a changed parent is covered by `targetsDirty` (the parent override is the change). + const reconfigDirty = useMemo( + () => + dependentReconfigs.some((field) => { + const repicked = reconfig[dependentKey(field)] + return repicked !== undefined && repicked !== field.currentValue + }), + [dependentReconfigs, reconfig] + ) + + const dirty = targetsDirty || reconfigDirty + + const save = () => { + if (!otherWorkspaceId || !dirty || updateMapping.isPending) return + updateMapping.mutate( + { + workspaceId, + body: { + otherWorkspaceId, + direction, + // Persist the full effective set (WYSIWYG). Only include dependentValues once the + // diff has loaded; omitted before that so an early save can't wipe the store from + // an unknown set. + entries: buildMappingEntries(), + ...(diff.data ? { dependentValues: buildDependentValues() } : {}), + }, + }, + { + onSuccess: () => { + setTargets({}) + setReconfig({}) + toast.success('Mapping saved') + }, + onError: (error) => toast.error(getErrorMessage(error, 'Failed to save mapping')), + } + ) + } + + const discard = () => { + setTargets({}) + setReconfig({}) + } + + const sync = async () => { + if (!otherWorkspaceId) return + setSubmitting(true) + // Capture every payload from the state at confirm time, before any await - the page's + // controls stay mounted during the run (unlike the old modal, which blocked its UI), so a + // mid-flight edit must not leak into the promote body. + const mappingEntries = buildMappingEntries() + const dependentValues = diff.data ? buildDependentValues() : null + // Copy the referenced-but-unmapped resources the user kept selected, excluding any the + // user mapped in-session (reconciliation: maps win). The backend validates each id + // against the plan's copy candidates too, so a mapped/stale id is dropped server-side + // regardless. + const selectedCopyables = visibleCopyables.filter((candidate) => + copySelected.has(forkRefKey(candidate)) + ) + try { + await updateMapping.mutateAsync({ + workspaceId, + body: { otherWorkspaceId, direction, entries: mappingEntries }, + }) + const copyResources = { + knowledgeBases: selectedCopyables + .filter((c) => c.kind === 'knowledge-base') + .map((c) => c.sourceId), + tables: selectedCopyables.filter((c) => c.kind === 'table').map((c) => c.sourceId), + customTools: selectedCopyables + .filter((c) => c.kind === 'custom-tool') + .map((c) => c.sourceId), + skills: selectedCopyables.filter((c) => c.kind === 'skill').map((c) => c.sourceId), + // Files are identified by storage key (the copyable candidate's sourceId is the key). + files: selectedCopyables.filter((c) => c.kind === 'file').map((c) => c.sourceId), + mcpServers: selectedCopyables.filter((c) => c.kind === 'mcp-server').map((c) => c.sourceId), + } + + const result = await promote.mutateAsync({ + workspaceId, + body: { + otherWorkspaceId, + direction, + // Once the diff has loaded, ALWAYS send the full effective set - including `[]`, + // which means "every dependent went away" and must reconcile/clear the live replace + // targets' stored rows. Collapsing `[]` into omission would make the backend + // PRESERVE stale rows. Only omit before the diff loads (set unknown), so the + // existing store is left untouched. + ...(dependentValues !== null ? { dependentValues } : {}), + ...(selectedCopyables.length > 0 ? { copyResources } : {}), + }, + }) + + if (!result.promoteRunId) { + if (result.blockers.length > 0) { + // The server's authoritative gate re-found would-clear references (something changed + // between the preview and Sync). The mutation's settled invalidation refetches the + // diff, so the refreshed blocker list is already on its way in. + const count = result.blockers.length + toast.error( + `Sync blocked: ${count} reference${count === 1 ? '' : 's'} would break in the target. Review the updated list and try again.` + ) + return + } + if (result.unmappedRequired.length > 0) { + // Name the actual blocking kinds rather than always blaming credentials: the server + // blocks on required REFERENCES (credentials and/or secrets); required dependents are + // gated client-side before this runs (see the Sync chip's disabled tooltip). + const kinds = new Set(result.unmappedRequired.map((reference) => reference.kind)) + toast.error(`Map all required ${forkRequiredKindsLabel(kinds)} first`) + return + } + toast.error('Sync did not complete') + return + } + + const target = otherWorkspaceName || 'the workspace' + const label = direction === 'pull' ? `Pulled from "${target}"` : `Pushed to "${target}"` + // A sync only commits once every reference is mapped/copied and every required dependent + // has a value (the zero-cleared-refs invariant + `reconfigComplete`), so the old + // "re-check X block - something may have been cleared" warnings only fired on + // preview-vs-commit races and read as false alarms. Those rare cases still land in the + // Activity entry (needsConfiguration/clearedOptional are recorded there) and a + // needs-config workflow visibly stays undeployed. Deploy FAILURES remain a real, + // actionable outcome, so they keep a warning. + if (result.deployFailed > 0) { + const n = result.deployFailed + toast.warning( + `${label}, but ${n} workflow${n === 1 ? '' : 's'} failed to deploy — open and redeploy ${n === 1 ? 'it' : 'them'}.` + ) + } else { + toast.success(label) + } + } catch (error) { + toast.error(getErrorMessage(error, 'Sync failed')) + } finally { + setSubmitting(false) + } + } + + return { + direction, + otherWorkspaceName, + isLoading: enabled && mapping.isLoading, + isError: mapping.isError, + errorMessage: mapping.isError ? getErrorMessage(mapping.error, 'Failed to load mapping') : null, + diffErrorMessage: diff.isError + ? getErrorMessage(diff.error, "Couldn't load sync details. Reload the page to retry.") + : null, + hasDiff: Boolean(diff.data), + hasMapping: Boolean(mapping.data), + groups, + kindSummaries, + targetFor, + setTarget, + takenOwnersFor, + usagesForEntry, + dependentsForEntry, + parentChangedFor, + targetWorkspaceId: diff.data?.targetWorkspaceId ?? '', + sourceWorkspaceId: diff.data?.sourceWorkspaceId ?? '', + reconfig, + setReconfig, + copyableKeys, + copyingKeys, + copySelected, + toggleCopyKeys, + referencedByKind, + unreferencedByKind, + hasVisibleCopyables: visibleCopyables.length > 0, + blockingRefs, + dependentClears, + workflowChanges, + archivedWorkflowNames, + mcpReauthCount: diff.data?.mcpReauthServerIds.length ?? 0, + inlineSecretCount: diff.data?.inlineSecretSources.length ?? 0, + dirty, + saving: updateMapping.isPending, + save, + discard, + submitting, + syncDisabled, + syncDisabledReason, + sync, + } +} diff --git a/apps/sim/ee/workspace-forking/components/fork-workspace-modal/fork-workspace-modal.tsx b/apps/sim/ee/workspace-forking/components/fork-workspace-modal/fork-workspace-modal.tsx new file mode 100644 index 00000000000..0623ffc0de4 --- /dev/null +++ b/apps/sim/ee/workspace-forking/components/fork-workspace-modal/fork-workspace-modal.tsx @@ -0,0 +1,299 @@ +'use client' + +import { useEffect, useMemo, useState } from 'react' +import { + ChipCopyInput, + ChipInput, + ChipModal, + ChipModalBody, + ChipModalError, + ChipModalFooter, + ChipModalHeader, + toast, +} from '@sim/emcn' +import { AlertTriangle } from 'lucide-react' +import { useRouter } from 'next/navigation' +import type { GetForkResourcesResponse } from '@/lib/api/contracts/workspace-fork' +import { SettingsSection } from '@/app/workspace/[workspaceId]/settings/components/settings-section/settings-section' +import { + FileKindRow, + ResourceKindRow, +} from '@/ee/workspace-forking/components/fork-resource-picker/fork-resource-picker' +import { useForkResources, useForkWorkspace } from '@/ee/workspace-forking/hooks/workspace-fork' + +interface ForkWorkspaceModalProps { + open: boolean + onOpenChange: (open: boolean) => void + sourceWorkspaceId: string + sourceWorkspaceName: string + /** Whether the user is under their workspace cap; creating a fork is gated on this. */ + canFork: boolean + /** Sends the user to upgrade (billing) when they try to fork at the cap. */ + onUpgrade: () => void +} + +type ResourceKey = Exclude +type ResourceSelection = Record> + +const RESOURCE_KINDS: ReadonlyArray<{ key: ResourceKey; label: string }> = [ + { key: 'files', label: 'Files' }, + { key: 'tables', label: 'Tables' }, + { key: 'knowledgeBases', label: 'Knowledge bases' }, + { key: 'customTools', label: 'Custom tools' }, + { key: 'skills', label: 'Skills' }, + { key: 'mcpServers', label: 'MCP servers' }, + { key: 'workflowMcpServers', label: 'Workflow MCP servers' }, +] + +const emptySelection = (): ResourceSelection => ({ + files: new Set(), + tables: new Set(), + knowledgeBases: new Set(), + customTools: new Set(), + skills: new Set(), + mcpServers: new Set(), + workflowMcpServers: new Set(), +}) + +const fullSelection = (data: GetForkResourcesResponse): ResourceSelection => { + const selection = emptySelection() + for (const kind of RESOURCE_KINDS) { + selection[kind.key] = new Set((data[kind.key] ?? []).map((item) => item.id)) + } + return selection +} + +/** + * Names and creates a fork of the current workspace, letting the user pick which + * resources to copy (whole kinds or a specific subset). Unselected resources leave + * the corresponding workflow subblocks empty. On success the modal closes - the + * Forks settings page's Activity log tracks the copy job, and the toast offers a + * one-click jump into the new fork. + */ +export function ForkWorkspaceModal({ + open, + onOpenChange, + sourceWorkspaceId, + sourceWorkspaceName, + canFork, + onUpgrade, +}: ForkWorkspaceModalProps) { + const router = useRouter() + const forkWorkspace = useForkWorkspace() + const resources = useForkResources(sourceWorkspaceId, open) + const [name, setName] = useState('') + const [selected, setSelected] = useState(emptySelection) + const [defaulted, setDefaulted] = useState(false) + const [error, setError] = useState(null) + + useEffect(() => { + if (open) { + setName(`${sourceWorkspaceName} (fork)`) + setSelected(emptySelection()) + setDefaulted(false) + setError(null) + } + }, [open, sourceWorkspaceName]) + + useEffect(() => { + if (!open || !resources.data || defaulted) return + setDefaulted(true) + setSelected(fullSelection(resources.data)) + }, [open, resources.data, defaulted]) + + const isForking = forkWorkspace.isPending + + const availableKinds = useMemo( + () => RESOURCE_KINDS.filter((kind) => (resources.data?.[kind.key].length ?? 0) > 0), + [resources.data] + ) + + const hasDeselection = useMemo( + () => + defaulted && + availableKinds.some( + (kind) => selected[kind.key].size < (resources.data?.[kind.key]?.length ?? 0) + ), + [defaulted, availableKinds, selected, resources.data] + ) + + // A fork always produces a usable workspace: deployed workflows are copied, and + // when the source has none, create-fork seeds a blank starter workflow (plus any + // selected resources). So forking is never blocked - we just set expectations when + // there are no deployed workflows to carry over. + const noDeployedWorkflows = + Boolean(resources.data) && (resources.data?.deployedWorkflowCount ?? 0) === 0 + + const handleSubmit = () => { + // At a workspace cap, creating a fork is the only gated action - send the user to + // upgrade rather than blocking the whole modal. + if (!canFork) { + onUpgrade() + return + } + const trimmed = name.trim() + // Block until the resources query resolves: building `copy` from an unloaded `resources.data` + // would send an empty selection and silently clear every reference in the fork. The Fork + // action is disabled in this state too; this is the defense-in-depth guard. + if (!trimmed || isForking || !resources.data) return + setError(null) + const copy = Object.fromEntries( + RESOURCE_KINDS.map((kind) => [kind.key, Array.from(selected[kind.key])]) + ) + forkWorkspace.mutate( + { workspaceId: sourceWorkspaceId, body: { name: trimmed, copy } }, + { + onSuccess: (result) => { + // The copy job's progress lands in the page's Activity log; the toast action + // preserves the old modal's one-click "Open fork". + toast.success(`Forked into "${result.workspace.name}"`, { + action: { + label: 'Open fork', + onClick: () => router.push(`/workspace/${result.workspace.id}/w`), + }, + }) + onOpenChange(false) + }, + onError: (err) => setError(err.message || 'Failed to fork workspace'), + } + ) + } + + return ( + + onOpenChange(false)}>Fork workspace + +
+ + + + + + * + + } + > + setName(event.target.value)} + onKeyDown={(event) => { + if (event.key === 'Enter' && !event.nativeEvent.isComposing) { + event.preventDefault() + handleSubmit() + } + }} + placeholder='Workspace name' + maxLength={100} + autoComplete='off' + disabled={isForking} + aria-label='Workspace name' + /> + + + {availableKinds.length > 0 ? ( + +
+ {availableKinds.map((kind) => + kind.key === 'files' ? ( + + setSelected((prev) => ({ + ...prev, + files: selectAll + ? new Set((resources.data?.files ?? []).map((item) => item.id)) + : new Set(), + })) + } + onToggleItem={(id, checked) => + setSelected((prev) => { + const next = new Set(prev.files) + if (checked) next.add(id) + else next.delete(id) + return { ...prev, files: next } + }) + } + onToggleMany={(ids, checked) => + setSelected((prev) => { + const next = new Set(prev.files) + for (const id of ids) { + if (checked) next.add(id) + else next.delete(id) + } + return { ...prev, files: next } + }) + } + disabled={isForking} + /> + ) : ( + + setSelected((prev) => { + const next = new Set(prev[kind.key]) + for (const id of ids) { + if (checked) next.add(id) + else next.delete(id) + } + return { ...prev, [kind.key]: next } + }) + } + onToggleItem={(id, checked) => + setSelected((prev) => { + const next = new Set(prev[kind.key]) + if (checked) next.add(id) + else next.delete(id) + return { ...prev, [kind.key]: next } + }) + } + disabled={isForking} + /> + ) + )} + {hasDeselection ? ( +
+ + + Some resources are not selected — references to them in your workflows will be + cleared in the fork. + +
+ ) : null} +
+
+ ) : null} + + {noDeployedWorkflows ? ( +

+ No deployed workflows to copy — your fork will start with a blank workflow. +

+ ) : null} +
+ {error ?? undefined} +
+ onOpenChange(false)} + cancelDisabled={isForking} + primaryAction={{ + label: isForking ? 'Forking...' : 'Fork', + onClick: handleSubmit, + // At the cap the button stays clickable (no name needed) so it can route to + // upgrade. Otherwise it needs a name AND the resources query loaded - forking + // before `resources.data` arrives would clear every reference (P1-C). + disabled: isForking || (canFork && (!name.trim() || !resources.data)), + disabledTooltip: + canFork && name.trim() && !resources.data ? 'Loading workspace resources…' : undefined, + }} + /> +
+ ) +} diff --git a/apps/sim/ee/workspace-forking/components/forks.tsx b/apps/sim/ee/workspace-forking/components/forks.tsx new file mode 100644 index 00000000000..2d2fc43932c --- /dev/null +++ b/apps/sim/ee/workspace-forking/components/forks.tsx @@ -0,0 +1,590 @@ +'use client' + +import { useState } from 'react' +import { ChipConfirmModal, toast } from '@sim/emcn' +import { ArrowLeft } from '@sim/emcn/icons' +import { getErrorMessage } from '@sim/utils/errors' +import { AlertTriangle, Plus } from 'lucide-react' +import { useParams, useRouter } from 'next/navigation' +import { useQueryState } from 'nuqs' +import type { ForkLineageChildApi, ForkLineageNodeApi } from '@/lib/api/contracts/workspace-fork' +import { FloatingOverflowText } from '@/app/workspace/[workspaceId]/components' +import { UnsavedChangesModal } from '@/app/workspace/[workspaceId]/components/credential-detail' +import { useUserPermissionsContext } from '@/app/workspace/[workspaceId]/providers/workspace-permissions-provider' +import { + forkIdParam, + forkIdUrlKeys, + forkSyncDirectionParam, + forkSyncDirectionUrlKeys, + forkViewParam, + forkViewUrlKeys, +} from '@/app/workspace/[workspaceId]/settings/[section]/search-params' +import { + type RowAction, + RowActionsMenu, +} from '@/app/workspace/[workspaceId]/settings/components/row-actions-menu' +import { saveDiscardActions } from '@/app/workspace/[workspaceId]/settings/components/save-discard-actions/save-discard-actions' +import { SettingsEmptyState } from '@/app/workspace/[workspaceId]/settings/components/settings-empty-state' +import type { SettingsAction } from '@/app/workspace/[workspaceId]/settings/components/settings-header/settings-header' +import { SettingsPanel } from '@/app/workspace/[workspaceId]/settings/components/settings-panel' +import { SettingsSection } from '@/app/workspace/[workspaceId]/settings/components/settings-section/settings-section' +import { useSettingsUnsavedGuard } from '@/app/workspace/[workspaceId]/settings/hooks/use-settings-unsaved-guard' +import { isBillingEnabled } from '@/app/workspace/[workspaceId]/settings/navigation' +import { ForkActivityPanel } from '@/ee/workspace-forking/components/fork-activity-panel/fork-activity-panel' +import { ForkSyncView } from '@/ee/workspace-forking/components/fork-sync/fork-sync-view' +import { + ARCHIVED_PREVIEW_LIMIT, + useForkSync, +} from '@/ee/workspace-forking/components/fork-sync/use-fork-sync' +import { ForkWorkspaceModal } from '@/ee/workspace-forking/components/fork-workspace-modal/fork-workspace-modal' +import { useForkingAvailability } from '@/ee/workspace-forking/hooks/use-forking-available' +import { + useForkLineage, + useRollbackFork, + useUnlinkFork, +} from '@/ee/workspace-forking/hooks/workspace-fork' +import { useWorkspaceCreationPolicy, useWorkspacesQuery } from '@/hooks/queries/workspace' +import { useSettingsNavigation } from '@/hooks/use-settings-navigation' + +/** Explains a disabled lineage action whose target workspace the viewer cannot open. */ +const NO_ACCESS_TOOLTIP = "You don't have access to this workspace" + +/** Lineage partner names by id (the parent + this workspace's forks), for the Activity view. */ +function lineagePartnerNames( + parent: ForkLineageNodeApi | null, + forks: ForkLineageChildApi[] +): ReadonlyMap { + const names = new Map() + if (parent) names.set(parent.id, parent.name) + for (const fork of forks) names.set(fork.id, fork.name) + return names +} + +interface ForkListRowProps { + name: string + /** Entries for the row's `...` menu (Edit mappings / Open workspace / Disconnect). */ + actions: RowAction[] +} + +function ForkListRow({ name, actions }: ForkListRowProps) { + return ( +
+ +
+ +
+
+ ) +} + +interface ForkSyncDetailViewProps { + title: string + workspaceId: string + /** The other side of the edge being synced (this workspace's parent). */ + otherWorkspaceId: string + otherWorkspaceName: string + onBack: () => void + /** Header chips rendered left of Sync (Rollback / Open workspace) — the caller owns those. */ + actions: SettingsAction[] +} + +/** + * The parent edge's sync page (reached from the parent row): direction, deployed-workflow + * changes, per-kind mappings (each an expandable row whose status badge is the summary), + * copy resources, and blocking references, all as page sections. + * The header's Sync chip is gated until zero blockers + required mappings + reconfigure are + * complete, and always confirms the overwrite first — that confirm is the flow's one modal. + * While the mapping has unsaved edits the header swaps to Discard/Save and leaving is guarded; + * Sync itself persists the effective mapping as part of the run. + */ +function ForkSyncDetailView({ + title, + workspaceId, + otherWorkspaceId, + otherWorkspaceName, + onBack, + actions, +}: ForkSyncDetailViewProps) { + // Sync direction is shareable view state: a copied link opens the same side of the sync. + const [direction, setDirection] = useQueryState(forkSyncDirectionParam.key, { + ...forkSyncDirectionParam.parser, + ...forkSyncDirectionUrlKeys, + }) + + const controller = useForkSync({ + workspaceId, + otherWorkspaceId, + otherWorkspaceName, + direction, + enabled: true, + }) + + // Guard leaving the detail view (Back) while the mapping has unsaved edits, and feed + // the shared settings dirty store so a sidebar section switch confirms too. + const guard = useSettingsUnsavedGuard({ isDirty: controller.dirty }) + + const [confirmSyncOpen, setConfirmSyncOpen] = useState(false) + + // Sync is the edge's primary action, so it's the rightmost/black chip; the caller's + // Rollback/Open workspace chips sit left of it. Dirty mapping edits swap the whole + // cluster for Discard/Save until they're saved or discarded. + const panelActions: SettingsAction[] = controller.dirty + ? saveDiscardActions({ + dirty: controller.dirty, + saving: controller.saving, + onSave: controller.save, + onDiscard: controller.discard, + }) + : [ + ...actions, + { + text: controller.submitting ? 'Working...' : 'Sync', + variant: 'primary' as const, + onSelect: () => setConfirmSyncOpen(true), + disabled: controller.syncDisabled, + tooltip: controller.syncDisabled + ? controller.syncDisabledReason + : `Push to or pull from ${otherWorkspaceName}`, + }, + ] + + const targetWorkspaceName = direction === 'push' ? otherWorkspaceName : 'this workspace' + + return ( + <> + + guard.guardBack(() => { + void setDirection(null) + onBack() + }), + }} + title={title} + actions={panelActions} + > + void setDirection(next)} + /> + + + + + { + setConfirmSyncOpen(false) + void controller.sync() + }, + pending: controller.submitting, + pendingLabel: 'Syncing...', + }} + > + {controller.archivedWorkflowNames.length > 0 ? ( +
+

+ Will be archived in {targetWorkspaceName}{' '} + (deleted in the source): +

+ {controller.archivedWorkflowNames + .slice(0, ARCHIVED_PREVIEW_LIMIT) + .map((name, index) => ( +
+ {name} +
+ ))} + {controller.archivedWorkflowNames.length > ARCHIVED_PREVIEW_LIMIT ? ( +
+ and {controller.archivedWorkflowNames.length - ARCHIVED_PREVIEW_LIMIT} more +
+ ) : null} +
+ ) : null} +
+ + ) +} + +interface ForkActivityDetailViewProps { + workspaceId: string + /** Lineage partner names by id, for phrasing rows recorded on the other side of an edge. */ + workspaceNames: ReadonlyMap + onBack: () => void + /** Header actions (e.g. the destructive Rollback chip while the last sync is undoable). */ + actions?: SettingsAction[] +} + +/** + * Workspace-scoped activity: every fork, sync, and rollback involving this workspace + * (both sides of each edge), reached from the page header's "See activity" action. + */ +function ForkActivityDetailView({ + workspaceId, + workspaceNames, + onBack, + actions, +}: ForkActivityDetailViewProps) { + return ( + + + + ) +} + +/** + * Forks settings page. The workspace's single parent (if it's a fork) sits in its own + * "Parent" section, above the "Forks" list of child forks. The parent row's `...` menu + * has Edit mappings (the child owns its edge's re-picks), Open workspace, and + * Disconnect; fork rows offer Open workspace and Disconnect only. Activity is + * workspace-scoped and lives behind the header's "See activity" action; sync/rollback + * live on the parent's sync detail page. + * Forking and sync rewrite workflow state and deployments en masse, so the page is + * workspace-admin only and gated on the workspace's fork entitlement - every fork route + * re-checks both; the server remains the boundary. + */ +export function Forks() { + const params = useParams() + const router = useRouter() + const workspaceId = params.workspaceId as string + + const { canAdmin, isLoading: permissionsLoading } = useUserPermissionsContext() + const { available: forkingAvailable, isLoading: availabilityLoading } = + useForkingAvailability(workspaceId) + const canUseForking = forkingAvailable && canAdmin + + const { data: workspaces } = useWorkspacesQuery() + const { data: creationPolicy } = useWorkspaceCreationPolicy() + const { navigateToSettings } = useSettingsNavigation() + const lineage = useForkLineage(workspaceId, canUseForking) + const rollback = useRollbackFork() + const unlink = useUnlinkFork() + + const [searchTerm, setSearchTerm] = useState('') + const [isForkModalOpen, setIsForkModalOpen] = useState(false) + const [confirmRollbackOpen, setConfirmRollbackOpen] = useState(false) + const [confirmUnlink, setConfirmUnlink] = useState<{ id: string; name: string } | null>(null) + + const [selectedForkId, setSelectedForkId] = useQueryState(forkIdParam.key, { + ...forkIdParam.parser, + ...forkIdUrlKeys, + }) + const [forkView, setForkView] = useQueryState(forkViewParam.key, { + ...forkViewParam.parser, + ...forkViewUrlKeys, + }) + + const workspaceName = workspaces?.find((workspace) => workspace.id === workspaceId)?.name + const canFork = creationPolicy?.canCreate ?? true + const parent = lineage.data?.parent ?? null + const forks = lineage.data?.children ?? [] + const undoableRun = lineage.data?.undoableRun ?? null + const gateLoading = availabilityLoading || permissionsLoading + + // Rollback undoes the last sync INTO this workspace, restoring each affected + // workflow to its prior deployed version. + const runRollback = async () => { + if (!undoableRun) return + try { + await rollback.mutateAsync({ + workspaceId, + body: { otherWorkspaceId: undoableRun.otherWorkspaceId }, + }) + toast.success(`Undid sync from "${undoableRun.otherName}"`) + setConfirmRollbackOpen(false) + } catch (err) { + toast.error(getErrorMessage(err, 'Undo failed')) + } + } + + const openForkWorkspace = (forkId: string) => { + router.push(`/workspace/${forkId}/w`) + } + + const openForkMappings = (forkId: string) => { + void setSelectedForkId(forkId) + } + + /** Permanently dissolve the edge with the confirmed workspace; both workspaces remain. */ + const runUnlink = async () => { + if (!confirmUnlink) return + try { + await unlink.mutateAsync({ + workspaceId, + body: { otherWorkspaceId: confirmUnlink.id }, + }) + toast.success(`Disconnected "${confirmUnlink.name}"`) + setConfirmUnlink(null) + } catch (err) { + toast.error(getErrorMessage(err, 'Disconnect failed')) + } + } + + if (gateLoading) { + return + } + + if (!canUseForking) { + return ( + + + {canAdmin + ? 'Forking is not available for this workspace.' + : 'Only workspace admins can manage forks.'} + + + ) + } + + const searchLower = searchTerm.trim().toLowerCase() + const parentVisible = + parent !== null && (!searchLower || parent.name.toLowerCase().includes(searchLower)) + const filteredForks = forks.filter((fork) => fork.name.toLowerCase().includes(searchLower)) + const hasRows = parent !== null || forks.length > 0 + + // The sync detail exists only for the PARENT edge: sync (and the mapping re-picks it + // persists) belongs to the child workspace configuring how it maps its parent's + // resources, so a parent browsing its forks gets no detail for them (a stale fork-id + // deep link falls back to the list). Fork rows offer Open workspace / Disconnect only. + const showParentDetail = Boolean(selectedForkId && parent && parent.id === selectedForkId) + + // Rollback (destructive) and Open workspace sit left of the detail view's primary Sync + // chip, which the sync page owns (it carries the gating). + const parentHeaderActions: SettingsAction[] = parent + ? [ + ...(undoableRun + ? [ + { + text: 'Rollback', + variant: 'destructive' as const, + onSelect: () => setConfirmRollbackOpen(true), + disabled: rollback.isPending, + tooltip: `The last sync into this workspace (from ${undoableRun.otherName}) can be undone — it restores each workflow's prior deployed version.`, + }, + ] + : []), + { + text: 'Open workspace', + onSelect: () => openForkWorkspace(parent.id), + disabled: !parent.viewerAccessible, + tooltip: parent.viewerAccessible ? undefined : NO_ACCESS_TOOLTIP, + }, + ] + : [] + + return ( + <> + {showParentDetail && parent ? ( + setSelectedForkId(null)} + actions={parentHeaderActions} + /> + ) : forkView === 'activity' ? ( + setForkView(null)} + actions={ + undoableRun + ? [ + { + text: 'Rollback', + variant: 'destructive', + onSelect: () => setConfirmRollbackOpen(true), + disabled: rollback.isPending, + tooltip: `The last sync into this workspace (from ${undoableRun.otherName}) can be undone — it restores each workflow's prior deployed version.`, + }, + ] + : undefined + } + /> + ) : ( + void setForkView('activity') }, + { + text: 'Create fork', + icon: Plus, + variant: 'primary', + onSelect: () => setIsForkModalOpen(true), + }, + ]} + > + {lineage.isError ? ( +
+

+ {getErrorMessage(lineage.error, 'Failed to load forks')} +

+
+ ) : lineage.isLoading ? null : !hasRows ? ( + Click "Create fork" above to get started + ) : ( +
+ {parentVisible && parent !== null && ( + + openForkMappings(parent.id), + disabled: !parent.viewerAccessible, + tooltip: parent.viewerAccessible ? undefined : NO_ACCESS_TOOLTIP, + }, + { + label: 'Open workspace', + onSelect: () => openForkWorkspace(parent.id), + disabled: !parent.viewerAccessible, + tooltip: parent.viewerAccessible ? undefined : NO_ACCESS_TOOLTIP, + }, + // Disconnect stays enabled regardless of access: severing the edge is a + // current-workspace operation (admin on the acting side only), and must + // remain reachable exactly when the other side is inaccessible. + { + label: 'Disconnect', + destructive: true, + onSelect: () => setConfirmUnlink({ id: parent.id, name: parent.name }), + }, + ]} + /> + + )} + + {filteredForks.length > 0 ? ( +
+ {filteredForks.map((fork) => ( + openForkWorkspace(fork.id), + disabled: !fork.viewerAccessible, + tooltip: fork.viewerAccessible ? undefined : NO_ACCESS_TOOLTIP, + }, + { + label: 'Disconnect', + destructive: true, + onSelect: () => setConfirmUnlink({ id: fork.id, name: fork.name }), + }, + ]} + /> + ))} +
+ ) : ( + + {searchTerm.trim() + ? `No forks found matching "${searchTerm}"` + : 'No forks yet — click "Create fork" above to get started'} + + )} +
+
+ )} +
+ )} + + { + if (isBillingEnabled) navigateToSettings({ section: 'billing' }) + }} + /> + + { + if (!open) setConfirmUnlink(null) + }} + srTitle='Disconnect fork' + title='Disconnect fork' + text={[ + 'This permanently removes the fork relationship with ', + { text: confirmUnlink?.name ?? '', bold: true }, + ". Both workspaces stay exactly as they are, but they will no longer appear in each other's fork lists, and syncing between them stops.", + ]} + confirm={{ + label: 'Disconnect', + onClick: () => void runUnlink(), + pending: unlink.isPending, + pendingLabel: 'Disconnecting...', + }} + > +
+ + + This cannot be undone — the saved mappings and sync history for this pair are deleted, + and forking again creates a brand-new workspace. + +
+
+ + void runRollback(), + pending: rollback.isPending, + pendingLabel: 'Rolling back...', + }} + > +
+ + + Resources copied into this workspace during syncs may remain afterward — rollback + restores workflows to their prior versions but does not remove copied resources. + +
+
+ + ) +} diff --git a/apps/sim/ee/workspace-forking/hooks/background-work.ts b/apps/sim/ee/workspace-forking/hooks/background-work.ts new file mode 100644 index 00000000000..04ff26407f6 --- /dev/null +++ b/apps/sim/ee/workspace-forking/hooks/background-work.ts @@ -0,0 +1,60 @@ +import { useInfiniteQuery } from '@tanstack/react-query' +import { requestJson } from '@/lib/api/client/request' +import { + type BackgroundWorkItem, + type GetWorkspaceBackgroundWorkResponse, + getWorkspaceBackgroundWorkContract, +} from '@/lib/api/contracts/workspace-fork' + +export const backgroundWorkKeys = { + all: ['backgroundWork'] as const, + // 'infinite' segments the key from the pre-pagination plain-query era: the data shape + // under the old key was an array, and an infinite query reading such a cache entry + // renders as empty. A shape change must always re-key. + lists: () => [...backgroundWorkKeys.all, 'list', 'infinite'] as const, + list: (workspaceId?: string) => [...backgroundWorkKeys.lists(), workspaceId ?? ''] as const, +} + +export const BACKGROUND_WORK_STALE_TIME = 5_000 + +/** Page size for the fork Activity feed, matching the audit log's. */ +const BACKGROUND_WORK_PAGE_SIZE = '50' + +async function fetchWorkspaceBackgroundWork( + workspaceId: string, + cursor?: string, + signal?: AbortSignal +): Promise { + return requestJson(getWorkspaceBackgroundWorkContract, { + params: { id: workspaceId }, + query: { cursor, limit: BACKGROUND_WORK_PAGE_SIZE }, + signal, + }) +} + +const isActive = (item: BackgroundWorkItem) => + item.status === 'pending' || item.status === 'processing' + +/** + * Durable "background work in progress" status for a workspace (fork content copy + + * any deployment side-effects), keyset-paginated like the enterprise audit log + * (`getNextPageParam` from the page's `nextCursor`). Poll-first per the best-practice + * for long jobs: the status survives a reload (it's a DB row), and we only keep + * polling while something is still running, then stop - the poll refetches every + * loaded page sequentially with fresh cursors, so pagination stays consistent. + * Refetch on focus catches changes after the tab was away. + */ +export function useWorkspaceBackgroundWork(workspaceId?: string) { + return useInfiniteQuery({ + queryKey: backgroundWorkKeys.list(workspaceId), + queryFn: ({ pageParam, signal }) => + fetchWorkspaceBackgroundWork(workspaceId as string, pageParam, signal), + initialPageParam: undefined as string | undefined, + getNextPageParam: (lastPage) => lastPage.nextCursor, + enabled: Boolean(workspaceId), + staleTime: BACKGROUND_WORK_STALE_TIME, + refetchInterval: (query) => + (query.state.data?.pages ?? []).some((page) => page.items.some(isActive)) ? 5_000 : false, + refetchOnWindowFocus: true, + }) +} diff --git a/apps/sim/ee/workspace-forking/hooks/use-forking-available.ts b/apps/sim/ee/workspace-forking/hooks/use-forking-available.ts new file mode 100644 index 00000000000..90380a9bff7 --- /dev/null +++ b/apps/sim/ee/workspace-forking/hooks/use-forking-available.ts @@ -0,0 +1,40 @@ +import { useQuery } from '@tanstack/react-query' +import { requestJson } from '@/lib/api/client/request' +import { getForkAvailabilityContract } from '@/lib/api/contracts/workspace-fork' + +export const forkAvailabilityKeys = { + all: ['fork-availability'] as const, + details: () => [...forkAvailabilityKeys.all, 'detail'] as const, + detail: (workspaceId?: string) => [...forkAvailabilityKeys.details(), workspaceId ?? ''] as const, +} + +/** Availability flips only on plan changes or flag rollouts - cache generously. */ +const FORK_AVAILABILITY_STALE_TIME = 5 * 60 * 1000 + +interface ForkingAvailability { + available: boolean + /** The lookup is still in flight - callers that gate a whole page wait on this. */ + isLoading: boolean +} + +/** + * Server-evaluated fork availability for the workspace: the verdict of the exact gate + * every fork route enforces (env/plan + the `workspace-forking` AppConfig rollout + * flag), served by the availability route. Used to hide the Forks settings tab and + * the fork context-menu entries; the server gate remains the security boundary. + */ +export function useForkingAvailability(workspaceId?: string): ForkingAvailability { + const { data, isLoading } = useQuery({ + queryKey: forkAvailabilityKeys.detail(workspaceId), + queryFn: ({ signal }) => + requestJson(getForkAvailabilityContract, { params: { id: workspaceId as string }, signal }), + enabled: Boolean(workspaceId), + staleTime: FORK_AVAILABILITY_STALE_TIME, + }) + return { available: data?.available ?? false, isLoading } +} + +/** Boolean shorthand for surfaces that only show/hide fork entry points. */ +export function useForkingAvailable(workspaceId?: string): boolean { + return useForkingAvailability(workspaceId).available +} diff --git a/apps/sim/hooks/queries/workspace-fork.ts b/apps/sim/ee/workspace-forking/hooks/workspace-fork.ts similarity index 90% rename from apps/sim/hooks/queries/workspace-fork.ts rename to apps/sim/ee/workspace-forking/hooks/workspace-fork.ts index 45d026a98f9..3b806ca8b16 100644 --- a/apps/sim/hooks/queries/workspace-fork.ts +++ b/apps/sim/ee/workspace-forking/hooks/workspace-fork.ts @@ -11,11 +11,13 @@ import { promoteForkContract, type RollbackForkBody, rollbackForkContract, + type UnlinkForkBody, type UpdateForkMappingBody, + unlinkForkContract, updateForkMappingContract, } from '@/lib/api/contracts/workspace-fork' import type { WorkspacesResponse } from '@/lib/api/contracts/workspaces' -import { backgroundWorkKeys } from '@/hooks/queries/background-work' +import { backgroundWorkKeys } from '@/ee/workspace-forking/hooks/background-work' import { deploymentKeys } from '@/hooks/queries/deployments' import { workspaceKeys } from '@/hooks/queries/workspace' @@ -164,6 +166,22 @@ export function usePromoteFork() { }) } +export function useUnlinkFork() { + const queryClient = useQueryClient() + return useMutation({ + mutationFn: (vars: { workspaceId: string; body: UnlinkForkBody }) => + requestJson(unlinkForkContract, { params: { id: vars.workspaceId }, body: vars.body }), + onSettled: () => { + // Unlink dissolves the edge: lineage loses the row, and the edge's mappings/diff + // no longer exist. Workflows and deployments are untouched. + queryClient.invalidateQueries({ queryKey: forkKeys.lineages() }) + queryClient.invalidateQueries({ queryKey: forkKeys.mappings() }) + queryClient.invalidateQueries({ queryKey: forkKeys.diffs() }) + queryClient.invalidateQueries({ queryKey: backgroundWorkKeys.lists() }) + }, + }) +} + export function useRollbackFork() { const queryClient = useQueryClient() return useMutation({ diff --git a/apps/sim/ee/workspace-forking/lib/background-work/store.test.ts b/apps/sim/ee/workspace-forking/lib/background-work/store.test.ts new file mode 100644 index 00000000000..bffc56645c9 --- /dev/null +++ b/apps/sim/ee/workspace-forking/lib/background-work/store.test.ts @@ -0,0 +1,265 @@ +/** + * @vitest-environment node + */ +import { dbChainMock, dbChainMockFns, resetDbChainMock } from '@sim/testing' +import { beforeEach, describe, expect, it, vi } from 'vitest' +import type { DbOrTx } from '@/lib/db/types' +import { listSurfacedBackgroundWork } from '@/ee/workspace-forking/lib/background-work/store' + +const executor = dbChainMock.db as unknown as DbOrTx + +/** Shape produced by the drizzle-orm mock's `sql` tagged template. */ +interface MockSqlFragment { + strings: readonly string[] + values: unknown[] +} + +interface MockCondition { + type: string + conditions?: MockCondition[] + left?: unknown + right?: unknown + column?: unknown + values?: unknown[] +} + +/** Resolves the first `.where(...)` (the children lookup) to the given fork ids. */ +function mockChildrenLookup(childIds: string[]) { + dbChainMockFns.where.mockImplementationOnce( + () => Promise.resolve(childIds.map((id) => ({ id }))) as never + ) +} + +/** Builds an opaque cursor the way the store encodes one (base64 JSON). */ +function encodeCursor(data: { updatedAt: string; id: string }): string { + return Buffer.from(JSON.stringify(data)).toString('base64') +} + +function decodeCursor(cursor: string): { updatedAt: string; id: string } { + return JSON.parse(Buffer.from(cursor, 'base64').toString()) +} + +describe('listSurfacedBackgroundWork', () => { + beforeEach(() => { + vi.clearAllMocks() + resetDbChainMock() + }) + + it('returns the surfaced rows ordered by recency with the id tiebreaker', async () => { + mockChildrenLookup([]) + const rows = [ + { id: 'job-1', updatedAt: new Date('2026-07-01T10:00:00.000Z') }, + { id: 'job-2', updatedAt: new Date('2026-07-01T09:00:00.000Z') }, + ] + dbChainMockFns.limit.mockResolvedValueOnce(rows as never) + + const result = await listSurfacedBackgroundWork(executor, 'ws-1') + + expect(result.rows).toEqual(rows) + expect(dbChainMockFns.orderBy).toHaveBeenCalledWith( + { type: 'desc', column: 'updatedAt' }, + { type: 'desc', column: 'id' } + ) + // Over-fetches one row past the default page size to detect another page. + expect(dbChainMockFns.limit).toHaveBeenCalledWith(51) + }) + + it('returns a null cursor when the page is not full', async () => { + mockChildrenLookup([]) + dbChainMockFns.limit.mockResolvedValueOnce([ + { id: 'job-1', updatedAt: new Date('2026-07-01T10:00:00.000Z') }, + ] as never) + + const result = await listSurfacedBackgroundWork(executor, 'ws-1', { limit: 2 }) + + expect(result.rows).toHaveLength(1) + expect(result.nextCursor).toBeNull() + }) + + it('returns a null cursor for an empty page', async () => { + mockChildrenLookup([]) + dbChainMockFns.limit.mockResolvedValueOnce([] as never) + + const result = await listSurfacedBackgroundWork(executor, 'ws-1') + + expect(result).toEqual({ rows: [], nextCursor: null }) + }) + + it('trims the over-fetched row and encodes the next cursor from the last returned row', async () => { + mockChildrenLookup([]) + const rows = [ + { id: 'job-1', updatedAt: new Date('2026-07-01T10:00:00.000Z') }, + { id: 'job-2', updatedAt: new Date('2026-07-01T09:00:00.000Z') }, + { id: 'job-3', updatedAt: new Date('2026-07-01T08:00:00.000Z') }, + ] + dbChainMockFns.limit.mockResolvedValueOnce(rows as never) + + const result = await listSurfacedBackgroundWork(executor, 'ws-1', { limit: 2 }) + + expect(dbChainMockFns.limit).toHaveBeenCalledWith(3) + expect(result.rows).toEqual(rows.slice(0, 2)) + expect(result.nextCursor).not.toBeNull() + expect(decodeCursor(result.nextCursor as string)).toEqual({ + updatedAt: '2026-07-01T09:00:00.000Z', + id: 'job-2', + }) + }) + + it('applies the cursor as a keyset condition with the id tiebreaker', async () => { + mockChildrenLookup([]) + const cursor = encodeCursor({ updatedAt: '2026-07-01T09:00:00.000Z', id: 'job-2' }) + + await listSurfacedBackgroundWork(executor, 'ws-1', { cursor }) + + const rowsWhere = dbChainMockFns.where.mock.calls[1][0] as MockCondition + expect(rowsWhere.type).toBe('and') + expect(rowsWhere.conditions).toHaveLength(3) + + const cursorDate = new Date('2026-07-01T09:00:00.000Z') + const keyset = (rowsWhere.conditions as MockCondition[])[2] + expect(keyset).toEqual({ + type: 'or', + conditions: [ + { type: 'lt', left: 'updatedAt', right: cursorDate }, + { + type: 'and', + conditions: [ + { type: 'eq', left: 'updatedAt', right: cursorDate }, + { type: 'lt', left: 'id', right: 'job-2' }, + ], + }, + ], + }) + }) + + it('pages through rows with identical updatedAt via the id tiebreaker', async () => { + // Two rows share one timestamp; page 1 ends on the higher id. The next + // cursor must carry that id so the second page matches the remaining row + // through the eq(updatedAt) + lt(id) arm instead of skipping it. + const sharedAt = new Date('2026-07-01T09:00:00.000Z') + mockChildrenLookup([]) + dbChainMockFns.limit.mockResolvedValueOnce([ + { id: 'job-b', updatedAt: sharedAt }, + { id: 'job-a', updatedAt: sharedAt }, + ] as never) + + const firstPage = await listSurfacedBackgroundWork(executor, 'ws-1', { limit: 1 }) + expect(firstPage.rows).toEqual([{ id: 'job-b', updatedAt: sharedAt }]) + expect(decodeCursor(firstPage.nextCursor as string)).toEqual({ + updatedAt: sharedAt.toISOString(), + id: 'job-b', + }) + + mockChildrenLookup([]) + dbChainMockFns.limit.mockResolvedValueOnce([{ id: 'job-a', updatedAt: sharedAt }] as never) + + const secondPage = await listSurfacedBackgroundWork(executor, 'ws-1', { + cursor: firstPage.nextCursor as string, + limit: 1, + }) + + const rowsWhere = dbChainMockFns.where.mock.calls[3][0] as MockCondition + const keyset = (rowsWhere.conditions as MockCondition[])[2] + expect(keyset.conditions?.[1]).toEqual({ + type: 'and', + conditions: [ + { type: 'eq', left: 'updatedAt', right: sharedAt }, + { type: 'lt', left: 'id', right: 'job-b' }, + ], + }) + expect(secondPage.rows).toEqual([{ id: 'job-a', updatedAt: sharedAt }]) + expect(secondPage.nextCursor).toBeNull() + }) + + it('ignores an undecodable cursor and serves the first page', async () => { + mockChildrenLookup([]) + + await listSurfacedBackgroundWork(executor, 'ws-1', { cursor: 'not-base64-json' }) + + const rowsWhere = dbChainMockFns.where.mock.calls[1][0] as MockCondition + expect(rowsWhere.conditions).toHaveLength(2) + }) + + it('clamps the requested limit to the server-side cap', async () => { + mockChildrenLookup([]) + + await listSurfacedBackgroundWork(executor, 'ws-1', { limit: 5000 }) + + expect(dbChainMockFns.limit).toHaveBeenCalledWith(101) + }) + + it('looks up live forks of the workspace for the child-keyed clause', async () => { + mockChildrenLookup([]) + await listSurfacedBackgroundWork(executor, 'ws-1') + + const childrenWhere = dbChainMockFns.where.mock.calls[0][0] as MockCondition + expect(childrenWhere).toEqual({ + type: 'and', + conditions: [ + { type: 'eq', left: 'forkedFromWorkspaceId', right: 'ws-1' }, + { type: 'isNull', column: 'archivedAt' }, + ], + }) + }) + + it('matches rows keyed to the workspace, to it as fork child, and to it as edge partner', async () => { + mockChildrenLookup([]) + await listSurfacedBackgroundWork(executor, 'ws-1') + + const rowsWhere = dbChainMockFns.where.mock.calls[1][0] as MockCondition + expect(rowsWhere.type).toBe('and') + expect(rowsWhere.conditions).toHaveLength(2) + const [involves, statuses] = rowsWhere.conditions as [MockCondition, MockCondition] + + expect(involves.type).toBe('or') + const orConditions = involves.conditions as unknown as [ + MockCondition, + MockSqlFragment, + MockSqlFragment, + ] + expect(orConditions).toHaveLength(3) + + expect(orConditions[0]).toEqual({ type: 'eq', left: 'workspaceId', right: 'ws-1' }) + + const childIdClause = orConditions[1] + expect(childIdClause.strings.join('?')).toContain("->> 'childWorkspaceId' =") + expect(childIdClause.values).toEqual(['metadata', 'ws-1']) + + const otherIdClause = orConditions[2] + expect(otherIdClause.strings.join('?')).toContain("->> 'otherWorkspaceId' =") + expect(otherIdClause.values).toEqual(['metadata', 'ws-1']) + + expect(statuses).toEqual({ + type: 'inArray', + column: 'status', + values: ['pending', 'processing', 'completed', 'completed_with_warnings', 'failed'], + }) + }) + + it('also matches sync/rollback rows keyed to the forks of the workspace (pre-otherWorkspaceId history)', async () => { + mockChildrenLookup(['fork-1', 'fork-2']) + await listSurfacedBackgroundWork(executor, 'ws-1') + + const rowsWhere = dbChainMockFns.where.mock.calls[1][0] as MockCondition + const involves = (rowsWhere.conditions as MockCondition[])[0] + expect(involves.conditions).toHaveLength(4) + + const childKeyedClause = (involves.conditions as MockCondition[])[3] + expect(childKeyedClause).toEqual({ + type: 'and', + conditions: [ + { type: 'inArray', column: 'workspaceId', values: ['fork-1', 'fork-2'] }, + { type: 'inArray', column: 'kind', values: ['fork_sync', 'fork_rollback'] }, + ], + }) + }) + + it('omits the child-keyed clause when the workspace has no forks', async () => { + mockChildrenLookup([]) + await listSurfacedBackgroundWork(executor, 'ws-1') + + const rowsWhere = dbChainMockFns.where.mock.calls[1][0] as MockCondition + const involves = (rowsWhere.conditions as MockCondition[])[0] + expect(involves.conditions).toHaveLength(3) + }) +}) diff --git a/apps/sim/lib/workspaces/fork/background-work/store.ts b/apps/sim/ee/workspace-forking/lib/background-work/store.ts similarity index 59% rename from apps/sim/lib/workspaces/fork/background-work/store.ts rename to apps/sim/ee/workspace-forking/lib/background-work/store.ts index 307c094df9f..a0f86376b27 100644 --- a/apps/sim/lib/workspaces/fork/background-work/store.ts +++ b/apps/sim/ee/workspace-forking/lib/background-work/store.ts @@ -1,7 +1,7 @@ -import { backgroundWorkStatus } from '@sim/db/schema' +import { backgroundWorkStatus, workspace } from '@sim/db/schema' import { createLogger } from '@sim/logger' import { generateId } from '@sim/utils/id' -import { and, desc, eq, inArray, isNull, lte } from 'drizzle-orm' +import { and, desc, eq, inArray, isNull, lt, lte, or, type SQL, sql } from 'drizzle-orm' import type { DbOrTx } from '@/lib/db/types' const logger = createLogger('ForkBackgroundWork') @@ -27,8 +27,11 @@ const SURFACED_STATUSES: BackgroundWorkStatusValue[] = [ 'failed', ] -/** Cap on recent jobs returned for a workspace's Activity tab. */ -const BACKGROUND_WORK_LIST_LIMIT = 20 +/** Default page size for the workspace's Activity tab (mirrors the audit log's). */ +const BACKGROUND_WORK_PAGE_SIZE = 50 + +/** Server-side cap on the requested page size (mirrors the audit log's). */ +const BACKGROUND_WORK_PAGE_SIZE_MAX = 100 /** * An active (pending/processing) row older than this is treated as abandoned: the @@ -182,27 +185,120 @@ function toMetadataRecord(value: unknown): Record { : {} } +/** Keyset position of the last row of a page: `updatedAt` plus the `id` tiebreaker. */ +interface BackgroundWorkCursorData { + updatedAt: string + id: string +} + +/** Encodes the keyset position as an opaque base64 cursor (mirrors the audit log's). */ +function encodeCursor(data: BackgroundWorkCursorData): string { + return Buffer.from(JSON.stringify(data)).toString('base64') +} + +function decodeCursor(cursor: string): BackgroundWorkCursorData | null { + try { + return JSON.parse(Buffer.from(cursor, 'base64').toString()) + } catch { + return null + } +} + +/** + * Keyset condition for rows strictly after the cursor position in + * `updatedAt DESC, id DESC` order: older `updatedAt`, or the same `updatedAt` + * (which is not unique) with a smaller `id`. Null for an invalid cursor, which + * degrades to the first page rather than erroring. + */ +function buildCursorCondition(cursor: string): SQL | null { + const cursorData = decodeCursor(cursor) + if (!cursorData?.updatedAt || !cursorData.id) return null + + const cursorDate = new Date(cursorData.updatedAt) + if (Number.isNaN(cursorDate.getTime())) return null + + return or( + lt(backgroundWorkStatus.updatedAt, cursorDate), + and(eq(backgroundWorkStatus.updatedAt, cursorDate), lt(backgroundWorkStatus.id, cursorData.id)) + )! +} + +export interface BackgroundWorkPage { + rows: BackgroundWorkRow[] + /** Cursor for the next page; null when this page is the last. */ + nextCursor: string | null +} + /** - * Recent background-work jobs for a workspace - the durable audit record the Activity - * tab renders, most-recent first and capped. Fork jobs are append-only (one row per - * fork), so this is the workspace's fork history; older rows are pruned by the cron. + * Recent background-work jobs involving a workspace - the durable audit record the + * Activity view renders, most-recent first and keyset-paginated (`updatedAt DESC, + * id DESC`, cursor + limit mirroring the audit log's `queryAuditLogs`). Fork jobs + * are append-only (one row per fork), so this is the workspace's fork history; + * older rows are pruned by the cron. + * + * Every fork event is recorded ONCE, keyed to the workspace it was initiated from + * (fork-create → the parent; sync/rollback/sync-copy → the workspace whose page ran + * it), so "involving" matches both sides of each edge without double-writing rows: + * + * - rows keyed to this workspace (its own forks, syncs it ran, its rollbacks); + * - rows whose `metadata.childWorkspaceId` is this workspace (its own creation, + * recorded on the parent); + * - rows whose `metadata.otherWorkspaceId` is this workspace (the other side of a + * sync/rollback/sync-copy edge); + * - sync/rollback rows keyed to one of this workspace's forks - a fork's only sync + * edge is its parent, so these are guaranteed edge events (covers rows written + * before `metadata.otherWorkspaceId` existed). */ export async function listSurfacedBackgroundWork( executor: DbOrTx, - workspaceId: string -): Promise { - const rows = await executor + workspaceId: string, + options?: { cursor?: string; limit?: number } +): Promise { + const limit = Math.min( + Math.max(options?.limit ?? BACKGROUND_WORK_PAGE_SIZE, 1), + BACKGROUND_WORK_PAGE_SIZE_MAX + ) + + const childRows = await executor + .select({ id: workspace.id }) + .from(workspace) + .where(and(eq(workspace.forkedFromWorkspaceId, workspaceId), isNull(workspace.archivedAt))) + const childWorkspaceIds = childRows.map((row) => row.id) + + const involvesWorkspace = or( + eq(backgroundWorkStatus.workspaceId, workspaceId), + sql`${backgroundWorkStatus.metadata} ->> 'childWorkspaceId' = ${workspaceId}`, + sql`${backgroundWorkStatus.metadata} ->> 'otherWorkspaceId' = ${workspaceId}`, + ...(childWorkspaceIds.length > 0 + ? [ + and( + inArray(backgroundWorkStatus.workspaceId, childWorkspaceIds), + inArray(backgroundWorkStatus.kind, ['fork_sync', 'fork_rollback']) + ), + ] + : []) + ) + + const conditions = [involvesWorkspace, inArray(backgroundWorkStatus.status, SURFACED_STATUSES)] + if (options?.cursor) { + const cursorCondition = buildCursorCondition(options.cursor) + if (cursorCondition) conditions.push(cursorCondition) + } + + // Over-fetch by one row to learn whether another page exists (audit-log pattern). + const rows = (await executor .select() .from(backgroundWorkStatus) - .where( - and( - eq(backgroundWorkStatus.workspaceId, workspaceId), - inArray(backgroundWorkStatus.status, SURFACED_STATUSES) - ) - ) - .orderBy(desc(backgroundWorkStatus.updatedAt)) - .limit(BACKGROUND_WORK_LIST_LIMIT) - return rows as BackgroundWorkRow[] + .where(and(...conditions)) + .orderBy(desc(backgroundWorkStatus.updatedAt), desc(backgroundWorkStatus.id)) + .limit(limit + 1)) as BackgroundWorkRow[] + + const hasMore = rows.length > limit + const page = rows.slice(0, limit) + const last = page[page.length - 1] + const nextCursor = + hasMore && last ? encodeCursor({ updatedAt: last.updatedAt.toISOString(), id: last.id }) : null + return { rows: page, nextCursor } } /** @@ -232,7 +328,7 @@ export async function reapStaleBackgroundWork(executor: DbOrTx): Promise .returning({ id: backgroundWorkStatus.id }) // Retention: the append-only fork audit trail would otherwise grow forever, so drop - // terminal rows past the retention window. The Activity tab caps display separately. + // terminal rows past the retention window. The Activity tab paginates separately. await executor .delete(backgroundWorkStatus) .where( diff --git a/apps/sim/lib/workspaces/fork/copy/cleanup-failed.test.ts b/apps/sim/ee/workspace-forking/lib/copy/cleanup-failed.test.ts similarity index 98% rename from apps/sim/lib/workspaces/fork/copy/cleanup-failed.test.ts rename to apps/sim/ee/workspace-forking/lib/copy/cleanup-failed.test.ts index 1aa6378e8ed..0139b9c738c 100644 --- a/apps/sim/lib/workspaces/fork/copy/cleanup-failed.test.ts +++ b/apps/sim/ee/workspace-forking/lib/copy/cleanup-failed.test.ts @@ -89,16 +89,16 @@ vi.mock('@/tools/params', () => ({ formatParameterLabel: (label: string) => label, })) +import { getBlock } from '@/blocks/registry' +import type { BlockConfig, SubBlockConfig } from '@/blocks/types' import { clearFailedForkResourceReferences, clearFailedReferencesInDeploymentVersions, clearFailedReferencesInWorkflows, rewriteDeploymentVersionState, -} from '@/lib/workspaces/fork/copy/cleanup-failed' -import type { ForkCopyResolver } from '@/lib/workspaces/fork/remap/fork-bootstrap' -import type { ForkRemapKind } from '@/lib/workspaces/fork/remap/remap-references' -import { getBlock } from '@/blocks/registry' -import type { BlockConfig, SubBlockConfig } from '@/blocks/types' +} from '@/ee/workspace-forking/lib/copy/cleanup-failed' +import type { ForkCopyResolver } from '@/ee/workspace-forking/lib/remap/fork-bootstrap' +import type { ForkRemapKind } from '@/ee/workspace-forking/lib/remap/remap-references' const blockWith = (subBlocks: SubBlockConfig[]): BlockConfig => ({ name: 'Knowledge', description: '', subBlocks, outputs: {} }) as unknown as BlockConfig diff --git a/apps/sim/lib/workspaces/fork/copy/cleanup-failed.ts b/apps/sim/ee/workspace-forking/lib/copy/cleanup-failed.ts similarity index 98% rename from apps/sim/lib/workspaces/fork/copy/cleanup-failed.ts rename to apps/sim/ee/workspace-forking/lib/copy/cleanup-failed.ts index 936a777a82d..dcf3f6ffed8 100644 --- a/apps/sim/lib/workspaces/fork/copy/cleanup-failed.ts +++ b/apps/sim/ee/workspace-forking/lib/copy/cleanup-failed.ts @@ -12,13 +12,13 @@ import { getErrorMessage } from '@sim/utils/errors' import { and, asc, eq, gt, inArray } from 'drizzle-orm' import { isRecord, type SubBlockRecord } from '@/lib/workflows/persistence/remap-internal-ids' import { invalidateDeployedStateCache } from '@/lib/workflows/persistence/utils' -import type { ForkFailedResource } from '@/lib/workspaces/fork/copy/copy-resources' -import type { ForkCopyResolver } from '@/lib/workspaces/fork/remap/fork-bootstrap' +import type { ForkFailedResource } from '@/ee/workspace-forking/lib/copy/copy-resources' +import type { ForkCopyResolver } from '@/ee/workspace-forking/lib/remap/fork-bootstrap' import { clearDependentsOnRemap, type ForkRemapKind, remapForkSubBlocks, -} from '@/lib/workspaces/fork/remap/remap-references' +} from '@/ee/workspace-forking/lib/remap/remap-references' const logger = createLogger('WorkspaceForkCleanupFailed') diff --git a/apps/sim/lib/workspaces/fork/copy/content-copy-runner.test.ts b/apps/sim/ee/workspace-forking/lib/copy/content-copy-runner.test.ts similarity index 92% rename from apps/sim/lib/workspaces/fork/copy/content-copy-runner.test.ts rename to apps/sim/ee/workspace-forking/lib/copy/content-copy-runner.test.ts index 0dea89e5db4..90168d7ac40 100644 --- a/apps/sim/lib/workspaces/fork/copy/content-copy-runner.test.ts +++ b/apps/sim/ee/workspace-forking/lib/copy/content-copy-runner.test.ts @@ -5,9 +5,9 @@ import { describe, expect, it } from 'vitest' import { hasForkContentToCopy, serializeContentRefMaps, -} from '@/lib/workspaces/fork/copy/content-copy-runner' -import type { BlobCopyTask } from '@/lib/workspaces/fork/copy/copy-files' -import type { ForkContentPlan } from '@/lib/workspaces/fork/copy/copy-resources' +} from '@/ee/workspace-forking/lib/copy/content-copy-runner' +import type { BlobCopyTask } from '@/ee/workspace-forking/lib/copy/copy-files' +import type { ForkContentPlan } from '@/ee/workspace-forking/lib/copy/copy-resources' describe('serializeContentRefMaps', () => { it('converts each map to a record and drops empty maps', () => { diff --git a/apps/sim/lib/workspaces/fork/copy/content-copy-runner.ts b/apps/sim/ee/workspace-forking/lib/copy/content-copy-runner.ts similarity index 93% rename from apps/sim/lib/workspaces/fork/copy/content-copy-runner.ts rename to apps/sim/ee/workspace-forking/lib/copy/content-copy-runner.ts index 2a60f33f333..16672fa39cd 100644 --- a/apps/sim/lib/workspaces/fork/copy/content-copy-runner.ts +++ b/apps/sim/ee/workspace-forking/lib/copy/content-copy-runner.ts @@ -3,13 +3,16 @@ import { createLogger } from '@sim/logger' import { getErrorMessage } from '@sim/utils/errors' import { isTriggerDevEnabled } from '@/lib/core/config/env-flags' import { runDetached } from '@/lib/core/utils/background' -import { finishBackgroundWork } from '@/lib/workspaces/fork/background-work/store' -import { clearFailedForkResourceReferences } from '@/lib/workspaces/fork/copy/cleanup-failed' -import type { BlobCopyTask } from '@/lib/workspaces/fork/copy/copy-files' -import { executeForkFileBlobCopies } from '@/lib/workspaces/fork/copy/copy-files' -import type { ForkContentPlan, ForkFailedResource } from '@/lib/workspaces/fork/copy/copy-resources' -import { copyForkResourceContent } from '@/lib/workspaces/fork/copy/copy-resources' -import type { ForkContentRefMaps } from '@/lib/workspaces/fork/remap/remap-content-refs' +import { finishBackgroundWork } from '@/ee/workspace-forking/lib/background-work/store' +import { clearFailedForkResourceReferences } from '@/ee/workspace-forking/lib/copy/cleanup-failed' +import type { BlobCopyTask } from '@/ee/workspace-forking/lib/copy/copy-files' +import { executeForkFileBlobCopies } from '@/ee/workspace-forking/lib/copy/copy-files' +import type { + ForkContentPlan, + ForkFailedResource, +} from '@/ee/workspace-forking/lib/copy/copy-resources' +import { copyForkResourceContent } from '@/ee/workspace-forking/lib/copy/copy-resources' +import type { ForkContentRefMaps } from '@/ee/workspace-forking/lib/remap/remap-content-refs' const logger = createLogger('WorkspaceForkContentCopy') diff --git a/apps/sim/ee/workspace-forking/lib/copy/copy-chats.test.ts b/apps/sim/ee/workspace-forking/lib/copy/copy-chats.test.ts new file mode 100644 index 00000000000..c234ff18847 --- /dev/null +++ b/apps/sim/ee/workspace-forking/lib/copy/copy-chats.test.ts @@ -0,0 +1,153 @@ +/** + * @vitest-environment node + */ +import { describe, expect, it } from 'vitest' +import type { DbOrTx } from '@/lib/db/types' +import { copyForkChatDeployments } from '@/ee/workspace-forking/lib/copy/copy-chats' + +/** + * Sequenced select mock: each `.select().from().where()` resolves the next queued result. + * The chat copy issues (1) source chats, (2) target chat rows, then per identifier attempt + * (3+) the taken-identifier check; inserts are captured. + */ +function makeTx(selectResults: unknown[][]) { + const inserted: Array> = [] + let call = 0 + const tx = { + select: () => ({ + from: () => ({ where: () => Promise.resolve(selectResults[call++] ?? []) }), + }), + insert: () => ({ + values: (values: Array>) => { + inserted.push(...values) + return Promise.resolve() + }, + }), + } + return { tx: tx as unknown as DbOrTx, inserted } +} + +const sourceChat = (overrides: Record = {}) => ({ + id: 'chat-src', + workflowId: 'wf-src', + userId: 'src-user', + identifier: 'original-chat', + title: 'Support Chat', + description: 'desc', + isActive: true, + customizations: { welcomeMessage: 'hi' }, + authType: 'password', + password: 'hashed-secret', + allowedEmails: ['a@b.com'], + outputConfigs: [{ blockId: 'block-src', path: 'content' }], + archivedAt: null, + createdAt: new Date('2026-01-01'), + updatedAt: new Date('2026-01-01'), + ...overrides, +}) + +const pair = { + sourceWorkflowId: 'wf-src', + targetWorkflowId: 'wf-tgt', + workflowName: 'Support Flow', +} + +describe('copyForkChatDeployments', () => { + it('copies a live source chat with a generated identifier and remapped output block ids', async () => { + const { tx, inserted } = makeTx([ + [sourceChat()], + [], // target has no chat rows + [], // no identifier collisions + ]) + const result = await copyForkChatDeployments({ + tx, + pairs: [pair], + targetWorkspaceName: 'My Team WS', + userId: 'user-1', + now: new Date('2026-07-07'), + resolveBlockId: (targetWorkflowId, sourceBlockId) => + `${targetWorkflowId}:${sourceBlockId}:mapped`, + }) + + expect(result.created).toBe(1) + expect(inserted).toHaveLength(1) + const copy = inserted[0] + expect(copy.id).not.toBe('chat-src') + expect(copy.workflowId).toBe('wf-tgt') + expect(copy.userId).toBe('user-1') + // `{workspace}-{workflow}-{randomnum}` in the identifier charset. + expect(copy.identifier).toMatch(/^my-team-ws-support-flow-\d{6}$/) + // Config copies verbatim - auth (hashed password) included. + expect(copy.title).toBe('Support Chat') + expect(copy.authType).toBe('password') + expect(copy.password).toBe('hashed-secret') + expect(copy.allowedEmails).toEqual(['a@b.com']) + // Output configs bind to the target's block ids via the sync's block resolver. + expect(copy.outputConfigs).toEqual([{ blockId: 'wf-tgt:block-src:mapped', path: 'content' }]) + expect(copy.archivedAt).toBeNull() + }) + + it('leaves a target that already has ANY chat row untouched (live or archived - never resurrects)', async () => { + const { tx, inserted } = makeTx([ + [sourceChat()], + [{ workflowId: 'wf-tgt' }], // target already has a chat row + ]) + const result = await copyForkChatDeployments({ + tx, + pairs: [pair], + targetWorkspaceName: 'WS', + userId: 'user-1', + now: new Date(), + resolveBlockId: (_wf, blockId) => blockId, + }) + expect(result.created).toBe(0) + expect(inserted).toHaveLength(0) + }) + + it('never emits duplicate identifiers within a batch (same workspace + workflow slug)', async () => { + const twoChats = makeTx([ + [sourceChat(), sourceChat({ id: 'chat-src-2', identifier: 'other' })], + [], // target has no chat rows + [], // no live-identifier collisions + ]) + const result = await copyForkChatDeployments({ + tx: twoChats.tx, + pairs: [pair], + targetWorkspaceName: 'WS', + userId: 'user-1', + now: new Date(), + resolveBlockId: (_wf, blockId) => blockId, + }) + expect(result.created).toBe(2) + const identifiers = twoChats.inserted.map((row) => row.identifier) + expect(new Set(identifiers).size).toBe(2) + }) + + it('no-ops with no pairs or no live source chats', async () => { + const empty = makeTx([[]]) + expect( + ( + await copyForkChatDeployments({ + tx: empty.tx, + pairs: [pair], + targetWorkspaceName: 'WS', + userId: 'user-1', + now: new Date(), + resolveBlockId: (_wf, blockId) => blockId, + }) + ).created + ).toBe(0) + expect( + ( + await copyForkChatDeployments({ + tx: empty.tx, + pairs: [], + targetWorkspaceName: 'WS', + userId: 'user-1', + now: new Date(), + resolveBlockId: (_wf, blockId) => blockId, + }) + ).created + ).toBe(0) + }) +}) diff --git a/apps/sim/ee/workspace-forking/lib/copy/copy-chats.ts b/apps/sim/ee/workspace-forking/lib/copy/copy-chats.ts new file mode 100644 index 00000000000..bf4eeebe9f4 --- /dev/null +++ b/apps/sim/ee/workspace-forking/lib/copy/copy-chats.ts @@ -0,0 +1,190 @@ +import { chat } from '@sim/db/schema' +import { createLogger } from '@sim/logger' +import { generateId, generateShortId } from '@sim/utils/id' +import { randomInt } from '@sim/utils/random' +import { and, inArray, isNull } from 'drizzle-orm' +import type { DbOrTx } from '@/lib/db/types' +import { isRecord } from '@/lib/workflows/persistence/remap-internal-ids' + +const logger = createLogger('WorkspaceForkCopyChats') + +/** Attempts at a random chat identifier before falling back to a long random suffix. */ +const IDENTIFIER_ATTEMPTS = 5 + +export interface ForkChatCopyPair { + sourceWorkflowId: string + targetWorkflowId: string + /** The target workflow's display name, for the generated chat identifier. */ + workflowName: string +} + +/** Lowercase a display name into the chat identifier charset (`[a-z0-9-]`), bounded. */ +function slugifyForIdentifier(value: string): string { + const slug = value + .toLowerCase() + .replace(/[^a-z0-9]+/g, '-') + .replace(/^-+|-+$/g, '') + .slice(0, 24) + .replace(/-+$/g, '') + return slug || 'chat' +} + +/** + * `{workspace}-{workflow}-{randomnum}` in the identifier charset. Six digits: concurrent forks + * of one parent share the workspace/workflow slugs and can't see each other's uncommitted rows, + * so the number is the only collision guard across simultaneous transactions. + */ +function buildIdentifierCandidate(workspaceSlug: string, workflowName: string): string { + const random = randomInt(100000, 1000000) + return `${workspaceSlug}-${slugifyForIdentifier(workflowName)}-${random}` +} + +/** Remap each output config's `blockId` onto the target workflow's block ids. */ +function remapChatOutputConfigs( + value: unknown, + targetWorkflowId: string, + resolveBlockId: (targetWorkflowId: string, sourceBlockId: string) => string +): unknown { + if (!Array.isArray(value)) return value + return value.map((entry) => { + if (!isRecord(entry) || typeof entry.blockId !== 'string') return entry + return { ...entry, blockId: resolveBlockId(targetWorkflowId, entry.blockId) } + }) +} + +/** + * Carry chat deployments onto the target side of a fork or sync: each LIVE source chat whose + * target workflow has NO chat row at all (live or archived) is copied with a freshly generated + * identifier - `{target-workspace}-{workflow}-{randomnum}` - so the copy serves at its own URL + * immediately once the workflow deploys. Config copies verbatim (title, customizations, auth + * incl. the hashed password and allowed emails); `outputConfigs` block ids are remapped through + * the SAME block-id resolver the workflow write used, so the outputs bind to the target's + * blocks. + * + * Targets with ANY existing chat row are left completely untouched ("maintained"): an already + * carried-over chat keeps its identifier and config on every subsequent sync, and a chat the + * target side deliberately archived is never resurrected. Bounded by the synced workflow count; + * identifiers are collision-checked against live chats and fall back to a long random suffix. + */ +export async function copyForkChatDeployments(params: { + tx: DbOrTx + pairs: ForkChatCopyPair[] + /** The TARGET workspace's display name, the identifier's first segment. */ + targetWorkspaceName: string + userId: string + now: Date + resolveBlockId: (targetWorkflowId: string, sourceBlockId: string) => string + requestId?: string +}): Promise<{ created: number }> { + const { tx, pairs, targetWorkspaceName, userId, now, resolveBlockId, requestId } = params + if (pairs.length === 0) return { created: 0 } + + const pairBySource = new Map(pairs.map((pair) => [pair.sourceWorkflowId, pair])) + const sourceChats = await tx + .select() + .from(chat) + .where(and(inArray(chat.workflowId, [...pairBySource.keys()]), isNull(chat.archivedAt))) + if (sourceChats.length === 0) return { created: 0 } + + // A target workflow with ANY chat row (live or archived) keeps it: live means the carry-over + // already happened (or the target made its own); archived means the target deliberately + // retired it - recreating would resurrect against their intent. + const candidateTargetIds = [ + ...new Set( + sourceChats + .map((row) => pairBySource.get(row.workflowId)?.targetWorkflowId) + .filter((id): id is string => Boolean(id)) + ), + ] + const existingTargetRows = await tx + .select({ workflowId: chat.workflowId }) + .from(chat) + .where(inArray(chat.workflowId, candidateTargetIds)) + const targetsWithChat = new Set(existingTargetRows.map((row) => row.workflowId)) + + const toCopy = sourceChats.filter((row) => { + const pair = pairBySource.get(row.workflowId) + return pair && !targetsWithChat.has(pair.targetWorkflowId) + }) + if (toCopy.length === 0) return { created: 0 } + + // Generate identifiers, retrying collisions against LIVE chats (the unique index is partial + // on `archived_at IS NULL`, so archived identifiers are reusable) and against this batch. + const workspaceSlug = slugifyForIdentifier(targetWorkspaceName) + const identifierByChatId = new Map() + let pending = toCopy.map((row) => ({ + chatId: row.id, + workflowName: pairBySource.get(row.workflowId)?.workflowName ?? 'chat', + })) + for (let attempt = 0; attempt < IDENTIFIER_ATTEMPTS && pending.length > 0; attempt++) { + const claimed = new Set(identifierByChatId.values()) + const candidates = pending.map((entry) => { + let candidate = buildIdentifierCandidate(workspaceSlug, entry.workflowName) + while (claimed.has(candidate)) { + candidate = buildIdentifierCandidate(workspaceSlug, entry.workflowName) + } + claimed.add(candidate) + return { ...entry, candidate } + }) + const taken = new Set( + ( + await tx + .select({ identifier: chat.identifier }) + .from(chat) + .where( + and( + inArray( + chat.identifier, + candidates.map((entry) => entry.candidate) + ), + isNull(chat.archivedAt) + ) + ) + ).map((row) => row.identifier) + ) + pending = [] + for (const entry of candidates) { + if (taken.has(entry.candidate)) pending.push(entry) + else identifierByChatId.set(entry.chatId, entry.candidate) + } + } + for (const entry of pending) { + // Exhausted the friendly attempts: a long random suffix is effectively collision-free + // (the global unique index still backstops it). + identifierByChatId.set( + entry.chatId, + `${workspaceSlug}-${slugifyForIdentifier(entry.workflowName)}-${generateShortId(10) + .toLowerCase() + .replace(/[^a-z0-9]/g, '0')}` + ) + } + + const inserts: (typeof chat.$inferInsert)[] = [] + for (const row of toCopy) { + const pair = pairBySource.get(row.workflowId) + const identifier = identifierByChatId.get(row.id) + if (!pair || !identifier) continue + inserts.push({ + ...row, + id: generateId(), + workflowId: pair.targetWorkflowId, + userId, + identifier, + outputConfigs: remapChatOutputConfigs( + row.outputConfigs, + pair.targetWorkflowId, + resolveBlockId + ), + archivedAt: null, + createdAt: now, + updatedAt: now, + }) + } + if (inserts.length > 0) { + await tx.insert(chat).values(inserts) + logger.info(`[${requestId ?? 'unknown'}] Carried ${inserts.length} chat deployment(s)`, { + identifiers: inserts.map((row) => row.identifier), + }) + } + return { created: inserts.length } +} diff --git a/apps/sim/lib/workspaces/fork/copy/copy-files.test.ts b/apps/sim/ee/workspace-forking/lib/copy/copy-files.test.ts similarity index 99% rename from apps/sim/lib/workspaces/fork/copy/copy-files.test.ts rename to apps/sim/ee/workspace-forking/lib/copy/copy-files.test.ts index e0b5c3c0e58..66a2f36f8a0 100644 --- a/apps/sim/lib/workspaces/fork/copy/copy-files.test.ts +++ b/apps/sim/ee/workspace-forking/lib/copy/copy-files.test.ts @@ -24,7 +24,7 @@ import { type BlobCopyTask, executeForkFileBlobCopies, planForkFileCopies, -} from '@/lib/workspaces/fork/copy/copy-files' +} from '@/ee/workspace-forking/lib/copy/copy-files' function makeTask(overrides: Partial = {}): BlobCopyTask { return { diff --git a/apps/sim/lib/workspaces/fork/copy/copy-files.ts b/apps/sim/ee/workspace-forking/lib/copy/copy-files.ts similarity index 99% rename from apps/sim/lib/workspaces/fork/copy/copy-files.ts rename to apps/sim/ee/workspace-forking/lib/copy/copy-files.ts index 828aa16513a..e5f060786ba 100644 --- a/apps/sim/lib/workspaces/fork/copy/copy-files.ts +++ b/apps/sim/ee/workspace-forking/lib/copy/copy-files.ts @@ -12,7 +12,7 @@ import { MAX_FILE_SIZE } from '@/lib/uploads/utils/validation' import { type ForkContentRefMaps, rewriteForkContentRefs, -} from '@/lib/workspaces/fork/remap/remap-content-refs' +} from '@/ee/workspace-forking/lib/remap/remap-content-refs' const logger = createLogger('WorkspaceForkCopyFiles') diff --git a/apps/sim/lib/workspaces/fork/copy/copy-resources.test.ts b/apps/sim/ee/workspace-forking/lib/copy/copy-resources.test.ts similarity index 86% rename from apps/sim/lib/workspaces/fork/copy/copy-resources.test.ts rename to apps/sim/ee/workspace-forking/lib/copy/copy-resources.test.ts index e33be42700f..1d2af612ff2 100644 --- a/apps/sim/lib/workspaces/fork/copy/copy-resources.test.ts +++ b/apps/sim/ee/workspace-forking/lib/copy/copy-resources.test.ts @@ -26,8 +26,8 @@ import { copyForkResourceContent, type ForkContentPlan, planForkMappedKbDocumentCopies, -} from '@/lib/workspaces/fork/copy/copy-resources' -import type { ForkReferenceResolver } from '@/lib/workspaces/fork/remap/remap-references' +} from '@/ee/workspace-forking/lib/copy/copy-resources' +import type { ForkReferenceResolver } from '@/ee/workspace-forking/lib/remap/remap-references' function basePlan(overrides: Partial = {}): ForkContentPlan { return { @@ -277,6 +277,7 @@ describe('copyForkResourceContainers custom-tool code env rewrite', () => { const customToolSelection = { customTools: ['ct-1'], skills: [], + mcpServers: [], workflowMcpServers: [], tables: [], knowledgeBases: [], @@ -319,6 +320,87 @@ describe('copyForkResourceContainers custom-tool code env rewrite', () => { }) }) +describe('copyForkResourceContainers external MCP server copy', () => { + function makeServerTx(rows: Array>) { + const inserted: Array> = [] + const tx = { + select: () => ({ from: () => ({ where: () => Promise.resolve(rows) }) }), + insert: () => ({ + values: (values: Array>) => { + inserted.push(...values) + return Promise.resolve() + }, + }), + } + return { tx: tx as unknown as DbOrTx, inserted } + } + + it('copies the config row with runtime status reset, records the mapping, and never copies tokens', async () => { + const { tx, inserted } = makeServerTx([ + { + id: 'mcp-1', + workspaceId: 'src-ws', + createdBy: 'src-user', + name: 'Linear MCP', + transport: 'streamable-http', + url: 'https://mcp.linear.app/mcp', + authType: 'headers', + headers: { Authorization: 'Bearer {{LINEAR_KEY}}' }, + connectionStatus: 'connected', + lastConnected: new Date(), + lastError: 'old error', + statusConfig: { consecutiveFailures: 2, lastSuccessfulDiscovery: 'x' }, + toolCount: 12, + lastToolsRefresh: new Date(), + totalRequests: 99, + lastUsed: new Date(), + deletedAt: null, + }, + ]) + + const result = await copyForkResourceContainers({ + tx, + sourceWorkspaceId: 'src-ws', + childWorkspaceId: 'child-ws', + userId: 'user-1', + now: new Date(), + selection: { + customTools: [], + skills: [], + mcpServers: ['mcp-1'], + workflowMcpServers: [], + tables: [], + knowledgeBases: [], + }, + workflowIdMap: new Map(), + }) + + expect(inserted).toHaveLength(1) + const child = inserted[0] + expect(child.id).not.toBe('mcp-1') + expect(child.workspaceId).toBe('child-ws') + expect(child.createdBy).toBe('user-1') + // Config copies verbatim - url/headers ({{ENV}} refs resolve against the child's env). + expect(child.url).toBe('https://mcp.linear.app/mcp') + expect(child.headers).toEqual({ Authorization: 'Bearer {{LINEAR_KEY}}' }) + // Runtime status resets: tools re-discover on first use in the child (cache is + // workspace-keyed), and no `mcp_server_oauth` row is ever inserted (re-auth required). + expect(child.connectionStatus).toBe('disconnected') + expect(child.lastConnected).toBeNull() + expect(child.lastError).toBeNull() + expect(child.toolCount).toBe(0) + expect(child.lastToolsRefresh).toBeNull() + // The id map + mapping rows record the copy so subblock references remap onto it. + expect(result.idMap.get('mcp_server')?.get('mcp-1')).toBe(child.id) + expect(result.mappingEntries).toContainEqual({ + resourceType: 'mcp_server', + parentResourceId: 'mcp-1', + childResourceId: child.id, + }) + expect(result.names.mcpServers).toEqual(['Linear MCP']) + }) +}) + describe('copyForkResourceContainers skill copy', () => { function makeSkillTx(rows: Array>) { const inserted: Array> = [] @@ -337,6 +419,7 @@ describe('copyForkResourceContainers skill copy', () => { const skillSelection = { customTools: [], skills: ['sk-1'], + mcpServers: [], workflowMcpServers: [], tables: [], knowledgeBases: [], @@ -402,6 +485,7 @@ describe('copyForkResourceContainers knowledge-base tag definitions', () => { const kbSelection = { customTools: [], skills: [], + mcpServers: [], workflowMcpServers: [], tables: [], knowledgeBases: ['kb-1'], diff --git a/apps/sim/lib/workspaces/fork/copy/copy-resources.ts b/apps/sim/ee/workspace-forking/lib/copy/copy-resources.ts similarity index 91% rename from apps/sim/lib/workspaces/fork/copy/copy-resources.ts rename to apps/sim/ee/workspace-forking/lib/copy/copy-resources.ts index a6b3779c4ce..31151be46b0 100644 --- a/apps/sim/lib/workspaces/fork/copy/copy-resources.ts +++ b/apps/sim/ee/workspace-forking/lib/copy/copy-resources.ts @@ -5,6 +5,7 @@ import { embedding, knowledgeBase, knowledgeBaseTagDefinitions, + mcpServers, skill, userTableDefinitions, userTableRows, @@ -24,18 +25,18 @@ import { isRecord } from '@/lib/workflows/persistence/remap-internal-ids' import type { ForkMappingUpsert, ForkResourceType, -} from '@/lib/workspaces/fork/mapping/mapping-store' -import type { ForkBlockIdResolver } from '@/lib/workspaces/fork/remap/block-identity' +} from '@/ee/workspace-forking/lib/mapping/mapping-store' +import type { ForkBlockIdResolver } from '@/ee/workspace-forking/lib/remap/block-identity' import { type ForkContentRefMaps, rewriteForkContentRefs, rewriteForkResourceUrls, -} from '@/lib/workspaces/fork/remap/remap-content-refs' +} from '@/ee/workspace-forking/lib/remap/remap-content-refs' import { type ForkReferenceResolver, rewriteEnvRefsInText, -} from '@/lib/workspaces/fork/remap/remap-references' -import { remapForkTableWorkflowGroups } from '@/lib/workspaces/fork/remap/remap-table-groups' +} from '@/ee/workspace-forking/lib/remap/remap-references' +import { remapForkTableWorkflowGroups } from '@/ee/workspace-forking/lib/remap/remap-table-groups' const logger = createLogger('WorkspaceForkCopyResources') @@ -66,6 +67,8 @@ export interface CopyResourcesParams { selection: { customTools: string[] skills: string[] + /** External MCP servers, copied as config rows (fork-only; sync resolves them by mapping). */ + mcpServers: string[] workflowMcpServers: string[] tables: string[] knowledgeBases: string[] @@ -175,6 +178,7 @@ export interface ForkCopiedResourceNames { knowledgeBases: string[] customTools: string[] skills: string[] + mcpServers: string[] workflowMcpServers: string[] } @@ -239,6 +243,7 @@ export async function copyForkResourceContainers( knowledgeBases: [], customTools: [], skills: [], + mcpServers: [], workflowMcpServers: [], } @@ -322,6 +327,64 @@ export async function copyForkResourceContainers( if (inserts.length > 0) await tx.insert(skill).values(inserts) } + if (selection.mcpServers.length > 0) { + const rows = await tx + .select() + .from(mcpServers) + .where( + and( + inArray(mcpServers.id, selection.mcpServers), + eq(mcpServers.workspaceId, sourceWorkspaceId), + isNull(mcpServers.deletedAt) + ) + ) + // Copy external MCP servers as CONFIG rows: transport/url/headers (and pre-registered OAuth + // client info) verbatim - the forking admin can already read them in the source. OAuth + // tokens (`mcp_server_oauth`) are never copied: an oauth-auth server lands disconnected in + // the child until re-authorized. Runtime status resets to a clean slate - the tool cache is + // workspace-keyed, so the child's first tool-selector open / execution re-discovers tools + // fresh; subblock tool SELECTIONS remap onto the copied server id (tool names carry over). + // `{{ENV}}` refs in the url/headers are rewritten through the env-name resolver when a sync + // renames an env var (fork passes no resolver - names preserve verbatim), mirroring the + // custom-tool `code` rewrite. + const rewriteEnv = (value: string): string => + resolveEnvName ? rewriteEnvRefsInText(value, resolveEnvName) : value + const inserts: (typeof mcpServers.$inferInsert)[] = [] + for (const row of rows) { + const childId = generateId() + const headers = isRecord(row.headers) + ? Object.fromEntries( + Object.entries(row.headers).map(([key, value]) => [ + key, + typeof value === 'string' ? rewriteEnv(value) : value, + ]) + ) + : row.headers + inserts.push({ + ...row, + id: childId, + workspaceId: childWorkspaceId, + createdBy: userId, + url: typeof row.url === 'string' ? rewriteEnv(row.url) : row.url, + headers, + connectionStatus: 'disconnected', + lastConnected: null, + lastError: null, + statusConfig: { consecutiveFailures: 0, lastSuccessfulDiscovery: null }, + toolCount: 0, + lastToolsRefresh: null, + totalRequests: 0, + lastUsed: null, + deletedAt: null, + createdAt: now, + updatedAt: now, + }) + record('mcp_server', row.id, childId) + names.mcpServers.push(row.name) + } + if (inserts.length > 0) await tx.insert(mcpServers).values(inserts) + } + if (selection.workflowMcpServers.length > 0) { const rows = await tx .select() @@ -334,20 +397,23 @@ export async function copyForkResourceContainers( ) ) // Copy workflow-publishing MCP servers as config-only shells: the server definition - // (name/description/visibility) with NO `workflow_mcp_tool` rows attached, so the child - // re-registers its own workflows. These are fork-copy-only (not referenced by subblocks), - // so they are not recorded in the fork resource map. + // (name/description/visibility) with NO `workflow_mcp_tool` rows attached - the child's + // attachments are seeded by the chat/attachment carry-over and re-derived on deploy. The + // shell copy IS recorded in the fork resource map (`workflow_mcp_server` identity), so a + // later sync can mirror `workflow_mcp_tool` attachments onto the mapped counterpart. const inserts: (typeof workflowMcpServer.$inferInsert)[] = [] for (const row of rows) { + const childId = generateId() inserts.push({ ...row, - id: generateId(), + id: childId, workspaceId: childWorkspaceId, createdBy: userId, deletedAt: null, createdAt: now, updatedAt: now, }) + record('workflow_mcp_server', row.id, childId) names.workflowMcpServers.push(row.name) } if (inserts.length > 0) await tx.insert(workflowMcpServer).values(inserts) diff --git a/apps/sim/lib/workspaces/fork/copy/copy-workflows.test.ts b/apps/sim/ee/workspace-forking/lib/copy/copy-workflows.test.ts similarity index 99% rename from apps/sim/lib/workspaces/fork/copy/copy-workflows.test.ts rename to apps/sim/ee/workspace-forking/lib/copy/copy-workflows.test.ts index 74b7ade28f9..88d22a908bf 100644 --- a/apps/sim/lib/workspaces/fork/copy/copy-workflows.test.ts +++ b/apps/sim/ee/workspace-forking/lib/copy/copy-workflows.test.ts @@ -16,7 +16,7 @@ import { buildWorkflowNameRegistry, copyWorkflowStateIntoTarget, resolveForkFolderMapping, -} from '@/lib/workspaces/fork/copy/copy-workflows' +} from '@/ee/workspace-forking/lib/copy/copy-workflows' describe('buildWorkflowNameRegistry', () => { it('reports a name as taken by another workflow in the same folder', () => { diff --git a/apps/sim/lib/workspaces/fork/copy/copy-workflows.ts b/apps/sim/ee/workspace-forking/lib/copy/copy-workflows.ts similarity index 94% rename from apps/sim/lib/workspaces/fork/copy/copy-workflows.ts rename to apps/sim/ee/workspace-forking/lib/copy/copy-workflows.ts index f1d7be3ecbb..ca6f476c85c 100644 --- a/apps/sim/lib/workspaces/fork/copy/copy-workflows.ts +++ b/apps/sim/ee/workspace-forking/lib/copy/copy-workflows.ts @@ -15,12 +15,12 @@ import { saveWorkflowToNormalizedTables } from '@/lib/workflows/persistence/util import { deriveForkBlockId, type ForkBlockIdResolver, -} from '@/lib/workspaces/fork/remap/block-identity' +} from '@/ee/workspace-forking/lib/remap/block-identity' import { applyDependentOverrides, collectClearedDependents, type NeedsConfigurationField, -} from '@/lib/workspaces/fork/remap/remap-references' +} from '@/ee/workspace-forking/lib/remap/remap-references' import type { BlockData, BlockState, @@ -318,6 +318,13 @@ export interface CopyWorkflowStateParams { description: string | null folderId: string | null sortOrder: number + /** + * Whether the source's deployed API is public (unauthenticated). Carried onto sync targets + * so a public source stays public after push/pull - the target org's own access-control + * gate (`validatePublicApiAllowed`) still applies at execution. Omitted at fork-create: + * the child starts undeployed and private (going public is an explicit act there). + */ + isPublicApi?: boolean } /** source workflow id -> target workflow id, for `workflow-selector` references */ workflowIdMap: Map @@ -464,7 +471,15 @@ export async function copyWorkflowStateIntoTarget( // source carried but the target never set isn't flagged. if (mode === 'replace' && targetCurrent) { clearedDependents.push( - ...collectClearedDependents(block.type, newBlockId, block.name, targetCurrent, subBlocks) + ...collectClearedDependents( + block.type, + newBlockId, + block.name, + targetCurrent, + subBlocks, + (block.data as { canonicalModes?: Record } | undefined) + ?.canonicalModes + ) ) } @@ -553,6 +568,9 @@ export async function copyWorkflowStateIntoTarget( runCount: 0, locked: false, variables: remappedVariables, + // Deployment visibility follows the source on sync (a public source stays public in + // the target); fork-create omits the field, so the child starts private. + ...(sourceMeta.isPublicApi !== undefined ? { isPublicApi: sourceMeta.isPublicApi } : {}), }) } else { await tx @@ -564,6 +582,7 @@ export async function copyWorkflowStateIntoTarget( variables: remappedVariables, lastSynced: now, updatedAt: now, + ...(sourceMeta.isPublicApi !== undefined ? { isPublicApi: sourceMeta.isPublicApi } : {}), }) .where(eq(workflow.id, targetWorkflowId)) } diff --git a/apps/sim/lib/workspaces/fork/copy/deploy-bridge.ts b/apps/sim/ee/workspace-forking/lib/copy/deploy-bridge.ts similarity index 97% rename from apps/sim/lib/workspaces/fork/copy/deploy-bridge.ts rename to apps/sim/ee/workspace-forking/lib/copy/deploy-bridge.ts index 01c2aaedd23..9c7ab55c0dc 100644 --- a/apps/sim/lib/workspaces/fork/copy/deploy-bridge.ts +++ b/apps/sim/ee/workspace-forking/lib/copy/deploy-bridge.ts @@ -4,7 +4,7 @@ import { createLogger } from '@sim/logger' import { and, eq, exists, inArray, isNull, sql } from 'drizzle-orm' import type { DbOrTx } from '@/lib/db/types' import { loadDeployedWorkflowState } from '@/lib/workflows/persistence/utils' -import { ForkError } from '@/lib/workspaces/fork/lineage/authz' +import { ForkError } from '@/ee/workspace-forking/lib/lineage/authz' import type { Variable, WorkflowState } from '@/stores/workflows/workflow/types' const logger = createLogger('WorkspaceForkDeployBridge') @@ -26,6 +26,8 @@ export interface DeployedWorkflowSummary { description: string | null folderId: string | null sortOrder: number + /** Whether the deployed API accepts unauthenticated calls; carried onto sync targets. */ + isPublicApi: boolean } /** @@ -48,6 +50,7 @@ export async function listDeployedWorkflows( description: workflow.description, folderId: workflow.folderId, sortOrder: workflow.sortOrder, + isPublicApi: workflow.isPublicApi, }) .from(workflow) .where( diff --git a/apps/sim/lib/workspaces/fork/copy/storage-quota.test.ts b/apps/sim/ee/workspace-forking/lib/copy/storage-quota.test.ts similarity index 95% rename from apps/sim/lib/workspaces/fork/copy/storage-quota.test.ts rename to apps/sim/ee/workspace-forking/lib/copy/storage-quota.test.ts index 04f0ef050f5..6c02154b2e1 100644 --- a/apps/sim/lib/workspaces/fork/copy/storage-quota.test.ts +++ b/apps/sim/ee/workspace-forking/lib/copy/storage-quota.test.ts @@ -15,7 +15,7 @@ vi.mock('@/lib/billing/storage', () => ({ * Minimal stand-in for the domain error so this unit test never loads the authz module's * billing/feature-flag import chain. Shape-compatible with the real `ForkError`. */ -vi.mock('@/lib/workspaces/fork/lineage/authz', () => ({ +vi.mock('@/ee/workspace-forking/lib/lineage/authz', () => ({ ForkError: class ForkError extends Error { statusCode: number constructor(message: string, statusCode = 400) { @@ -30,8 +30,8 @@ import type { DbOrTx } from '@/lib/db/types' import { assertForkStorageHeadroom, sumForkCopyBytes, -} from '@/lib/workspaces/fork/copy/storage-quota' -import { ForkError } from '@/lib/workspaces/fork/lineage/authz' +} from '@/ee/workspace-forking/lib/copy/storage-quota' +import { ForkError } from '@/ee/workspace-forking/lib/lineage/authz' /** * Fake executor resolving one aggregate row per query, in call order. Supports both sum diff --git a/apps/sim/lib/workspaces/fork/copy/storage-quota.ts b/apps/sim/ee/workspace-forking/lib/copy/storage-quota.ts similarity index 98% rename from apps/sim/lib/workspaces/fork/copy/storage-quota.ts rename to apps/sim/ee/workspace-forking/lib/copy/storage-quota.ts index 91a250f1b5d..12ab6e800a5 100644 --- a/apps/sim/lib/workspaces/fork/copy/storage-quota.ts +++ b/apps/sim/ee/workspace-forking/lib/copy/storage-quota.ts @@ -2,7 +2,7 @@ import { document, knowledgeBase, workspaceFiles } from '@sim/db/schema' import { and, eq, inArray, isNotNull, isNull, or, sql } from 'drizzle-orm' import { checkStorageQuota } from '@/lib/billing/storage' import type { DbOrTx } from '@/lib/db/types' -import { ForkError } from '@/lib/workspaces/fork/lineage/authz' +import { ForkError } from '@/ee/workspace-forking/lib/lineage/authz' /** Resource ids whose blob bytes a fork/sync copy would duplicate into the target. */ export interface ForkCopyBytesSelection { diff --git a/apps/sim/lib/workspaces/fork/copy/workflow-id-map.test.ts b/apps/sim/ee/workspace-forking/lib/copy/workflow-id-map.test.ts similarity index 94% rename from apps/sim/lib/workspaces/fork/copy/workflow-id-map.test.ts rename to apps/sim/ee/workspace-forking/lib/copy/workflow-id-map.test.ts index b0fb5f7a963..75faf014b89 100644 --- a/apps/sim/lib/workspaces/fork/copy/workflow-id-map.test.ts +++ b/apps/sim/ee/workspace-forking/lib/copy/workflow-id-map.test.ts @@ -2,7 +2,7 @@ * @vitest-environment node */ import { describe, expect, it } from 'vitest' -import { buildForkWorkflowIdMap } from '@/lib/workspaces/fork/copy/workflow-id-map' +import { buildForkWorkflowIdMap } from '@/ee/workspace-forking/lib/copy/workflow-id-map' describe('buildForkWorkflowIdMap', () => { const sequentialIds = () => { diff --git a/apps/sim/lib/workspaces/fork/copy/workflow-id-map.ts b/apps/sim/ee/workspace-forking/lib/copy/workflow-id-map.ts similarity index 100% rename from apps/sim/lib/workspaces/fork/copy/workflow-id-map.ts rename to apps/sim/ee/workspace-forking/lib/copy/workflow-id-map.ts diff --git a/apps/sim/ee/workspace-forking/lib/copy/workflow-mcp-attachments.test.ts b/apps/sim/ee/workspace-forking/lib/copy/workflow-mcp-attachments.test.ts new file mode 100644 index 00000000000..392cef66340 --- /dev/null +++ b/apps/sim/ee/workspace-forking/lib/copy/workflow-mcp-attachments.test.ts @@ -0,0 +1,224 @@ +/** + * @vitest-environment node + */ +import { describe, expect, it, vi } from 'vitest' + +const { mockGetEdgeMappingRows, mockAcquireLock } = vi.hoisted(() => ({ + mockGetEdgeMappingRows: vi.fn(), + mockAcquireLock: vi.fn(), +})) + +vi.mock('@/ee/workspace-forking/lib/mapping/mapping-store', () => ({ + getEdgeMappingRows: mockGetEdgeMappingRows, +})) +vi.mock('@/lib/mcp/server-locks', () => ({ + acquireWorkflowMcpServerLock: mockAcquireLock, +})) + +import type { DbOrTx } from '@/lib/db/types' +import { + copyForkWorkflowMcpAttachments, + reconcileForkWorkflowMcpAttachments, +} from '@/ee/workspace-forking/lib/copy/workflow-mcp-attachments' + +/** Sequenced select mock + captured inserts/updates. */ +function makeTx(selectResults: unknown[][]) { + const inserted: Array> = [] + const updates: Array> = [] + let call = 0 + const select = vi.fn(() => ({ + from: () => ({ where: () => Promise.resolve(selectResults[call++] ?? []) }), + })) + const tx = { + select, + insert: () => ({ + values: (values: Array>) => { + inserted.push(...values) + return Promise.resolve() + }, + }), + update: () => ({ + set: (set: Record) => ({ + where: () => { + updates.push(set) + return Promise.resolve() + }, + }), + }), + } + return { tx: tx as unknown as DbOrTx, inserted, updates, select } +} + +const attachment = (overrides: Record = {}) => ({ + serverId: 'srv-src', + workflowId: 'wf-src', + toolName: 'run_support_flow', + toolDescription: 'Runs the support flow', + parameterSchema: { type: 'object', properties: {} }, + parameterDescriptionOverrides: {}, + ...overrides, +}) + +const serverMappingRow = { + id: 'map-1', + childWorkspaceId: 'child-ws', + resourceType: 'workflow_mcp_server' as const, + parentResourceId: 'srv-parent', + childResourceId: 'srv-child', +} + +describe('reconcileForkWorkflowMcpAttachments', () => { + it('creates the target attachment for a mapped server + written pair (push: child -> parent)', async () => { + mockGetEdgeMappingRows.mockResolvedValue([serverMappingRow]) + mockAcquireLock.mockClear() + const { tx, inserted, select } = makeTx([ + [{ id: 'srv-child' }, { id: 'srv-parent' }], // both mapped servers still live + [attachment({ serverId: 'srv-child', workflowId: 'wf-child' })], + [], // no existing target attachments + ]) + const result = await reconcileForkWorkflowMcpAttachments({ + tx, + childWorkspaceId: 'child-ws', + sourceIsParent: false, // push: source is the child + now: new Date(), + writtenPairs: [{ sourceWorkflowId: 'wf-child', targetWorkflowId: 'wf-parent' }], + }) + expect(inserted).toHaveLength(1) + expect(inserted[0]).toMatchObject({ + serverId: 'srv-parent', + workflowId: 'wf-parent', + toolName: 'run_support_flow', + }) + expect(result.affectedServerIds).toEqual(['srv-parent']) + expect(mockAcquireLock).toHaveBeenCalledWith(tx, 'srv-parent') + // The lock must precede every read: locking after the diff is computed would let a + // concurrent attach commit in between and abort the promote on the unique constraint. + expect(mockAcquireLock.mock.invocationCallOrder[0]).toBeLessThan( + select.mock.invocationCallOrder[0] + ) + }) + + it('archives a target attachment whose source counterpart was detached', async () => { + mockGetEdgeMappingRows.mockResolvedValue([serverMappingRow]) + const { tx, inserted, updates } = makeTx([ + [{ id: 'srv-child' }, { id: 'srv-parent' }], // both mapped servers still live + [], // source has no attachments left + [ + { + id: 'tool-tgt', + serverId: 'srv-parent', + workflowId: 'wf-parent', + toolName: 'run_support_flow', + toolDescription: null, + parameterDescriptionOverrides: {}, + }, + ], + ]) + const result = await reconcileForkWorkflowMcpAttachments({ + tx, + childWorkspaceId: 'child-ws', + sourceIsParent: false, + now: new Date(), + writtenPairs: [{ sourceWorkflowId: 'wf-child', targetWorkflowId: 'wf-parent' }], + }) + expect(inserted).toHaveLength(0) + expect(updates).toHaveLength(1) + expect(updates[0].archivedAt).toBeInstanceOf(Date) + expect(result.affectedServerIds).toEqual(['srv-parent']) + }) + + it('refreshes drifted metadata on an existing target attachment', async () => { + mockGetEdgeMappingRows.mockResolvedValue([serverMappingRow]) + const { tx, updates } = makeTx([ + [{ id: 'srv-child' }, { id: 'srv-parent' }], // both mapped servers still live + [attachment({ serverId: 'srv-child', workflowId: 'wf-child', toolName: 'renamed_tool' })], + [ + { + id: 'tool-tgt', + serverId: 'srv-parent', + workflowId: 'wf-parent', + toolName: 'run_support_flow', + toolDescription: 'Runs the support flow', + parameterDescriptionOverrides: {}, + }, + ], + ]) + await reconcileForkWorkflowMcpAttachments({ + tx, + childWorkspaceId: 'child-ws', + sourceIsParent: false, + now: new Date(), + writtenPairs: [{ sourceWorkflowId: 'wf-child', targetWorkflowId: 'wf-parent' }], + }) + expect(updates).toHaveLength(1) + expect(updates[0].toolName).toBe('renamed_tool') + }) + + it('skips a mapped pair whose target server was deleted (stale identity row must never FK-crash the sync)', async () => { + mockGetEdgeMappingRows.mockResolvedValue([serverMappingRow]) + const { tx, inserted } = makeTx([ + [{ id: 'srv-child' }], // target server srv-parent hard-deleted: only the source is live + ]) + const result = await reconcileForkWorkflowMcpAttachments({ + tx, + childWorkspaceId: 'child-ws', + sourceIsParent: false, + now: new Date(), + writtenPairs: [{ sourceWorkflowId: 'wf-child', targetWorkflowId: 'wf-parent' }], + }) + expect(inserted).toHaveLength(0) + expect(result.affectedServerIds).toEqual([]) + }) + + it('no-ops with no mapped servers (attachments follow the server identity)', async () => { + mockGetEdgeMappingRows.mockResolvedValue([ + { ...serverMappingRow, resourceType: 'table' as const }, + ]) + const { tx, inserted } = makeTx([]) + const result = await reconcileForkWorkflowMcpAttachments({ + tx, + childWorkspaceId: 'child-ws', + sourceIsParent: false, + now: new Date(), + writtenPairs: [{ sourceWorkflowId: 'wf-child', targetWorkflowId: 'wf-parent' }], + }) + expect(inserted).toHaveLength(0) + expect(result.affectedServerIds).toEqual([]) + }) +}) + +describe('copyForkWorkflowMcpAttachments', () => { + it('copies an attachment only when BOTH its server and workflow were copied', async () => { + const { tx, inserted } = makeTx([ + [ + attachment(), // both mapped + attachment({ serverId: 'srv-uncopied', workflowId: 'wf-src' }), + attachment({ serverId: 'srv-src', workflowId: 'wf-uncopied' }), + ], + ]) + const result = await copyForkWorkflowMcpAttachments({ + tx, + serverIdMap: new Map([['srv-src', 'srv-copy']]), + workflowIdMap: new Map([['wf-src', 'wf-copy']]), + now: new Date(), + }) + expect(result.copied).toBe(1) + expect(inserted[0]).toMatchObject({ + serverId: 'srv-copy', + workflowId: 'wf-copy', + toolName: 'run_support_flow', + }) + }) + + it('no-ops when either id map is empty', async () => { + const { tx, inserted } = makeTx([]) + const result = await copyForkWorkflowMcpAttachments({ + tx, + serverIdMap: new Map(), + workflowIdMap: new Map([['wf-src', 'wf-copy']]), + now: new Date(), + }) + expect(result.copied).toBe(0) + expect(inserted).toHaveLength(0) + }) +}) diff --git a/apps/sim/ee/workspace-forking/lib/copy/workflow-mcp-attachments.ts b/apps/sim/ee/workspace-forking/lib/copy/workflow-mcp-attachments.ts new file mode 100644 index 00000000000..2a5168dfa47 --- /dev/null +++ b/apps/sim/ee/workspace-forking/lib/copy/workflow-mcp-attachments.ts @@ -0,0 +1,296 @@ +import { workflowMcpServer, workflowMcpTool } from '@sim/db/schema' +import { generateId } from '@sim/utils/id' +import { and, eq, inArray, isNull } from 'drizzle-orm' +import type { DbOrTx } from '@/lib/db/types' +import { acquireWorkflowMcpServerLock } from '@/lib/mcp/server-locks' +import { validateMcpToolMetadataForStorage } from '@/lib/mcp/tool-limits' +import { getEdgeMappingRows } from '@/ee/workspace-forking/lib/mapping/mapping-store' + +/** + * The seed `parameterSchema` for a copied attachment. The source's schema is copied so the tool + * serves correctly before the target's first deploy, UNLESS it exceeds the per-tool storage + * limit - then the empty schema is seeded instead (the same degradation the deploy-time sync + * applies) and the deployment outbox re-derives the real one when the target deploys. + */ +function seedParameterSchema(parameterSchema: unknown): unknown { + const invalid = validateMcpToolMetadataForStorage({ + parameterSchema: parameterSchema as Record, + }) + return invalid ? { type: 'object', properties: {} } : parameterSchema +} + +export interface ForkMcpAttachmentPair { + sourceWorkflowId: string + targetWorkflowId: string +} + +/** + * Copy `workflow_mcp_tool` attachments into a fresh fork: every source attachment whose server + * AND workflow were both copied gets a child row (fresh id; metadata + schema copied - the child + * re-derives the schema when it first deploys). Insert-only: the child is brand new, so there is + * nothing to update or archive, and no server locks are needed (the child's servers are + * invisible until the fork transaction commits). Must run AFTER the child workflow rows exist + * (FK). A no-op when either map is empty. + */ +export async function copyForkWorkflowMcpAttachments(params: { + tx: DbOrTx + /** Source workflow-publishing server id -> child copy id. */ + serverIdMap: ReadonlyMap + /** Source workflow id -> child workflow id. */ + workflowIdMap: ReadonlyMap + now: Date +}): Promise<{ copied: number }> { + const { tx, serverIdMap, workflowIdMap, now } = params + if (serverIdMap.size === 0 || workflowIdMap.size === 0) return { copied: 0 } + + const sourceAttachments = await tx + .select({ + serverId: workflowMcpTool.serverId, + workflowId: workflowMcpTool.workflowId, + toolName: workflowMcpTool.toolName, + toolDescription: workflowMcpTool.toolDescription, + parameterSchema: workflowMcpTool.parameterSchema, + parameterDescriptionOverrides: workflowMcpTool.parameterDescriptionOverrides, + }) + .from(workflowMcpTool) + .where( + and( + inArray(workflowMcpTool.serverId, [...serverIdMap.keys()]), + inArray(workflowMcpTool.workflowId, [...workflowIdMap.keys()]), + isNull(workflowMcpTool.archivedAt) + ) + ) + + const inserts: (typeof workflowMcpTool.$inferInsert)[] = [] + for (const attachment of sourceAttachments) { + const childServerId = serverIdMap.get(attachment.serverId) + const childWorkflowId = workflowIdMap.get(attachment.workflowId) + if (!childServerId || !childWorkflowId) continue + inserts.push({ + id: generateId(), + serverId: childServerId, + workflowId: childWorkflowId, + toolName: attachment.toolName, + toolDescription: attachment.toolDescription, + parameterSchema: seedParameterSchema(attachment.parameterSchema), + parameterDescriptionOverrides: attachment.parameterDescriptionOverrides, + createdAt: now, + updatedAt: now, + }) + } + if (inserts.length > 0) await tx.insert(workflowMcpTool).values(inserts) + return { copied: inserts.length } +} + +/** + * Mirror `workflow_mcp_tool` attachments (a workflow exposed as a tool on a + * workflow-publishing MCP server) onto the target side of a sync, through the edge's + * `workflow_mcp_server` identity map (seeded when a fork copies the server shells). + * + * For each written workflow pair whose source is attached to a MAPPED server: + * - a missing target attachment is created (metadata copied; `parameterSchema` is copied as a + * seed and re-derived by the deployment outbox when the target deploys), + * - an existing one has its user-set metadata (tool name / description / description + * overrides) refreshed to the source's, + * - a target attachment on a mapped server + synced workflow with NO source counterpart is + * archived (the source detached it) - target attachments on unmapped servers or unsynced + * workflows are never touched. + * + * Unmapped servers are skipped entirely: attachment sync follows the server identity, exactly + * like subblock references follow resource mappings. Bounded by (written workflows x mapped + * servers); acquires the same per-server advisory locks the deploy-time tool sync takes. + * Returns the affected target server ids so the caller can notify them post-commit. + */ +export async function reconcileForkWorkflowMcpAttachments(params: { + tx: DbOrTx + childWorkspaceId: string + /** True when the sync SOURCE is the parent workspace (a pull). */ + sourceIsParent: boolean + now: Date + /** The workflow pairs THIS sync wrote (replace + create). */ + writtenPairs: ForkMcpAttachmentPair[] +}): Promise<{ affectedServerIds: string[] }> { + const { tx, childWorkspaceId, sourceIsParent, now, writtenPairs } = params + if (writtenPairs.length === 0) return { affectedServerIds: [] } + + const mappingRows = await getEdgeMappingRows(tx, childWorkspaceId) + const serverMap = new Map() + for (const row of mappingRows) { + if (row.resourceType !== 'workflow_mcp_server' || row.childResourceId == null) continue + if (sourceIsParent) serverMap.set(row.parentResourceId, row.childResourceId) + else serverMap.set(row.childResourceId, row.parentResourceId) + } + if (serverMap.size === 0) return { affectedServerIds: [] } + + // Same per-server serialization as the deploy-time tool sync and the attach/delete routes, + // in sorted order so two concurrent syncs can't deadlock on each other's server locks. + // Acquired BEFORE the reads below: every other attachment writer locks first, so locking + // after computing the diff would let a concurrent attach commit in between and turn our + // insert into a unique-constraint abort of the whole promote transaction (and a concurrent + // server delete into an FK abort). + for (const serverId of [...new Set(serverMap.values())].sort()) { + await acquireWorkflowMcpServerLock(tx, serverId) + } + + // Liveness guard: a mapped server may have been deleted since the fork (server deletion is a + // hard delete that cascades its tools but leaves the identity row). A dead SOURCE server has + // nothing to mirror; a dead TARGET server must be skipped or the insert below would violate + // the `server_id` FK and abort the whole promote transaction. Target liveness is stable for + // the rest of the transaction: the delete route takes the per-server lock we now hold. + const mappedServerIds = [...new Set([...serverMap.keys(), ...serverMap.values()])] + const liveServerIds = new Set( + ( + await tx + .select({ id: workflowMcpServer.id }) + .from(workflowMcpServer) + .where( + and(inArray(workflowMcpServer.id, mappedServerIds), isNull(workflowMcpServer.deletedAt)) + ) + ).map((row) => row.id) + ) + for (const [sourceServerId, targetServerId] of serverMap) { + if (!liveServerIds.has(sourceServerId) || !liveServerIds.has(targetServerId)) { + serverMap.delete(sourceServerId) + } + } + if (serverMap.size === 0) return { affectedServerIds: [] } + + const targetBySource = new Map( + writtenPairs.map((pair) => [pair.sourceWorkflowId, pair.targetWorkflowId]) + ) + const sourceAttachments = await tx + .select({ + serverId: workflowMcpTool.serverId, + workflowId: workflowMcpTool.workflowId, + toolName: workflowMcpTool.toolName, + toolDescription: workflowMcpTool.toolDescription, + parameterSchema: workflowMcpTool.parameterSchema, + parameterDescriptionOverrides: workflowMcpTool.parameterDescriptionOverrides, + }) + .from(workflowMcpTool) + .where( + and( + inArray(workflowMcpTool.workflowId, [...targetBySource.keys()]), + inArray(workflowMcpTool.serverId, [...serverMap.keys()]), + isNull(workflowMcpTool.archivedAt) + ) + ) + + /** Desired live target pairs, keyed `${targetServerId}\u0000${targetWorkflowId}`. */ + const desired = new Map< + string, + { + serverId: string + workflowId: string + toolName: string + toolDescription: string | null + parameterSchema: unknown + parameterDescriptionOverrides: Record + } + >() + for (const attachment of sourceAttachments) { + const targetServerId = serverMap.get(attachment.serverId) + const targetWorkflowId = targetBySource.get(attachment.workflowId) + if (!targetServerId || !targetWorkflowId) continue + desired.set(`${targetServerId}\u0000${targetWorkflowId}`, { + serverId: targetServerId, + workflowId: targetWorkflowId, + toolName: attachment.toolName, + toolDescription: attachment.toolDescription, + parameterSchema: attachment.parameterSchema, + parameterDescriptionOverrides: attachment.parameterDescriptionOverrides, + }) + } + + // The reconcile scope: every mapped TARGET server x every synced TARGET workflow. Rows + // outside this product are never touched. + const mappedTargetServerIds = [...new Set(serverMap.values())].sort() + const syncedTargetWorkflowIds = [...new Set(targetBySource.values())] + const existing = await tx + .select({ + id: workflowMcpTool.id, + serverId: workflowMcpTool.serverId, + workflowId: workflowMcpTool.workflowId, + toolName: workflowMcpTool.toolName, + toolDescription: workflowMcpTool.toolDescription, + parameterDescriptionOverrides: workflowMcpTool.parameterDescriptionOverrides, + }) + .from(workflowMcpTool) + .where( + and( + inArray(workflowMcpTool.serverId, mappedTargetServerIds), + inArray(workflowMcpTool.workflowId, syncedTargetWorkflowIds), + isNull(workflowMcpTool.archivedAt) + ) + ) + const existingByKey = new Map( + existing.map((row) => [`${row.serverId}\u0000${row.workflowId}`, row]) + ) + + const inserts: (typeof workflowMcpTool.$inferInsert)[] = [] + const updates: Array<{ id: string; set: Partial }> = [] + const archiveIds: string[] = [] + const affectedServerIds = new Set() + + for (const [key, want] of desired) { + const current = existingByKey.get(key) + if (!current) { + inserts.push({ + id: generateId(), + serverId: want.serverId, + workflowId: want.workflowId, + toolName: want.toolName, + toolDescription: want.toolDescription, + // Seed with the source's schema; the deployment outbox re-derives it from the + // target's deployed state right after this sync deploys the workflow. + parameterSchema: seedParameterSchema(want.parameterSchema), + parameterDescriptionOverrides: want.parameterDescriptionOverrides, + createdAt: now, + updatedAt: now, + }) + affectedServerIds.add(want.serverId) + continue + } + const overridesChanged = + JSON.stringify(current.parameterDescriptionOverrides ?? {}) !== + JSON.stringify(want.parameterDescriptionOverrides ?? {}) + if ( + current.toolName !== want.toolName || + current.toolDescription !== want.toolDescription || + overridesChanged + ) { + updates.push({ + id: current.id, + set: { + toolName: want.toolName, + toolDescription: want.toolDescription, + parameterDescriptionOverrides: want.parameterDescriptionOverrides, + updatedAt: now, + }, + }) + affectedServerIds.add(current.serverId) + } + } + for (const [key, row] of existingByKey) { + if (desired.has(key)) continue + archiveIds.push(row.id) + affectedServerIds.add(row.serverId) + } + + if (inserts.length === 0 && updates.length === 0 && archiveIds.length === 0) { + return { affectedServerIds: [] } + } + + if (inserts.length > 0) await tx.insert(workflowMcpTool).values(inserts) + for (const update of updates) { + await tx.update(workflowMcpTool).set(update.set).where(eq(workflowMcpTool.id, update.id)) + } + if (archiveIds.length > 0) { + await tx + .update(workflowMcpTool) + .set({ archivedAt: now, updatedAt: now }) + .where(inArray(workflowMcpTool.id, archiveIds)) + } + + return { affectedServerIds: [...affectedServerIds] } +} diff --git a/apps/sim/lib/workspaces/fork/create-fork.test.ts b/apps/sim/ee/workspace-forking/lib/create-fork.test.ts similarity index 72% rename from apps/sim/lib/workspaces/fork/create-fork.test.ts rename to apps/sim/ee/workspace-forking/lib/create-fork.test.ts index c2f1ee680f8..7b0f2742a09 100644 --- a/apps/sim/lib/workspaces/fork/create-fork.test.ts +++ b/apps/sim/ee/workspace-forking/lib/create-fork.test.ts @@ -13,6 +13,7 @@ const { mockStartBackgroundWork, mockFinishBackgroundWork, mockScheduleForkContentCopy, + mockSeedEdgeMappings, } = vi.hoisted(() => ({ mockSumForkCopyBytes: vi.fn(), mockAssertForkStorageHeadroom: vi.fn(), @@ -22,6 +23,7 @@ const { mockStartBackgroundWork: vi.fn(), mockFinishBackgroundWork: vi.fn(), mockScheduleForkContentCopy: vi.fn(), + mockSeedEdgeMappings: vi.fn(), })) vi.mock('@sim/db', () => dbChainMock) @@ -31,47 +33,53 @@ vi.mock('@/lib/workflows/defaults', () => ({ vi.mock('@/lib/workflows/persistence/utils', () => ({ saveWorkflowToNormalizedTables: vi.fn(), })) -vi.mock('@/lib/workspaces/fork/background-work/store', () => ({ +vi.mock('@/ee/workspace-forking/lib/background-work/store', () => ({ startBackgroundWork: mockStartBackgroundWork, finishBackgroundWork: mockFinishBackgroundWork, })) -vi.mock('@/lib/workspaces/fork/copy/content-copy-runner', () => ({ +vi.mock('@/ee/workspace-forking/lib/copy/content-copy-runner', () => ({ hasForkContentToCopy: vi.fn(() => false), scheduleForkContentCopy: mockScheduleForkContentCopy, serializeContentRefMaps: vi.fn(() => ({})), })) -vi.mock('@/lib/workspaces/fork/copy/copy-files', () => ({ +vi.mock('@/ee/workspace-forking/lib/copy/copy-chats', () => ({ + copyForkChatDeployments: vi.fn(async () => ({ created: 0 })), +})) +vi.mock('@/ee/workspace-forking/lib/copy/copy-files', () => ({ planForkFileCopies: mockPlanForkFileCopies, })) -vi.mock('@/lib/workspaces/fork/copy/copy-resources', () => ({ +vi.mock('@/ee/workspace-forking/lib/copy/workflow-mcp-attachments', () => ({ + copyForkWorkflowMcpAttachments: vi.fn(async () => ({ copied: 0 })), +})) +vi.mock('@/ee/workspace-forking/lib/copy/copy-resources', () => ({ copyForkResourceContainers: mockCopyForkResourceContainers, })) -vi.mock('@/lib/workspaces/fork/copy/storage-quota', () => ({ +vi.mock('@/ee/workspace-forking/lib/copy/storage-quota', () => ({ sumForkCopyBytes: mockSumForkCopyBytes, assertForkStorageHeadroom: mockAssertForkStorageHeadroom, })) -vi.mock('@/lib/workspaces/fork/copy/copy-workflows', () => ({ +vi.mock('@/ee/workspace-forking/lib/copy/copy-workflows', () => ({ copyWorkflowStateIntoTarget: vi.fn(), loadWorkflowNameRegistry: vi.fn(async () => new Map()), resolveForkFolderMapping: vi.fn(async () => new Map()), })) -vi.mock('@/lib/workspaces/fork/copy/deploy-bridge', () => ({ +vi.mock('@/ee/workspace-forking/lib/copy/deploy-bridge', () => ({ loadSourceDeployedStates: mockLoadSourceDeployedStates, })) -vi.mock('@/lib/workspaces/fork/lineage/lineage', () => ({ +vi.mock('@/ee/workspace-forking/lib/lineage/lineage', () => ({ setForkLockTimeout: vi.fn(), })) -vi.mock('@/lib/workspaces/fork/mapping/block-map-store', () => ({ +vi.mock('@/ee/workspace-forking/lib/mapping/block-map-store', () => ({ reconcileForkBlockPairs: vi.fn(), toForkBlockPairs: vi.fn(() => []), })) -vi.mock('@/lib/workspaces/fork/mapping/mapping-store', () => ({ - seedEdgeMappings: vi.fn(), +vi.mock('@/ee/workspace-forking/lib/mapping/mapping-store', () => ({ + seedEdgeMappings: mockSeedEdgeMappings, })) -vi.mock('@/lib/workspaces/fork/remap/fork-bootstrap', () => ({ +vi.mock('@/ee/workspace-forking/lib/remap/fork-bootstrap', () => ({ createForkBootstrapTransform: vi.fn(() => (subBlocks: unknown) => subBlocks), })) -vi.mock('@/lib/workspaces/fork/remap/reference-scan', () => ({ +vi.mock('@/ee/workspace-forking/lib/remap/reference-scan', () => ({ collectReferencedDocumentIds: vi.fn(() => new Set()), })) vi.mock('@/lib/workspaces/policy', () => ({ @@ -82,7 +90,7 @@ vi.mock('@/lib/workspaces/policy', () => ({ }, })) -import { createFork } from '@/lib/workspaces/fork/create-fork' +import { createFork } from '@/ee/workspace-forking/lib/create-fork' const SOURCE = { id: 'src-ws', name: 'Parent' } as never const POLICY = { @@ -106,6 +114,7 @@ function forkParams(selection?: { knowledgeBases: selection?.knowledgeBases ?? [], customTools: [], skills: [], + mcpServers: [], workflowMcpServers: [], }, requestId: 'test', @@ -144,6 +153,7 @@ describe('createFork storage headroom gate', () => { knowledgeBases: [], customTools: [], skills: [], + mcpServers: [], workflowMcpServers: [], }, }) @@ -184,4 +194,22 @@ describe('createFork storage headroom gate', () => { expect(mockAssertForkStorageHeadroom).toHaveBeenCalledWith({ userId: 'user-1', bytes: 500 }) expect(dbChainMockFns.transaction).toHaveBeenCalledTimes(1) }) + + it('seeds identity mappings for copied FILES by storage key (a later sync must not re-offer them)', async () => { + mockPlanForkFileCopies.mockResolvedValue({ + keyMap: new Map([['workspace/src-ws/a.png', 'workspace/child/a.png']]), + idMap: new Map([['file-1', 'file-1-copy']]), + blobTasks: [], + }) + + await createFork(forkParams({ files: ['file-1'] })) + + expect(mockSeedEdgeMappings).toHaveBeenCalledTimes(1) + const seeded = mockSeedEdgeMappings.mock.calls[0][3] as Array> + expect(seeded).toContainEqual({ + resourceType: 'file', + parentResourceId: 'workspace/src-ws/a.png', + childResourceId: 'workspace/child/a.png', + }) + }) }) diff --git a/apps/sim/lib/workspaces/fork/create-fork.ts b/apps/sim/ee/workspace-forking/lib/create-fork.ts similarity index 81% rename from apps/sim/lib/workspaces/fork/create-fork.ts rename to apps/sim/ee/workspace-forking/lib/create-fork.ts index 37230f4ddd9..cc7bf83b2a9 100644 --- a/apps/sim/lib/workspaces/fork/create-fork.ts +++ b/apps/sim/ee/workspace-forking/lib/create-fork.ts @@ -8,49 +8,52 @@ import { and, eq } from 'drizzle-orm' import type { Workspace } from '@/lib/api/contracts/workspaces' import { buildDefaultWorkflowArtifacts } from '@/lib/workflows/defaults' import { saveWorkflowToNormalizedTables } from '@/lib/workflows/persistence/utils' +import type { WorkspaceWithOwner } from '@/lib/workspaces/permissions/utils' +import type { WorkspaceCreationPolicy } from '@/lib/workspaces/policy' +import { WORKSPACE_MODE } from '@/lib/workspaces/policy' import { finishBackgroundWork, startBackgroundWork, -} from '@/lib/workspaces/fork/background-work/store' +} from '@/ee/workspace-forking/lib/background-work/store' import { type ForkContentCopyPayload, hasForkContentToCopy, scheduleForkContentCopy, serializeContentRefMaps, -} from '@/lib/workspaces/fork/copy/content-copy-runner' -import { planForkFileCopies } from '@/lib/workspaces/fork/copy/copy-files' +} from '@/ee/workspace-forking/lib/copy/content-copy-runner' +import { copyForkChatDeployments } from '@/ee/workspace-forking/lib/copy/copy-chats' +import { planForkFileCopies } from '@/ee/workspace-forking/lib/copy/copy-files' import { copyForkResourceContainers, type ForkCopiedResourceNames, -} from '@/lib/workspaces/fork/copy/copy-resources' +} from '@/ee/workspace-forking/lib/copy/copy-resources' import { copyWorkflowStateIntoTarget, loadWorkflowNameRegistry, resolveForkFolderMapping, -} from '@/lib/workspaces/fork/copy/copy-workflows' -import { loadSourceDeployedStates } from '@/lib/workspaces/fork/copy/deploy-bridge' +} from '@/ee/workspace-forking/lib/copy/copy-workflows' +import { loadSourceDeployedStates } from '@/ee/workspace-forking/lib/copy/deploy-bridge' import { assertForkStorageHeadroom, sumForkCopyBytes, -} from '@/lib/workspaces/fork/copy/storage-quota' -import { buildForkWorkflowIdMap } from '@/lib/workspaces/fork/copy/workflow-id-map' -import { setForkLockTimeout } from '@/lib/workspaces/fork/lineage/lineage' +} from '@/ee/workspace-forking/lib/copy/storage-quota' +import { buildForkWorkflowIdMap } from '@/ee/workspace-forking/lib/copy/workflow-id-map' +import { copyForkWorkflowMcpAttachments } from '@/ee/workspace-forking/lib/copy/workflow-mcp-attachments' +import { setForkLockTimeout } from '@/ee/workspace-forking/lib/lineage/lineage' import { type ForkBlockPair, reconcileForkBlockPairs, toForkBlockPairs, -} from '@/lib/workspaces/fork/mapping/block-map-store' +} from '@/ee/workspace-forking/lib/mapping/block-map-store' import { type ForkMappingUpsert, type ForkResourceType, seedEdgeMappings, -} from '@/lib/workspaces/fork/mapping/mapping-store' -import { createForkBootstrapTransform } from '@/lib/workspaces/fork/remap/fork-bootstrap' -import { collectReferencedDocumentIds } from '@/lib/workspaces/fork/remap/reference-scan' -import type { ForkRemapKind } from '@/lib/workspaces/fork/remap/remap-references' -import type { WorkspaceWithOwner } from '@/lib/workspaces/permissions/utils' -import type { WorkspaceCreationPolicy } from '@/lib/workspaces/policy' -import { WORKSPACE_MODE } from '@/lib/workspaces/policy' +} from '@/ee/workspace-forking/lib/mapping/mapping-store' +import { deriveForkBlockId } from '@/ee/workspace-forking/lib/remap/block-identity' +import { createForkBootstrapTransform } from '@/ee/workspace-forking/lib/remap/fork-bootstrap' +import { collectReferencedDocumentIds } from '@/ee/workspace-forking/lib/remap/reference-scan' +import type { ForkRemapKind } from '@/ee/workspace-forking/lib/remap/remap-references' const logger = createLogger('WorkspaceForkCreate') @@ -61,7 +64,9 @@ export interface ForkResourceSelection { knowledgeBases: string[] customTools: string[] skills: string[] - /** Workflow-publishing MCP servers (copied as config-only shells); external MCP is never copied. */ + /** External MCP servers, copied as config rows (OAuth tokens never copied - re-auth in child). */ + mcpServers: string[] + /** Workflow-publishing MCP servers, copied as config-only shells with no workflows attached. */ workflowMcpServers: string[] } @@ -71,6 +76,7 @@ const EMPTY_SELECTION: ForkResourceSelection = { knowledgeBases: [], customTools: [], skills: [], + mcpServers: [], workflowMcpServers: [], } @@ -91,14 +97,15 @@ export interface CreateForkResult { workflowsCopied: number } -// External MCP servers are intentionally absent: a fork never copies them, so their -// references resolve to null here and are cleared on remap (re-add + re-auth in the child). +// Credentials are intentionally absent: a fork never copies them, so their references +// resolve to null here and are cleared on remap (re-connect in the child). const FORK_KIND_TO_RESOURCE_TYPE: Partial> = { 'custom-tool': 'custom_tool', skill: 'skill', table: 'table', 'knowledge-base': 'knowledge_base', 'knowledge-document': 'knowledge_document', + 'mcp-server': 'mcp_server', } /** @@ -146,6 +153,7 @@ export async function createFork(params: CreateForkParams): Promise { @@ -240,6 +248,7 @@ export async function createFork(params: CreateForkParams): Promise { + const targetWorkflowId = workflowIdMap.get(wf.id) + return targetWorkflowId + ? [{ sourceWorkflowId: wf.id, targetWorkflowId, workflowName: wf.name }] + : [] + }), + targetWorkspaceName: childName, + userId, + now, + resolveBlockId: deriveForkBlockId, + requestId, + }) + + // Carry workflow-as-MCP-tool attachments onto the copied server shells: an attachment + // copies only when BOTH its server and its workflow were copied. Runs after the workflow + // rows exist (FK); the child re-derives each tool's parameter schema on first deploy. + await copyForkWorkflowMcpAttachments({ + tx, + serverIdMap: resourceResult.idMap.get('workflow_mcp_server') ?? new Map(), + workflowIdMap, + now, + }) + // A fork carries only DEPLOYED workflows. When the source has none (e.g. it was // itself just forked and never redeployed), seed a default workflow so the child // is a usable workspace rather than a blank one with no workflow at all - the same @@ -332,6 +370,18 @@ export async function createFork(params: CreateForkParams): Promise task.fileName), customToolNames: forkedResourceNames.customTools, skillNames: forkedResourceNames.skills, + mcpServerNames: forkedResourceNames.mcpServers, workflowMcpServerNames: forkedResourceNames.workflowMcpServers, }, }) diff --git a/apps/sim/lib/workspaces/fork/lineage/authz.ts b/apps/sim/ee/workspace-forking/lib/lineage/authz.ts similarity index 79% rename from apps/sim/lib/workspaces/fork/lineage/authz.ts rename to apps/sim/ee/workspace-forking/lib/lineage/authz.ts index ecbb2c6d8db..8a7cbcc70a4 100644 --- a/apps/sim/lib/workspaces/fork/lineage/authz.ts +++ b/apps/sim/ee/workspace-forking/lib/lineage/authz.ts @@ -2,9 +2,9 @@ import { isOrganizationOnEnterprisePlan } from '@/lib/billing/core/subscription' import { isAppConfigEnabled, isBillingEnabled, isForkingEnabled } from '@/lib/core/config/env-flags' import { isFeatureEnabled } from '@/lib/core/config/feature-flags' import { HttpError } from '@/lib/core/utils/http-error' -import { type ForkEdge, resolveForkEdge } from '@/lib/workspaces/fork/lineage/lineage' import { checkWorkspaceAccess, type WorkspaceWithOwner } from '@/lib/workspaces/permissions/utils' import { getWorkspaceCreationPolicy, type WorkspaceCreationPolicy } from '@/lib/workspaces/policy' +import { type ForkEdge, resolveForkEdge } from '@/ee/workspace-forking/lib/lineage/lineage' /** Direction of a promote, relative to the workspace the caller is acting from. */ export type PromoteDirection = 'push' | 'pull' @@ -41,6 +41,24 @@ async function assertForkingEnabled(organizationId: string | null, userId: strin } } +/** + * Non-throwing availability verdict of the exact {@link assertForkingEnabled} gate + * (env/plan + AppConfig rollout flag), for surfaces that show/hide fork UI. The + * availability route serves this to the client so tab visibility can never drift + * from what the fork routes actually enforce. + */ +export async function isForkingAvailableForWorkspace( + organizationId: string | null, + userId: string +): Promise { + try { + await assertForkingEnabled(organizationId, userId) + return true + } catch { + return false + } +} + /** * Domain error for fork/promote operations. Carries a concrete `statusCode` so * `withRouteHandler` maps it to the right HTTP status and forwards the @@ -153,3 +171,29 @@ export async function assertCanRollback( ): Promise { return assertWorkspaceAdminAccess(targetWorkspaceId, userId) } + +export interface UnlinkAuthorization { + edge: ForkEdge + current: WorkspaceWithOwner +} + +/** + * Authorize permanently dissolving the fork edge between `currentWorkspaceId` and + * `otherWorkspaceId`. Requires admin on the ACTING side only (mirrors rollback): + * either participant may sever the association about itself — unlinking removes + * shared edge metadata without reading or writing the other workspace's content, + * and requiring both-side admin would strand an edge whose other side lost its + * admins. + */ +export async function assertCanUnlink( + currentWorkspaceId: string, + otherWorkspaceId: string, + userId: string +): Promise { + const current = await assertWorkspaceAdminAccess(currentWorkspaceId, userId) + const edge = await resolveForkEdge(currentWorkspaceId, otherWorkspaceId) + if (!edge) { + throw new ForkError('These workspaces are not a direct fork edge', 400) + } + return { edge, current } +} diff --git a/apps/sim/lib/workspaces/fork/lineage/lineage.ts b/apps/sim/ee/workspace-forking/lib/lineage/lineage.ts similarity index 85% rename from apps/sim/lib/workspaces/fork/lineage/lineage.ts rename to apps/sim/ee/workspace-forking/lib/lineage/lineage.ts index 588bf2e433c..c7449df0082 100644 --- a/apps/sim/lib/workspaces/fork/lineage/lineage.ts +++ b/apps/sim/ee/workspace-forking/lib/lineage/lineage.ts @@ -1,6 +1,6 @@ import { db } from '@sim/db' import { workspace } from '@sim/db/schema' -import { and, eq, isNull, sql } from 'drizzle-orm' +import { and, desc, eq, isNull, sql } from 'drizzle-orm' import type { DbOrTx } from '@/lib/db/types' export interface ForkLineageNode { @@ -9,6 +9,10 @@ export interface ForkLineageNode { organizationId: string | null } +export interface ForkLineageChild extends ForkLineageNode { + createdAt: Date +} + export interface ForkEdge { childWorkspaceId: string parentWorkspaceId: string @@ -43,6 +47,23 @@ export async function getForkParent(workspaceId: string): Promise { + return db + .select({ + id: workspace.id, + name: workspace.name, + organizationId: workspace.organizationId, + createdAt: workspace.createdAt, + }) + .from(workspace) + .where(and(eq(workspace.forkedFromWorkspaceId, workspaceId), isNull(workspace.archivedAt))) + .orderBy(desc(workspace.createdAt)) +} + /** * Resolve the strict fork edge between two workspaces, identifying which is the * child (the one whose `forkedFromWorkspaceId` points at the other). Returns diff --git a/apps/sim/ee/workspace-forking/lib/lineage/unlink.test.ts b/apps/sim/ee/workspace-forking/lib/lineage/unlink.test.ts new file mode 100644 index 00000000000..f2a34ce1c25 --- /dev/null +++ b/apps/sim/ee/workspace-forking/lib/lineage/unlink.test.ts @@ -0,0 +1,65 @@ +/** + * @vitest-environment node + */ +import { beforeEach, describe, expect, it, vi } from 'vitest' + +const { mockTransaction, mockSetForkLockTimeout, mockAcquireForkEdgeLock } = vi.hoisted(() => ({ + mockTransaction: vi.fn(), + mockSetForkLockTimeout: vi.fn(), + mockAcquireForkEdgeLock: vi.fn(), +})) + +vi.mock('@sim/db', () => ({ db: { transaction: mockTransaction } })) +vi.mock('@/ee/workspace-forking/lib/lineage/lineage', () => ({ + setForkLockTimeout: mockSetForkLockTimeout, + acquireForkEdgeLock: mockAcquireForkEdgeLock, +})) + +import { unlinkForkEdge } from '@/ee/workspace-forking/lib/lineage/unlink' + +/** A fake tx whose update returns `updatedRows` and whose deletes record their calls. */ +function fakeTx(updatedRows: Array<{ id: string }>) { + const updateWhere = vi.fn(() => ({ returning: vi.fn().mockResolvedValue(updatedRows) })) + const updateSet = vi.fn(() => ({ where: updateWhere })) + const update = vi.fn(() => ({ set: updateSet })) + const deleteWhere = vi.fn().mockResolvedValue(undefined) + const del = vi.fn(() => ({ where: deleteWhere })) + return { tx: { update, delete: del }, update, updateSet, del } +} + +const EDGE = { childWorkspaceId: 'child-ws', parentWorkspaceId: 'parent-ws' } + +describe('unlinkForkEdge', () => { + beforeEach(() => { + vi.clearAllMocks() + }) + + it('nulls the child pointer and purges all four edge tables under the edge lock', async () => { + const { tx, update, updateSet, del } = fakeTx([{ id: 'child-ws' }]) + mockTransaction.mockImplementation(async (cb: (t: unknown) => unknown) => cb(tx)) + + const result = await unlinkForkEdge(EDGE, 'req-1') + + expect(result).toEqual({ unlinked: true }) + expect(mockSetForkLockTimeout).toHaveBeenCalledTimes(1) + expect(mockAcquireForkEdgeLock).toHaveBeenCalledWith(tx, 'child-ws') + expect(update).toHaveBeenCalledTimes(1) + expect(updateSet).toHaveBeenCalledWith(expect.objectContaining({ forkedFromWorkspaceId: null })) + expect(del).toHaveBeenCalledTimes(4) + }) + + it('is an idempotent no-op when the edge was already dissolved', async () => { + const { tx, del } = fakeTx([]) + mockTransaction.mockImplementation(async (cb: (t: unknown) => unknown) => cb(tx)) + + const result = await unlinkForkEdge(EDGE) + + expect(result).toEqual({ unlinked: false }) + expect(del).not.toHaveBeenCalled() + }) + + it('propagates a transaction failure without swallowing it', async () => { + mockTransaction.mockRejectedValue(new Error('lock timeout')) + await expect(unlinkForkEdge(EDGE)).rejects.toThrow('lock timeout') + }) +}) diff --git a/apps/sim/ee/workspace-forking/lib/lineage/unlink.ts b/apps/sim/ee/workspace-forking/lib/lineage/unlink.ts new file mode 100644 index 00000000000..f4fcaafdd49 --- /dev/null +++ b/apps/sim/ee/workspace-forking/lib/lineage/unlink.ts @@ -0,0 +1,78 @@ +import { db } from '@sim/db' +import { + workspace, + workspaceForkBlockMap, + workspaceForkDependentValue, + workspaceForkPromoteRun, + workspaceForkResourceMap, +} from '@sim/db/schema' +import { createLogger } from '@sim/logger' +import { and, eq } from 'drizzle-orm' +import { + acquireForkEdgeLock, + type ForkEdge, + setForkLockTimeout, +} from '@/ee/workspace-forking/lib/lineage/lineage' + +const logger = createLogger('ForkUnlink') + +export interface UnlinkForkResult { + /** False when the edge was already dissolved by a concurrent unlink (idempotent no-op). */ + unlinked: boolean +} + +/** + * Permanently dissolve a fork edge: null the child's `forkedFromWorkspaceId` (the + * edge's single source of truth) and purge the edge's fork state — resource map, + * block map, dependent values, and promote-run undo points. Both workspaces are + * left untouched; only the association and its metadata are removed. + * + * Runs in one transaction under the edge advisory lock, which every promote and + * rollback on the edge also holds, so an in-flight sync either finishes before the + * unlink or re-resolves the edge afterwards and fails with "not a direct fork edge". + * The edge is re-verified inside the lock; a concurrently-dissolved edge is an + * idempotent success rather than an error. + */ +export async function unlinkForkEdge( + edge: ForkEdge, + requestId?: string +): Promise { + const { childWorkspaceId, parentWorkspaceId } = edge + + const unlinked = await db.transaction(async (tx) => { + await setForkLockTimeout(tx) + await acquireForkEdgeLock(tx, childWorkspaceId) + + const updated = await tx + .update(workspace) + .set({ forkedFromWorkspaceId: null, updatedAt: new Date() }) + .where( + and( + eq(workspace.id, childWorkspaceId), + eq(workspace.forkedFromWorkspaceId, parentWorkspaceId) + ) + ) + .returning({ id: workspace.id }) + if (updated.length === 0) return false + + await tx + .delete(workspaceForkResourceMap) + .where(eq(workspaceForkResourceMap.childWorkspaceId, childWorkspaceId)) + await tx + .delete(workspaceForkBlockMap) + .where(eq(workspaceForkBlockMap.childWorkspaceId, childWorkspaceId)) + await tx + .delete(workspaceForkDependentValue) + .where(eq(workspaceForkDependentValue.childWorkspaceId, childWorkspaceId)) + await tx + .delete(workspaceForkPromoteRun) + .where(eq(workspaceForkPromoteRun.childWorkspaceId, childWorkspaceId)) + return true + }) + + logger.info(`[${requestId ?? 'unlink'}] Fork edge ${unlinked ? 'dissolved' : 'already gone'}`, { + childWorkspaceId, + parentWorkspaceId, + }) + return { unlinked } +} diff --git a/apps/sim/lib/workspaces/fork/mapping/block-map-store.test.ts b/apps/sim/ee/workspace-forking/lib/mapping/block-map-store.test.ts similarity index 93% rename from apps/sim/lib/workspaces/fork/mapping/block-map-store.test.ts rename to apps/sim/ee/workspace-forking/lib/mapping/block-map-store.test.ts index 55f33423302..86d5dbcc466 100644 --- a/apps/sim/lib/workspaces/fork/mapping/block-map-store.test.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/block-map-store.test.ts @@ -2,7 +2,7 @@ * @vitest-environment node */ import { describe, expect, it } from 'vitest' -import { toForkBlockPairs } from '@/lib/workspaces/fork/mapping/block-map-store' +import { toForkBlockPairs } from '@/ee/workspace-forking/lib/mapping/block-map-store' describe('toForkBlockPairs', () => { const mapping = new Map([ diff --git a/apps/sim/lib/workspaces/fork/mapping/block-map-store.ts b/apps/sim/ee/workspace-forking/lib/mapping/block-map-store.ts similarity index 95% rename from apps/sim/lib/workspaces/fork/mapping/block-map-store.ts rename to apps/sim/ee/workspace-forking/lib/mapping/block-map-store.ts index 68f8b2e1eb6..765fe414281 100644 --- a/apps/sim/lib/workspaces/fork/mapping/block-map-store.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/block-map-store.ts @@ -2,7 +2,7 @@ import { workspaceForkBlockMap } from '@sim/db/schema' import { generateId } from '@sim/utils/id' import { and, eq, inArray } from 'drizzle-orm' import type { DbOrTx } from '@/lib/db/types' -import type { ForkBlockMap } from '@/lib/workspaces/fork/remap/block-identity' +import type { ForkBlockMap } from '@/ee/workspace-forking/lib/remap/block-identity' /** One persisted block-identity pair for an edge (carries both workflow sides). */ export interface ForkBlockPair { @@ -15,8 +15,8 @@ export interface ForkBlockPair { /** * Load an edge's persisted block-identity pairs into both lookup directions, each entry * carrying its target-side workflow so the resolver can scope a reuse to the right workflow - * (see {@link buildForkBlockIdResolver}). Empty for an edge that predates the map (every - * block id then derives, exactly as before). + * (see {@link buildForkBlockIdResolver}). Blocks without a pair (added since the last sync) + * fall back to the deterministic derive. */ export async function loadForkBlockMap( executor: DbOrTx, diff --git a/apps/sim/lib/workspaces/fork/mapping/cascade.test.ts b/apps/sim/ee/workspace-forking/lib/mapping/cascade.test.ts similarity index 97% rename from apps/sim/lib/workspaces/fork/mapping/cascade.test.ts rename to apps/sim/ee/workspace-forking/lib/mapping/cascade.test.ts index 9ed938ad3d9..0a5ce7b7434 100644 --- a/apps/sim/lib/workspaces/fork/mapping/cascade.test.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/cascade.test.ts @@ -3,11 +3,11 @@ */ import { describe, expect, it } from 'vitest' import type { DbOrTx } from '@/lib/db/types' -import { detectForkCascadeReferences } from '@/lib/workspaces/fork/mapping/cascade' +import { detectForkCascadeReferences } from '@/ee/workspace-forking/lib/mapping/cascade' import type { ForkReference, ForkReferenceResolver, -} from '@/lib/workspaces/fork/remap/remap-references' +} from '@/ee/workspace-forking/lib/remap/remap-references' /** Executor that returns the queued result arrays in the order queries are issued. */ function queuedExecutor(results: unknown[][]): DbOrTx { diff --git a/apps/sim/lib/workspaces/fork/mapping/cascade.ts b/apps/sim/ee/workspace-forking/lib/mapping/cascade.ts similarity index 99% rename from apps/sim/lib/workspaces/fork/mapping/cascade.ts rename to apps/sim/ee/workspace-forking/lib/mapping/cascade.ts index 917760a081d..d74125ea94e 100644 --- a/apps/sim/lib/workspaces/fork/mapping/cascade.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/cascade.ts @@ -5,7 +5,7 @@ import { ENV_REF_PATTERN, type ForkReference, type ForkReferenceResolver, -} from '@/lib/workspaces/fork/remap/remap-references' +} from '@/ee/workspace-forking/lib/remap/remap-references' function extractEnvKeys(text: string): string[] { const keys = new Set() diff --git a/apps/sim/lib/workspaces/fork/mapping/dependent-reconfigs.test.ts b/apps/sim/ee/workspace-forking/lib/mapping/dependent-reconfigs.test.ts similarity index 94% rename from apps/sim/lib/workspaces/fork/mapping/dependent-reconfigs.test.ts rename to apps/sim/ee/workspace-forking/lib/mapping/dependent-reconfigs.test.ts index 9b9927cb489..b96624b5b85 100644 --- a/apps/sim/lib/workspaces/fork/mapping/dependent-reconfigs.test.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/dependent-reconfigs.test.ts @@ -2,17 +2,17 @@ * @vitest-environment node */ import { describe, expect, it, vi } from 'vitest' +import { getBlock } from '@/blocks/registry' +import type { BlockConfig, SubBlockConfig } from '@/blocks/types' import { collectForkDependentReconfigs, collectForkResourceUsages, -} from '@/lib/workspaces/fork/mapping/dependent-reconfigs' +} from '@/ee/workspace-forking/lib/mapping/dependent-reconfigs' import { buildForkBlockIdResolver, deriveForkBlockId, EMPTY_FORK_BLOCK_MAP, -} from '@/lib/workspaces/fork/remap/block-identity' -import { getBlock } from '@/blocks/registry' -import type { BlockConfig, SubBlockConfig } from '@/blocks/types' +} from '@/ee/workspace-forking/lib/remap/block-identity' import type { WorkflowState } from '@/stores/workflows/workflow/types' const blockWith = (subBlocks: SubBlockConfig[]): BlockConfig => @@ -92,11 +92,12 @@ describe('collectForkDependentReconfigs', () => { required: true, consumesContextKeys: [], context: {}, + sourceValue: 'INBOX', }, ]) }) - it('anchors a dependent on the ACTIVE advanced parent member (not the dormant basic selector)', () => { + it('skips an anchor whose canonical pair is in advanced (manual) mode - the value passes through', () => { vi.mocked(getBlock).mockReturnValue( blockWith([ { @@ -148,17 +149,10 @@ describe('collectForkDependentReconfigs', () => { new Map([['wf-src', advancedState]]), resolve ) - // Today (raw basic read) this is skipped because the basic selector is empty; the active-member - // resolution anchors the document on the advanced KB id so the re-pick is offered. - expect(result).toHaveLength(1) - expect(result[0]).toMatchObject({ - parentKind: 'knowledge-base', - parentSourceId: 'kb-active', - parentContextKey: 'knowledgeBaseId', - subBlockKey: 'documentSelector', - selectorKey: 'knowledge.documents', - currentValue: 'doc-1', - }) + // Advanced (manual) mode: the manual KB id is user-owned and passes through verbatim on + // sync - it is never remapped, so its dependents are never cleared and there is nothing + // to re-pick. No reconfig is offered. + expect(result).toEqual([]) }) it('emits a knowledge-base-dependent document selector', () => { @@ -206,6 +200,7 @@ describe('collectForkDependentReconfigs', () => { required: true, consumesContextKeys: [], context: {}, + sourceValue: 'doc-src', }, ]) }) @@ -379,11 +374,12 @@ describe('collectForkDependentReconfigs', () => { required: true, consumesContextKeys: [], context: {}, + sourceValue: 'INBOX', }, ]) }) - it('honors a nested tool-scoped advanced override (anchors on the active member, not the dormant basic)', () => { + it('honors a nested tool-scoped advanced override (manual mode passes through - no re-pick)', () => { vi.mocked(getBlock).mockImplementation((type) => { if (type === 'agent') return blockWith([{ id: 'tools', title: 'Tools', type: 'tool-input' }]) if (type === 'gmail') @@ -446,18 +442,14 @@ describe('collectForkDependentReconfigs', () => { variables: {}, }) as unknown as WorkflowState - // Scoped override present -> anchors on the ACTIVE advanced member (today's heuristic missed it). + // Scoped override present -> advanced (manual) mode: the manual credential passes through + // verbatim on sync, so its dependents are never cleared and no re-pick is offered. const withOverride = collectForkDependentReconfigs( [replaceItem], new Map([['wf-src', agentState({ 'gmail:credential': 'advanced' })]]), resolve ) - expect(withOverride).toHaveLength(1) - expect(withOverride[0]).toMatchObject({ - parentKind: 'credential', - parentSourceId: 'cred-active', - subBlockKey: 'tools[0].folder', - }) + expect(withOverride).toEqual([]) // Control: no override -> the value heuristic keeps the non-empty basic (unchanged behavior). const heuristic = collectForkDependentReconfigs( @@ -650,10 +642,16 @@ describe('collectForkResourceUsages', () => { ]) }) - it('skips create-mode targets (the source config carries over on first sync)', () => { + it('includes create-mode targets (never-synced workflows count toward the next sync)', () => { const states = new Map([['wf-a', credentialState('cred-src')]]) expect( collectForkResourceUsages([usageItem('wf-a', 'wf-tgt-a', 'A', 'create')], states) - ).toEqual([]) + ).toEqual([ + { + parentKind: 'credential', + parentSourceId: 'cred-src', + workflows: [{ workflowId: 'wf-tgt-a', workflowName: 'A' }], + }, + ]) }) }) diff --git a/apps/sim/lib/workspaces/fork/mapping/dependent-reconfigs.ts b/apps/sim/ee/workspace-forking/lib/mapping/dependent-reconfigs.ts similarity index 84% rename from apps/sim/lib/workspaces/fork/mapping/dependent-reconfigs.ts rename to apps/sim/ee/workspace-forking/lib/mapping/dependent-reconfigs.ts index 9b20a3dfaac..a077630cc6e 100644 --- a/apps/sim/lib/workspaces/fork/mapping/dependent-reconfigs.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/dependent-reconfigs.ts @@ -10,18 +10,19 @@ import { buildSubBlockValues, type CanonicalModeOverrides, evaluateSubBlockCondition, - resolveActiveCanonicalValue, + isNonEmptyValue, scopeCanonicalModesForTool, } from '@/lib/workflows/subblocks/visibility' -import type { ForkBlockIdResolver } from '@/lib/workspaces/fork/remap/block-identity' -import { toScannerBlocks } from '@/lib/workspaces/fork/remap/reference-scan' -import { - isSubBlockRequired, - scanWorkflowReferences, -} from '@/lib/workspaces/fork/remap/remap-references' import { getBlock } from '@/blocks/registry' import type { SubBlockConfig } from '@/blocks/types' import { getDependsOnFields } from '@/blocks/utils' +import type { ForkBlockIdResolver } from '@/ee/workspace-forking/lib/remap/block-identity' +import { toScannerBlocks } from '@/ee/workspace-forking/lib/remap/reference-scan' +import { + createCanonicalModeGates, + isSubBlockRequired, + scanWorkflowReferences, +} from '@/ee/workspace-forking/lib/remap/remap-references' import type { WorkflowState } from '@/stores/workflows/workflow/types' const isSelectorContextKey = ( @@ -106,6 +107,7 @@ function emitAnchoredDependents(params: EmitAnchoredParams): void { } = params const fullContext = buildSelectorContextFromBlock(contextBlockType, contextSubBlocks) const canonicalIndex = buildCanonicalIndex(config.subBlocks) + const gates = createCanonicalModeGates(config.subBlocks, values, canonicalModes) const configById = new Map(config.subBlocks.filter((cfg) => cfg.id).map((cfg) => [cfg.id, cfg])) // A field could hang off two anchors (or be reachable via two paths); emit it once. const seen = new Set() @@ -113,14 +115,22 @@ function emitAnchoredDependents(params: EmitAnchoredParams): void { for (const anchor of PARENT_ANCHORS) { for (const anchorCfg of config.subBlocks) { if (anchorCfg.type !== anchor.subBlockType || !anchorCfg.id) continue - // Resolve the parent's ACTIVE canonical value: an advanced override (or an advanced-only - // value) beats a stale dormant basic selector, so a dependent re-pick is offered when - // advanced mode is active (today's raw basic read skips it). - const canonicalId = canonicalIndex.canonicalIdBySubBlockId[anchorCfg.id] - const group = canonicalId ? canonicalIndex.groupsById[canonicalId] : undefined - const rawValue = group - ? resolveActiveCanonicalValue(group, values, canonicalModes) - : values[anchorCfg.id] + // An anchor whose canonical pair is in ADVANCED (manual) mode is skipped entirely: the + // active value is the user-owned manual member's, which is verbatim by policy - a sync + // never remaps it, so its dependents are never cleared and there is nothing to re-pick. + if (gates.isAdvancedActiveGroup(anchorCfg.id)) continue + // Basic mode: the anchor selector's own value. Nested tools can store the pick under the + // pair's `canonicalParamId` instead (the tool-input UI writes the canonical key), so fall + // back to it - but only when that key is not itself a subblock id (when it is, the key + // is the manual member's own field and reading it would leak a manual value). + let rawValue = values[anchorCfg.id] + if ( + !isNonEmptyValue(rawValue) && + anchorCfg.canonicalParamId && + !configById.has(anchorCfg.canonicalParamId) + ) { + rawValue = values[anchorCfg.canonicalParamId] + } const parentSourceId = typeof rawValue === 'string' ? rawValue : '' if (!parentSourceId) continue // Multi-value parents (comma-joined) can't match a single mapping entry; skip @@ -143,6 +153,10 @@ function emitAnchoredDependents(params: EmitAnchoredParams): void { // offered, so the user can set a label/sheet during the swap even when the source // (or a prior sync) cleared it - the whole point of the in-place re-pick. if (dependent.condition && !evaluateSubBlockCondition(dependent.condition, values)) continue + // Skip a DORMANT canonical member: when the dependent's own pair is in advanced + // (manual) mode, the selector is not the live field - the manual member is, and it + // is verbatim by policy (never cleared by a remap), so there's nothing to re-pick. + if (gates.isDormantMember(dependent.id)) continue // The SelectorContext key this field supplies to its own descendants, so the // modal can chain re-picks (re-picked spreadsheet feeds the sheet selector). const canonicalKey = canonicalIndex.canonicalIdBySubBlockId[dependent.id] ?? dependent.id @@ -170,6 +184,14 @@ function emitAnchoredDependents(params: EmitAnchoredParams): void { typeof dependent.mimeType === 'string' && dependent.mimeType ? { ...context, mimeType: dependent.mimeType } : context + // Nested tools can store the pick under the pair's `canonicalParamId` (the tool-input + // UI writes the canonical key); fall back to it when the key isn't a subblock's own id. + const rawDependentValue = + values[dependent.id] ?? + (dependent.canonicalParamId && !configById.has(dependent.canonicalParamId) + ? values[dependent.canonicalParamId] + : undefined) + const rawSourceValue = typeof rawDependentValue === 'string' ? rawDependentValue : '' out.push({ parentKind: anchor.parentKind, parentSourceId, @@ -181,12 +203,14 @@ function emitAnchoredDependents(params: EmitAnchoredParams): void { selectorKey: dependent.selectorKey, title: makeTitle(dependent), // Source value, so the always-on listing pre-fills a stable parent's selector. - currentValue: - typeof values[dependent.id] === 'string' ? (values[dependent.id] as string) : '', + // The diff route overlays the stored/target-draft value onto `currentValue`; + // `sourceValue` stays the raw source reference (the copy-resolved parent's seed). + currentValue: rawSourceValue, required: isSubBlockRequired(dependent.required, values), providesContextKey, consumesContextKeys, context: dependentContext, + sourceValue: rawSourceValue, }) } } @@ -204,7 +228,9 @@ function emitAnchoredDependents(params: EmitAnchoredParams): void { * operation is emitted - including ones the source left empty - so the user can set a * value in place during the swap even when the source (or a prior sync) had none; only * selectors gated off by their `condition` (a different operation's variant) are skipped. - * Replace targets only: a freshly created target has nothing configured to swap yet. + * Scans one target `mode` per call: `replace` for targets that exist (re-pick against the + * swapped parent), `create` for never-synced workflows (pre-configure what the first sync + * writes - the diff route emits both). * * `resolveTargetBlockId` MUST be the same resolver `copyWorkflowStateIntoTarget` uses for * this promote (see {@link buildForkBlockIdResolver}); otherwise the modal would key a @@ -318,8 +344,8 @@ interface ResourceUsageItem { * groups them by `(kind, sourceId)`. Unlike {@link collectForkDependentReconfigs} this is * NOT anchor-limited: it includes resources with no configurable dependent (env vars, files, * a Gmail block with no active label) so the modal can still list - greyed - the workflows - * they appear in. Replace targets only, mirroring the dependent collector (a freshly created - * target carries the source config over and has nothing to reconcile yet). + * they appear in. Covers EVERY deployed source workflow - replace targets and creates + * (never-synced workflows) alike - so the listing accounts for the full next sync. */ export function collectForkResourceUsages( items: ResourceUsageItem[], @@ -327,7 +353,6 @@ export function collectForkResourceUsages( ): ForkResourceUsage[] { const byResource = new Map() for (const item of items) { - if (item.mode !== 'replace') continue const state = sourceStates.get(item.sourceWorkflowId) if (!state) continue // scanWorkflowReferences already dedups by `${kind}:${sourceId}` across the workflow, diff --git a/apps/sim/lib/workspaces/fork/mapping/dependent-value-store.test.ts b/apps/sim/ee/workspace-forking/lib/mapping/dependent-value-store.test.ts similarity index 71% rename from apps/sim/lib/workspaces/fork/mapping/dependent-value-store.test.ts rename to apps/sim/ee/workspace-forking/lib/mapping/dependent-value-store.test.ts index 29bde91f43c..d94f7f2d90b 100644 --- a/apps/sim/lib/workspaces/fork/mapping/dependent-value-store.test.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/dependent-value-store.test.ts @@ -4,10 +4,13 @@ import { describe, expect, it, vi } from 'vitest' import type { DbOrTx } from '@/lib/db/types' import { + type ForkDependentValue, forkDependentValueKey, loadForkDependentValues, reconcileForkDependentValues, -} from '@/lib/workspaces/fork/mapping/dependent-value-store' + translateForkDependentValues, +} from '@/ee/workspace-forking/lib/mapping/dependent-value-store' +import type { ForkReferenceResolver } from '@/ee/workspace-forking/lib/remap/remap-references' describe('forkDependentValueKey', () => { it('builds a stable triple key', () => { @@ -53,6 +56,46 @@ describe('loadForkDependentValues', () => { }) }) +describe('translateForkDependentValues', () => { + const value = (overrides: Partial = {}): ForkDependentValue => ({ + targetWorkflowId: 'wf-1', + targetBlockId: 'blk-1', + subBlockKey: 'documentSelector', + value: 'doc-src', + ...overrides, + }) + + /** Resolver mapping only the copied/mapped source document ids, like promote's post-copy one. */ + const resolver: ForkReferenceResolver = (kind, sourceId) => + kind === 'knowledge-document' && sourceId === 'doc-src' ? 'doc-copy' : null + + it('rewrites a SOURCE document id to its copied counterpart (the apply must never write a source id)', () => { + expect(translateForkDependentValues([value()], resolver)).toEqual([ + value({ value: 'doc-copy' }), + ]) + }) + + it('keeps values the resolver does not know verbatim (target doc ids, labels, column ids)', () => { + const targetDoc = value({ value: 'doc-tgt-existing' }) + const label = value({ subBlockKey: 'folder', value: 'INBOX' }) + expect(translateForkDependentValues([targetDoc, label], resolver)).toEqual([targetDoc, label]) + }) + + it('keeps empty (cleared) values untouched without consulting the resolver', () => { + const resolve = vi.fn(() => 'never') + const cleared = value({ value: '' }) + expect(translateForkDependentValues([cleared], resolve)).toEqual([cleared]) + expect(resolve).not.toHaveBeenCalled() + }) + + it('consults only the knowledge-document kind (documents are the one copied dependent value)', () => { + const resolve = vi.fn(() => null) + translateForkDependentValues([value()], resolve) + expect(resolve).toHaveBeenCalledTimes(1) + expect(resolve).toHaveBeenCalledWith('knowledge-document', 'doc-src') + }) +}) + describe('reconcileForkDependentValues', () => { function fakeExecutor() { const deleteWhere = vi.fn().mockResolvedValue(undefined) diff --git a/apps/sim/lib/workspaces/fork/mapping/dependent-value-store.ts b/apps/sim/ee/workspace-forking/lib/mapping/dependent-value-store.ts similarity index 74% rename from apps/sim/lib/workspaces/fork/mapping/dependent-value-store.ts rename to apps/sim/ee/workspace-forking/lib/mapping/dependent-value-store.ts index aa60dbdc102..cc4335f24db 100644 --- a/apps/sim/lib/workspaces/fork/mapping/dependent-value-store.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/dependent-value-store.ts @@ -2,6 +2,7 @@ import { workspaceForkDependentValue } from '@sim/db/schema' import { generateId } from '@sim/utils/id' import { and, eq, inArray } from 'drizzle-orm' import type { DbOrTx } from '@/lib/db/types' +import type { ForkReferenceResolver } from '@/ee/workspace-forking/lib/remap/remap-references' /** One stored dependent-field value for an edge. */ export interface ForkDependentValue { @@ -52,6 +53,30 @@ export async function loadForkDependentValues( .where(where) } +/** + * Translate dependent values through the promote resolver before they are applied to the + * written state and persisted: a value that is a SOURCE knowledge-document id (a pick under a + * copy-resolved KB) becomes its copied/mapped counterpart id, so the + * dependent-value apply - which runs AFTER the reference remap and wins for its subblock - + * never writes a source-workspace document id into the target, and the store stays coherent + * for the next sync's (then-mapped) display. Only ids the resolver actually knows are + * rewritten: a target document id, a Gmail label, a column id, or any other opaque value + * misses the map and is kept verbatim. Documents are the one dependent-selector value that is + * itself a copied resource id, so `knowledge-document` is the only kind consulted. Pure. + */ +export function translateForkDependentValues( + values: ForkDependentValue[], + resolve: ForkReferenceResolver +): ForkDependentValue[] { + return values.map((entry) => { + if (entry.value === '') return entry + const translated = resolve('knowledge-document', entry.value) + return translated != null && translated !== entry.value + ? { ...entry, value: translated } + : entry + }) +} + /** * Replace the stored dependent values for the given target workflows with `values` (the full * set the modal sent). Deletes those workflows' rows first, then inserts the non-empty values, diff --git a/apps/sim/lib/workspaces/fork/mapping/mapping-service.test.ts b/apps/sim/ee/workspace-forking/lib/mapping/mapping-service.test.ts similarity index 96% rename from apps/sim/lib/workspaces/fork/mapping/mapping-service.test.ts rename to apps/sim/ee/workspace-forking/lib/mapping/mapping-service.test.ts index 86570341867..4efb1d0778a 100644 --- a/apps/sim/lib/workspaces/fork/mapping/mapping-service.test.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/mapping-service.test.ts @@ -2,7 +2,7 @@ * @vitest-environment node */ import { beforeEach, describe, expect, it, vi } from 'vitest' -import type { ForkRemapKind } from '@/lib/workspaces/fork/remap/remap-references' +import type { ForkRemapKind } from '@/ee/workspace-forking/lib/remap/remap-references' const { mockFilterExisting, mockGetCredentialProviders, mockGetEnvKeys } = vi.hoisted(() => ({ mockFilterExisting: vi.fn(), @@ -10,7 +10,7 @@ const { mockFilterExisting, mockGetCredentialProviders, mockGetEnvKeys } = vi.ho mockGetEnvKeys: vi.fn(), })) -vi.mock('@/lib/workspaces/fork/mapping/resources', () => ({ +vi.mock('@/ee/workspace-forking/lib/mapping/resources', () => ({ listForkResourceCandidates: vi.fn(), classifyCredentialResourceType: vi.fn(), getWorkspaceEnvKeys: mockGetEnvKeys, @@ -19,13 +19,13 @@ vi.mock('@/lib/workspaces/fork/mapping/resources', () => ({ CANDIDATE_LIMIT: 1000, })) -import { ForkError } from '@/lib/workspaces/fork/lineage/authz' +import { ForkError } from '@/ee/workspace-forking/lib/lineage/authz' import { findDuplicateTargetEntry, suggestTarget, validateForkMappingTargets, -} from '@/lib/workspaces/fork/mapping/mapping-service' -import type { ForkResourceCandidate } from '@/lib/workspaces/fork/mapping/resources' +} from '@/ee/workspace-forking/lib/mapping/mapping-service' +import type { ForkResourceCandidate } from '@/ee/workspace-forking/lib/mapping/resources' type ExistingByKind = Partial>> diff --git a/apps/sim/lib/workspaces/fork/mapping/mapping-service.ts b/apps/sim/ee/workspace-forking/lib/mapping/mapping-service.ts similarity index 94% rename from apps/sim/lib/workspaces/fork/mapping/mapping-service.ts rename to apps/sim/ee/workspace-forking/lib/mapping/mapping-service.ts index 14410f2cf43..64f3ca2d91a 100644 --- a/apps/sim/lib/workspaces/fork/mapping/mapping-service.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/mapping-service.ts @@ -1,10 +1,13 @@ import { db } from '@sim/db' import type { ForkMappableResourceType, ForkMappingEntry } from '@/lib/api/contracts/workspace-fork' import type { DbOrTx } from '@/lib/db/types' -import { listDeployedWorkflows, readDeployedState } from '@/lib/workspaces/fork/copy/deploy-bridge' -import { ForkError } from '@/lib/workspaces/fork/lineage/authz' -import type { ForkEdge } from '@/lib/workspaces/fork/lineage/lineage' -import { detectForkCascadeReferences } from '@/lib/workspaces/fork/mapping/cascade' +import { + listDeployedWorkflows, + readDeployedState, +} from '@/ee/workspace-forking/lib/copy/deploy-bridge' +import { ForkError } from '@/ee/workspace-forking/lib/lineage/authz' +import type { ForkEdge } from '@/ee/workspace-forking/lib/lineage/lineage' +import { detectForkCascadeReferences } from '@/ee/workspace-forking/lib/mapping/cascade' import { buildForkResolver, deleteEdgeMappingsByChildResources, @@ -13,7 +16,7 @@ import { nonCredentialForkKindToResourceType, resourceTypeToForkKind, upsertEdgeMappings, -} from '@/lib/workspaces/fork/mapping/mapping-store' +} from '@/ee/workspace-forking/lib/mapping/mapping-store' import { CANDIDATE_LIMIT, classifyCredentialResourceType, @@ -22,13 +25,13 @@ import { getCredentialProvidersByIds, getWorkspaceEnvKeys, listForkResourceCandidates, -} from '@/lib/workspaces/fork/mapping/resources' -import { toScannerBlocks } from '@/lib/workspaces/fork/remap/reference-scan' +} from '@/ee/workspace-forking/lib/mapping/resources' +import { toScannerBlocks } from '@/ee/workspace-forking/lib/remap/reference-scan' import { type ForkReference, type ForkRemapKind, scanWorkflowReferences, -} from '@/lib/workspaces/fork/remap/remap-references' +} from '@/ee/workspace-forking/lib/remap/remap-references' interface ForkMappingViewParams { edge: ForkEdge @@ -76,10 +79,16 @@ export async function getForkMappingView( const resourceTypeBySourceId = new Map() for (const row of mappingRows) { - // Workflow identity rows are system-managed and document rows ride their parent KB - neither is - // user-mappable. Skip both so a scanned reference can never be labeled with a non-mappable type - // and the view stays within the mappable-type contract. - if (row.resourceType === 'workflow' || row.resourceType === 'knowledge_document') continue + // Workflow + workflow-publishing-server identity rows are system-managed and document rows + // ride their parent KB - none is user-mappable. Skip them so a scanned reference can never + // be labeled with a non-mappable type and the view stays within the mappable-type contract. + if ( + row.resourceType === 'workflow' || + row.resourceType === 'workflow_mcp_server' || + row.resourceType === 'knowledge_document' + ) { + continue + } const key = sourceIsParent ? row.parentResourceId : row.childResourceId if (key) resourceTypeBySourceId.set(key, row.resourceType) } diff --git a/apps/sim/lib/workspaces/fork/mapping/mapping-store.test.ts b/apps/sim/ee/workspace-forking/lib/mapping/mapping-store.test.ts similarity index 95% rename from apps/sim/lib/workspaces/fork/mapping/mapping-store.test.ts rename to apps/sim/ee/workspace-forking/lib/mapping/mapping-store.test.ts index 491256729c1..104b6217cc9 100644 --- a/apps/sim/lib/workspaces/fork/mapping/mapping-store.test.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/mapping-store.test.ts @@ -2,7 +2,10 @@ * @vitest-environment node */ import { describe, expect, it } from 'vitest' -import { buildForkResolver, type ForkMappingRow } from '@/lib/workspaces/fork/mapping/mapping-store' +import { + buildForkResolver, + type ForkMappingRow, +} from '@/ee/workspace-forking/lib/mapping/mapping-store' const credentialRow: ForkMappingRow = { id: 'm1', diff --git a/apps/sim/lib/workspaces/fork/mapping/mapping-store.ts b/apps/sim/ee/workspace-forking/lib/mapping/mapping-store.ts similarity index 97% rename from apps/sim/lib/workspaces/fork/mapping/mapping-store.ts rename to apps/sim/ee/workspace-forking/lib/mapping/mapping-store.ts index fffff6a7a23..f9d1e938275 100644 --- a/apps/sim/lib/workspaces/fork/mapping/mapping-store.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/mapping-store.ts @@ -7,7 +7,7 @@ import type { DbOrTx } from '@/lib/db/types' import type { ForkReferenceResolver, ForkRemapKind, -} from '@/lib/workspaces/fork/remap/remap-references' +} from '@/ee/workspace-forking/lib/remap/remap-references' /** Mapping rows per insert; each row binds ~8 params, keeping well under PG's limit. */ const MAPPING_INSERT_CHUNK = 1000 @@ -39,6 +39,9 @@ const RESOURCE_TYPE_TO_FORK_KIND: Record knowledge_document: 'knowledge-document', file: 'file', mcp_server: 'mcp-server', + // Identity-only, like `workflow`: nothing in a subblock references a workflow-publishing + // server, so these rows never participate in reference remapping. + workflow_mcp_server: null, custom_tool: 'custom-tool', skill: 'skill', } diff --git a/apps/sim/lib/workspaces/fork/mapping/resources.test.ts b/apps/sim/ee/workspace-forking/lib/mapping/resources.test.ts similarity index 99% rename from apps/sim/lib/workspaces/fork/mapping/resources.test.ts rename to apps/sim/ee/workspace-forking/lib/mapping/resources.test.ts index a29094c217e..0995c26178c 100644 --- a/apps/sim/lib/workspaces/fork/mapping/resources.test.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/resources.test.ts @@ -8,7 +8,7 @@ import { listForkCopyableSourceResources, listForkResourceCandidates, loadForkCopyableResourceLabels, -} from '@/lib/workspaces/fork/mapping/resources' +} from '@/ee/workspace-forking/lib/mapping/resources' const executor = dbChainMock.db as unknown as DbOrTx diff --git a/apps/sim/lib/workspaces/fork/mapping/resources.ts b/apps/sim/ee/workspace-forking/lib/mapping/resources.ts similarity index 89% rename from apps/sim/lib/workspaces/fork/mapping/resources.ts rename to apps/sim/ee/workspace-forking/lib/mapping/resources.ts index 1a9702e2da9..2d04e0b96aa 100644 --- a/apps/sim/lib/workspaces/fork/mapping/resources.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/resources.ts @@ -16,8 +16,11 @@ import { import { and, count, eq, exists, inArray, isNull, sql } from 'drizzle-orm' import type { ForkCopyableKind } from '@/lib/api/contracts/workspace-fork' import type { DbOrTx } from '@/lib/db/types' -import type { ForkResourceType } from '@/lib/workspaces/fork/mapping/mapping-store' -import type { ForkMcpServerMeta, ForkRemapKind } from '@/lib/workspaces/fork/remap/remap-references' +import type { ForkResourceType } from '@/ee/workspace-forking/lib/mapping/mapping-store' +import type { + ForkMcpServerMeta, + ForkRemapKind, +} from '@/ee/workspace-forking/lib/remap/remap-references' export interface ForkResourceCandidate { id: string @@ -391,7 +394,9 @@ export interface ForkCopyableResources { knowledgeBases: ForkResourceCandidate[] customTools: ForkResourceCandidate[] skills: ForkResourceCandidate[] - /** Workflow-publishing MCP servers, copied as config-only shells (external MCP is not copied). */ + /** External MCP servers, copied as config rows (OAuth tokens never copied - re-auth in child). */ + mcpServers: ForkResourceCandidate[] + /** Workflow-publishing MCP servers, copied as config-only shells with no workflows attached. */ workflowMcpServers: ForkResourceCandidate[] /** * Count of deployed workflows that the fork would copy. When 0, the fork modal shows an @@ -410,44 +415,48 @@ export async function listForkCopyableResources( executor: DbOrTx, workspaceId: string ): Promise { - const [files, tables, kbs, tools, skills, servers, deployed] = await Promise.all([ - fileCandidatesWithFolderQuery(executor, workspaceId), - tableCandidatesQuery(executor, workspaceId), - knowledgeBaseCandidatesQuery(executor, workspaceId), - customToolCandidatesQuery(executor, workspaceId), - skillCandidatesQuery(executor, workspaceId), - executor - .select({ id: workflowMcpServer.id, label: workflowMcpServer.name }) - .from(workflowMcpServer) - .where( - and(eq(workflowMcpServer.workspaceId, workspaceId), isNull(workflowMcpServer.deletedAt)) - ) - .limit(CANDIDATE_LIMIT), - executor - .select({ value: count() }) - .from(workflow) - // Match listDeployedWorkflows: a workflow only counts as copyable when it has an - // actually-active deployment version, not just the isDeployed flag, so the fork - // modal's preflight count never over-reports "ghost" deployed workflows. - .where( - and( - eq(workflow.workspaceId, workspaceId), - eq(workflow.isDeployed, true), - isNull(workflow.archivedAt), - exists( - executor - .select({ one: sql`1` }) - .from(workflowDeploymentVersion) - .where( - and( - eq(workflowDeploymentVersion.workflowId, workflow.id), - eq(workflowDeploymentVersion.isActive, true) + const [files, tables, kbs, tools, skills, externalServers, servers, deployed] = await Promise.all( + [ + fileCandidatesWithFolderQuery(executor, workspaceId), + tableCandidatesQuery(executor, workspaceId), + knowledgeBaseCandidatesQuery(executor, workspaceId), + customToolCandidatesQuery(executor, workspaceId), + skillCandidatesQuery(executor, workspaceId), + // External MCP servers copy as config rows (same filter as the mapping candidates). + mcpServerCandidatesQuery(executor, workspaceId), + executor + .select({ id: workflowMcpServer.id, label: workflowMcpServer.name }) + .from(workflowMcpServer) + .where( + and(eq(workflowMcpServer.workspaceId, workspaceId), isNull(workflowMcpServer.deletedAt)) + ) + .limit(CANDIDATE_LIMIT), + executor + .select({ value: count() }) + .from(workflow) + // Match listDeployedWorkflows: a workflow only counts as copyable when it has an + // actually-active deployment version, not just the isDeployed flag, so the fork + // modal's preflight count never over-reports "ghost" deployed workflows. + .where( + and( + eq(workflow.workspaceId, workspaceId), + eq(workflow.isDeployed, true), + isNull(workflow.archivedAt), + exists( + executor + .select({ one: sql`1` }) + .from(workflowDeploymentVersion) + .where( + and( + eq(workflowDeploymentVersion.workflowId, workflow.id), + eq(workflowDeploymentVersion.isActive, true) + ) ) - ) + ) ) - ) - ), - ]) + ), + ] + ) return { // The shared folder query also selects the storage key (for the label lookup); the copy // picker addresses files by `workspace_files.id`, so drop the key here. @@ -461,6 +470,7 @@ export async function listForkCopyableResources( knowledgeBases: kbs, customTools: tools, skills, + mcpServers: externalServers, workflowMcpServers: servers, deployedWorkflowCount: deployed[0]?.value ?? 0, } @@ -496,20 +506,20 @@ export interface ForkCopyableSourceResource { * per-kind {@link CANDIDATE_LIMIT} cap as the copy picker), as sync-copy candidate entries. The * promote plan filters these down to the UNREFERENCED-and-unmapped set it offers for copy * alongside the referenced candidates. Covers exactly the sync-copyable kinds - * (`forkCopyableKindSchema`): workflow-publishing MCP servers are fork-copy-only (their copies - * are not recorded in the fork resource map, so a sync copy could never be idempotent) and - * external MCP servers / credentials / env vars are never copied. + * (`forkCopyableKindSchema`): workflow-publishing MCP servers are fork-copy-only shells, and + * credentials / env vars are never copied. */ export async function listForkCopyableSourceResources( executor: DbOrTx, sourceWorkspaceId: string ): Promise { - const [files, tables, kbs, tools, skills] = await Promise.all([ + const [files, tables, kbs, tools, skills, mcp] = await Promise.all([ fileCandidatesWithFolderQuery(executor, sourceWorkspaceId), tableCandidatesQuery(executor, sourceWorkspaceId), knowledgeBaseCandidatesQuery(executor, sourceWorkspaceId), customToolCandidatesQuery(executor, sourceWorkspaceId), skillCandidatesQuery(executor, sourceWorkspaceId), + mcpServerCandidatesQuery(executor, sourceWorkspaceId), ]) const flat = ( kind: ForkCopyableKind, @@ -534,6 +544,7 @@ export async function listForkCopyableSourceResources( ...flat('knowledge-base', kbs), ...flat('custom-tool', tools), ...flat('skill', skills), + ...flat('mcp-server', mcp), ] } @@ -558,10 +569,11 @@ export async function loadForkCopyableResourceLabels( const tableIds = ids('table') const toolIds = ids('custom-tool') const skillIds = ids('skill') + const mcpIds = ids('mcp-server') // Files are keyed by storage key (not `workspace_files.id`), so they label by key. const fileKeys = ids('file') - const [kbs, tables, tools, skills, files] = await Promise.all([ + const [kbs, tables, tools, skills, mcp, files] = await Promise.all([ kbIds.length === 0 ? Promise.resolve([] as Array<{ id: string; label: string }>) : knowledgeBaseCandidatesQuery(executor, sourceWorkspaceId, kbIds), @@ -574,6 +586,9 @@ export async function loadForkCopyableResourceLabels( skillIds.length === 0 ? Promise.resolve([] as Array<{ id: string; label: string }>) : skillCandidatesQuery(executor, sourceWorkspaceId, skillIds), + mcpIds.length === 0 + ? Promise.resolve([] as Array<{ id: string; label: string }>) + : mcpServerCandidatesQuery(executor, sourceWorkspaceId, mcpIds), fileKeys.length === 0 ? Promise.resolve( [] as Array<{ @@ -591,6 +606,7 @@ export async function loadForkCopyableResourceLabels( for (const row of tables) labels.set(`table:${row.id}`, flat(row.label)) for (const row of tools) labels.set(`custom-tool:${row.id}`, flat(row.label)) for (const row of skills) labels.set(`skill:${row.id}`, flat(row.label)) + for (const row of mcp) labels.set(`mcp-server:${row.id}`, flat(row.label)) for (const row of files) { labels.set(`file:${row.key}`, { label: row.label, diff --git a/apps/sim/lib/workspaces/fork/promote/cleared-refs.test.ts b/apps/sim/ee/workspace-forking/lib/promote/cleared-refs.test.ts similarity index 98% rename from apps/sim/lib/workspaces/fork/promote/cleared-refs.test.ts rename to apps/sim/ee/workspace-forking/lib/promote/cleared-refs.test.ts index 278f421b111..f6e0d7b2c43 100644 --- a/apps/sim/lib/workspaces/fork/promote/cleared-refs.test.ts +++ b/apps/sim/ee/workspace-forking/lib/promote/cleared-refs.test.ts @@ -25,7 +25,7 @@ const { mockFilterExisting, mockLoadCopyableLabels } = vi.hoisted(() => ({ mockFilterExisting: vi.fn(), mockLoadCopyableLabels: vi.fn(), })) -vi.mock('@/lib/workspaces/fork/mapping/resources', () => ({ +vi.mock('@/ee/workspace-forking/lib/mapping/resources', () => ({ filterExistingForkTargets: mockFilterExisting, loadForkCopyableResourceLabels: mockLoadCopyableLabels, getWorkspaceEnvKeys: vi.fn(), @@ -37,20 +37,20 @@ vi.mock('@/lib/workspaces/fork/mapping/resources', () => ({ })) import type { DbOrTx } from '@/lib/db/types' +import { getBlock } from '@/blocks/registry' +import type { BlockConfig } from '@/blocks/types' import { annotateForkClearedRefSourceLiveness, collectForkClearedRefCandidates, collectForkSyncBlockers, -} from '@/lib/workspaces/fork/promote/cleared-refs' -import { buildPromoteWorkflowIdMap } from '@/lib/workspaces/fork/promote/promote-plan' +} from '@/ee/workspace-forking/lib/promote/cleared-refs' +import { buildPromoteWorkflowIdMap } from '@/ee/workspace-forking/lib/promote/promote-plan' import { buildForkBlockIdResolver, deriveForkBlockId, EMPTY_FORK_BLOCK_MAP, -} from '@/lib/workspaces/fork/remap/block-identity' -import type { ForkReferenceResolver } from '@/lib/workspaces/fork/remap/remap-references' -import { getBlock } from '@/blocks/registry' -import type { BlockConfig } from '@/blocks/types' +} from '@/ee/workspace-forking/lib/remap/block-identity' +import type { ForkReferenceResolver } from '@/ee/workspace-forking/lib/remap/remap-references' import type { WorkflowState } from '@/stores/workflows/workflow/types' const blockWith = (subBlocks: SubBlockConfig[]): BlockConfig => @@ -951,7 +951,7 @@ describe('collectForkSyncBlockers', () => { expect(select).not.toHaveBeenCalled() }) - it('blocks an unmapped external MCP server (unmapped-mcp-server), named via the source read', async () => { + it('blocks an unmapped external MCP server (unmapped-copyable: map it or copy it), named via the source read', async () => { vi.mocked(getBlock).mockReturnValue( blockWith([{ id: 'server', title: 'Server', type: 'mcp-server-selector' }]) ) @@ -975,7 +975,7 @@ describe('collectForkSyncBlockers', () => { kind: 'mcp-server', sourceId: 'srv-1', sourceLabel: 'Internal Tools', - reason: 'unmapped-mcp-server', + reason: 'unmapped-copyable', }), ]) }) diff --git a/apps/sim/lib/workspaces/fork/promote/cleared-refs.ts b/apps/sim/ee/workspace-forking/lib/promote/cleared-refs.ts similarity index 90% rename from apps/sim/lib/workspaces/fork/promote/cleared-refs.ts rename to apps/sim/ee/workspace-forking/lib/promote/cleared-refs.ts index cb31fef852b..56ea03a6dc7 100644 --- a/apps/sim/lib/workspaces/fork/promote/cleared-refs.ts +++ b/apps/sim/ee/workspace-forking/lib/promote/cleared-refs.ts @@ -12,31 +12,29 @@ import { type SubBlockRecord, } from '@/lib/workflows/persistence/remap-internal-ids' import { - buildCanonicalIndex, buildSubBlockValues, type CanonicalModeOverrides, - isCanonicalPair, - resolveCanonicalMode, } from '@/lib/workflows/subblocks/visibility' -import { collectForkDependentReconfigs } from '@/lib/workspaces/fork/mapping/dependent-reconfigs' +import { getBlock } from '@/blocks/registry' +import { collectForkDependentReconfigs } from '@/ee/workspace-forking/lib/mapping/dependent-reconfigs' import { filterExistingForkTargets, loadForkCopyableResourceLabels, -} from '@/lib/workspaces/fork/mapping/resources' -import { isForkCopyableKind } from '@/lib/workspaces/fork/promote/promote-plan' +} from '@/ee/workspace-forking/lib/mapping/resources' +import { isForkCopyableKind } from '@/ee/workspace-forking/lib/promote/promote-plan' import { selectForkSyncBlockingRefs, toForkSyncBlockers, -} from '@/lib/workspaces/fork/promote/sync-blockers' -import type { ForkBlockIdResolver } from '@/lib/workspaces/fork/remap/block-identity' +} from '@/ee/workspace-forking/lib/promote/sync-blockers' +import type { ForkBlockIdResolver } from '@/ee/workspace-forking/lib/remap/block-identity' import { + createCanonicalModeGates, type ForkReference, type ForkReferenceResolver, type ForkRemapKind, REQUIRED_KINDS, remapForkSubBlocks, -} from '@/lib/workspaces/fork/remap/remap-references' -import { getBlock } from '@/blocks/registry' +} from '@/ee/workspace-forking/lib/remap/remap-references' import type { WorkflowState } from '@/stores/workflows/workflow/types' /** @@ -84,7 +82,7 @@ function baseSubBlockId(key: string): string { * {@link remapWorkflowReferencesInSubBlocks} so the cleared-ref list flags exactly the refs that * remap would clear - the free-form manual fields (`manualWorkflowId`, `manualWorkflowIds`) are * user-owned and never remapped/cleared, so they are intentionally excluded (the `workflowIds` - * branch is gated on TYPE `dropdown` because the legacy logs block's `workflowIds` is a manual + * branch is gated on TYPE `dropdown` because the logs block's `workflowIds` is a manual * `short-input`). Returns one entry per referenced workflow id with its owning subblock key. */ function collectForkWorkflowReferences( @@ -93,25 +91,21 @@ function collectForkWorkflowReferences( canonicalModes: CanonicalModeOverrides | undefined ): Array<{ workflowId: string; subBlockKey: string }> { const out: Array<{ workflowId: string; subBlockKey: string }> = [] - // Collapse each canonical pair to its ACTIVE member: only the selector members are - // remapped/cleared (the advanced `manualWorkflowId`/`manualWorkflowIds` are user-owned and - // preserved verbatim), so a DORMANT member's stale value is not a ref that would be cleared - - // it must not become an unresolvable sync blocker. Mirrors `isDormantCanonicalMember` in - // remap-references.ts: the lookup is per subblock key, so the scalar `workflowId` pair, the - // deployments block's scalar `workflowSelector` pair, and the logs block's multi-select - // `workflowSelector` (`workflowIds` group) all resolve through their OWN group. A missing - // config or a non-pair member is never skipped (legacy/no-pair states keep emitting). - const canonicalIndex = config ? buildCanonicalIndex(config.subBlocks) : undefined - const values = canonicalIndex ? buildSubBlockValues(subBlocks) : {} - const isDormantCanonicalMember = (key: string): boolean => { - if (!canonicalIndex) return false - const baseKey = baseSubBlockId(key) - const canonicalId = canonicalIndex.canonicalIdBySubBlockId[baseKey] - const group = canonicalId ? canonicalIndex.groupsById[canonicalId] : undefined - if (!group || !isCanonicalPair(group)) return false - const activeMode = resolveCanonicalMode(group, values, canonicalModes) - return (activeMode === 'advanced') !== group.advancedIds.includes(baseKey) - } + // Collapse each canonical pair to its ACTIVE member and skip condition-hidden fields: only a + // value that serializes is a ref that a sync would clear (the advanced + // `manualWorkflowId`/`manualWorkflowIds` are user-owned and preserved verbatim, an inactive + // operation's selector never executes) - neither may become an unresolvable sync blocker. + // Shares {@link createCanonicalModeGates} with the reference scan, so the scalar `workflowId` + // pair, the deployments block's scalar `workflowSelector` pair, and the logs block's + // multi-select `workflowSelector` (`workflowIds` group) all resolve through their OWN group. A + // missing config or a non-pair member is never skipped (no-pair states keep emitting). + const gates = createCanonicalModeGates( + config?.subBlocks, + buildSubBlockValues(subBlocks), + canonicalModes + ) + const detectionSkipped = (key: string) => + gates.isDormantMember(key) || gates.isConditionHidden(key) for (const [key, subBlock] of Object.entries(subBlocks)) { if (!subBlock || typeof subBlock !== 'object') continue const baseKey = baseSubBlockId(key) @@ -122,13 +116,13 @@ function collectForkWorkflowReferences( ) { // Only the SELECTOR is remapped/cleared; the manual member is user-owned and preserved // verbatim, so skip the dormant selector when advanced/manual mode is active. - if (isDormantCanonicalMember(key)) continue + if (detectionSkipped(key)) continue out.push({ workflowId: subBlock.value, subBlockKey: key }) } else if ( baseKey === 'workflowSelector' || (subBlock.type === 'dropdown' && baseKey === 'workflowIds') ) { - if (isDormantCanonicalMember(key)) continue + if (detectionSkipped(key)) continue const ids = Array.isArray(subBlock.value) ? subBlock.value : typeof subBlock.value === 'string' diff --git a/apps/sim/lib/workspaces/fork/promote/copy-unmapped.test.ts b/apps/sim/ee/workspace-forking/lib/promote/copy-unmapped.test.ts similarity index 94% rename from apps/sim/lib/workspaces/fork/promote/copy-unmapped.test.ts rename to apps/sim/ee/workspace-forking/lib/promote/copy-unmapped.test.ts index 4737665694f..8f792f3df95 100644 --- a/apps/sim/lib/workspaces/fork/promote/copy-unmapped.test.ts +++ b/apps/sim/ee/workspace-forking/lib/promote/copy-unmapped.test.ts @@ -22,25 +22,25 @@ const { mockPlanForkFileCopies: vi.fn(), })) -vi.mock('@/lib/workspaces/fork/mapping/mapping-store', () => ({ +vi.mock('@/ee/workspace-forking/lib/mapping/mapping-store', () => ({ upsertEdgeMappings: mockUpsertEdgeMappings, deleteEdgeMappingsByChildResources: mockDeleteEdgeMappingsByChildResources, resourceTypeToForkKind: vi.fn(), })) -vi.mock('@/lib/workspaces/fork/copy/copy-resources', () => ({ +vi.mock('@/ee/workspace-forking/lib/copy/copy-resources', () => ({ copyForkResourceContainers: mockCopyForkResourceContainers, planForkMappedKbDocumentCopies: mockPlanForkMappedKbDocumentCopies, copyForkResourceContent: vi.fn(), })) -vi.mock('@/lib/workspaces/fork/copy/copy-files', () => ({ +vi.mock('@/ee/workspace-forking/lib/copy/copy-files', () => ({ planForkFileCopies: mockPlanForkFileCopies, executeForkFileBlobCopies: vi.fn(), })) -import type { ForkEdge } from '@/lib/workspaces/fork/lineage/lineage' -import type { ForkMappingUpsert } from '@/lib/workspaces/fork/mapping/mapping-store' +import type { ForkEdge } from '@/ee/workspace-forking/lib/lineage/lineage' +import type { ForkMappingUpsert } from '@/ee/workspace-forking/lib/mapping/mapping-store' import { augmentForkResolver, buildPromoteCopySelection, @@ -48,9 +48,9 @@ import { FORK_COPYABLE_KIND_TO_SELECTION_KEY, hasPromoteCopySelection, persistPromoteCopiedMappings, -} from '@/lib/workspaces/fork/promote/copy-unmapped' -import { isForkCopyableKind } from '@/lib/workspaces/fork/promote/promote-plan' -import type { ForkRemapKind } from '@/lib/workspaces/fork/remap/remap-references' +} from '@/ee/workspace-forking/lib/promote/copy-unmapped' +import { isForkCopyableKind } from '@/ee/workspace-forking/lib/promote/promote-plan' +import type { ForkRemapKind } from '@/ee/workspace-forking/lib/remap/remap-references' const candidates: ForkCopyableUnmapped[] = [ { @@ -197,6 +197,7 @@ describe('hasPromoteCopySelection', () => { tables: [], knowledgeBases: ['kb-1'], files: [], + mcpServers: [], }) ).toBe(true) expect( @@ -206,6 +207,7 @@ describe('hasPromoteCopySelection', () => { tables: [], knowledgeBases: [], files: [], + mcpServers: [], }) ).toBe(false) expect( @@ -215,6 +217,7 @@ describe('hasPromoteCopySelection', () => { tables: [], knowledgeBases: [], files: ['workspace/SRC/file.png'], + mcpServers: [], }) ).toBe(true) }) @@ -306,6 +309,7 @@ describe('copyPromoteUnmappedResources - files + folder content-refs', () => { knowledgeBases: [], customTools: [], skills: [], + mcpServers: [], workflowMcpServers: [], }, }) @@ -402,6 +406,7 @@ describe('copyPromoteUnmappedResources - files + folder content-refs', () => { knowledgeBases: [], customTools: [], skills: [], + mcpServers: [], workflowMcpServers: [], }, }) @@ -453,6 +458,7 @@ describe('copyPromoteUnmappedResources - files + folder content-refs', () => { tables: [], knowledgeBases: ['kb-1'], files: [], + mcpServers: [], }, workflowIdMap: new Map(), folderIdMap: new Map(), @@ -467,8 +473,8 @@ describe('copyPromoteUnmappedResources - files + folder content-refs', () => { expect.objectContaining({ referencedDocumentIds: ['doc-1', 'doc-2'], // Workflow-publishing MCP servers are fork-create-only; a sync always passes the - // shared pipeline's slot empty (PromoteCopySelection has no such field). - selection: expect.objectContaining({ workflowMcpServers: [] }), + // shared pipeline's slot empty. External MCP servers flow through the selection. + selection: expect.objectContaining({ mcpServers: [], workflowMcpServers: [] }), // The promote-built block-id resolver reaches the table remap unchanged, so copied // tables' workflow-group outputs use the persisted-pair ids, not the derive. resolveBlockId, @@ -491,12 +497,7 @@ describe('fork copyable kind drift', () => { for (const kind of forkCopyableKindSchema.options) { expect(isForkCopyableKind(kind)).toBe(true) } - const nonCopyable: ForkRemapKind[] = [ - 'credential', - 'env-var', - 'knowledge-document', - 'mcp-server', - ] + const nonCopyable: ForkRemapKind[] = ['credential', 'env-var', 'knowledge-document'] for (const kind of nonCopyable) { expect(isForkCopyableKind(kind)).toBe(false) } diff --git a/apps/sim/lib/workspaces/fork/promote/copy-unmapped.ts b/apps/sim/ee/workspace-forking/lib/promote/copy-unmapped.ts similarity index 92% rename from apps/sim/lib/workspaces/fork/promote/copy-unmapped.ts rename to apps/sim/ee/workspace-forking/lib/promote/copy-unmapped.ts index cf1d33d56c8..40b5fcaba49 100644 --- a/apps/sim/lib/workspaces/fork/promote/copy-unmapped.ts +++ b/apps/sim/ee/workspace-forking/lib/promote/copy-unmapped.ts @@ -7,25 +7,25 @@ import type { DbOrTx } from '@/lib/db/types' import { type SerializableForkContentRefMaps, serializeContentRefMaps, -} from '@/lib/workspaces/fork/copy/content-copy-runner' -import { type BlobCopyTask, planForkFileCopies } from '@/lib/workspaces/fork/copy/copy-files' -import type { ForkContentPlan } from '@/lib/workspaces/fork/copy/copy-resources' +} from '@/ee/workspace-forking/lib/copy/content-copy-runner' +import { type BlobCopyTask, planForkFileCopies } from '@/ee/workspace-forking/lib/copy/copy-files' +import type { ForkContentPlan } from '@/ee/workspace-forking/lib/copy/copy-resources' import { copyForkResourceContainers, planForkMappedKbDocumentCopies, -} from '@/lib/workspaces/fork/copy/copy-resources' -import type { ForkEdge } from '@/lib/workspaces/fork/lineage/lineage' +} from '@/ee/workspace-forking/lib/copy/copy-resources' +import type { ForkEdge } from '@/ee/workspace-forking/lib/lineage/lineage' import { deleteEdgeMappingsByChildResources, type ForkMappingUpsert, resourceTypeToForkKind, upsertEdgeMappings, -} from '@/lib/workspaces/fork/mapping/mapping-store' -import type { ForkBlockIdResolver } from '@/lib/workspaces/fork/remap/block-identity' +} from '@/ee/workspace-forking/lib/mapping/mapping-store' +import type { ForkBlockIdResolver } from '@/ee/workspace-forking/lib/remap/block-identity' import type { ForkReferenceResolver, ForkRemapKind, -} from '@/lib/workspaces/fork/remap/remap-references' +} from '@/ee/workspace-forking/lib/remap/remap-references' /** * The source ids selected for copy at promote, validated against the plan's copyable @@ -39,6 +39,8 @@ export interface PromoteCopySelection { knowledgeBases: string[] /** Workspace files to copy, identified by storage key (not `workspace_files.id`). */ files: string[] + /** External MCP servers to copy as config rows (OAuth tokens never copied - re-auth). */ + mcpServers: string[] } /** @@ -55,6 +57,7 @@ export const FORK_COPYABLE_KIND_TO_SELECTION_KEY: Record< 'custom-tool': 'customTools', skill: 'skills', file: 'files', + 'mcp-server': 'mcpServers', } /** @@ -80,6 +83,7 @@ export function buildPromoteCopySelection( tables: [], knowledgeBases: [], files: [], + mcpServers: [], } const willResolve = new Set() const apply = ( @@ -100,6 +104,7 @@ export function buildPromoteCopySelection( apply('custom-tool', requested?.customTools) apply('skill', requested?.skills) apply('file', requested?.files) + apply('mcp-server', requested?.mcpServers) return { selection, willResolve } } @@ -110,7 +115,8 @@ export function hasPromoteCopySelection(selection: PromoteCopySelection): boolea selection.skills.length > 0 || selection.tables.length > 0 || selection.knowledgeBases.length > 0 || - selection.files.length > 0 + selection.files.length > 0 || + selection.mcpServers.length > 0 ) } @@ -211,8 +217,9 @@ export async function copyPromoteUnmappedResources(params: { selection: { customTools: selection.customTools, skills: selection.skills, - // Workflow-publishing MCP servers are fork-create-only (never a sync-copy candidate); - // the shared copy pipeline still takes the slot, so pass it empty. + // External MCP servers copy as config rows (like fork); workflow-publishing MCP servers + // are fork-create-only shells (the shared pipeline still takes the slot - pass it empty). + mcpServers: selection.mcpServers, workflowMcpServers: [], tables: selection.tables, knowledgeBases: selection.knowledgeBases, diff --git a/apps/sim/lib/workspaces/fork/promote/promote-plan.test.ts b/apps/sim/ee/workspace-forking/lib/promote/promote-plan.test.ts similarity index 97% rename from apps/sim/lib/workspaces/fork/promote/promote-plan.test.ts rename to apps/sim/ee/workspace-forking/lib/promote/promote-plan.test.ts index f01e4d44a35..ab5b51948a5 100644 --- a/apps/sim/lib/workspaces/fork/promote/promote-plan.test.ts +++ b/apps/sim/ee/workspace-forking/lib/promote/promote-plan.test.ts @@ -5,14 +5,14 @@ import { describe, expect, it } from 'vitest' import type { ForkCopyableLabel, ForkCopyableSourceResource, -} from '@/lib/workspaces/fork/mapping/resources' +} from '@/ee/workspace-forking/lib/mapping/resources' import { assembleForkCopyableUnmapped, buildPromoteWorkflowIdMap, collectForkCopyableIdsByKind, collectForkUnreferencedCopyables, -} from '@/lib/workspaces/fork/promote/promote-plan' -import type { ForkReference } from '@/lib/workspaces/fork/remap/remap-references' +} from '@/ee/workspace-forking/lib/promote/promote-plan' +import type { ForkReference } from '@/ee/workspace-forking/lib/remap/remap-references' const ref = (kind: ForkReference['kind'], sourceId: string): ForkReference => ({ kind, diff --git a/apps/sim/lib/workspaces/fork/promote/promote-plan.ts b/apps/sim/ee/workspace-forking/lib/promote/promote-plan.ts similarity index 95% rename from apps/sim/lib/workspaces/fork/promote/promote-plan.ts rename to apps/sim/ee/workspace-forking/lib/promote/promote-plan.ts index 32289c204fd..5f3a773a1b4 100644 --- a/apps/sim/lib/workspaces/fork/promote/promote-plan.ts +++ b/apps/sim/ee/workspace-forking/lib/promote/promote-plan.ts @@ -3,14 +3,14 @@ import { generateId } from '@sim/utils/id' import { and, eq, isNull } from 'drizzle-orm' import { type ForkCopyableKind, forkCopyableKindSchema } from '@/lib/api/contracts/workspace-fork' import type { DbOrTx } from '@/lib/db/types' -import type { DeployedWorkflowSummary } from '@/lib/workspaces/fork/copy/deploy-bridge' -import type { ForkEdge } from '@/lib/workspaces/fork/lineage/lineage' -import { detectForkCascadeReferences } from '@/lib/workspaces/fork/mapping/cascade' +import type { DeployedWorkflowSummary } from '@/ee/workspace-forking/lib/copy/deploy-bridge' +import type { ForkEdge } from '@/ee/workspace-forking/lib/lineage/lineage' +import { detectForkCascadeReferences } from '@/ee/workspace-forking/lib/mapping/cascade' import { buildForkResolver, getEdgeMappingRows, resourceTypeToForkKind, -} from '@/lib/workspaces/fork/mapping/mapping-store' +} from '@/ee/workspace-forking/lib/mapping/mapping-store' import { type ForkCopyableLabel, type ForkCopyableSourceResource, @@ -18,14 +18,14 @@ import { getWorkspaceEnvKeys, listForkCopyableSourceResources, loadForkCopyableResourceLabels, -} from '@/lib/workspaces/fork/mapping/resources' -import { toScannerBlocks } from '@/lib/workspaces/fork/remap/reference-scan' +} from '@/ee/workspace-forking/lib/mapping/resources' +import { toScannerBlocks } from '@/ee/workspace-forking/lib/remap/reference-scan' import { type ForkReference, type ForkReferenceResolver, type ForkRemapKind, scanWorkflowReferences, -} from '@/lib/workspaces/fork/remap/remap-references' +} from '@/ee/workspace-forking/lib/remap/remap-references' import type { WorkflowState } from '@/stores/workflows/workflow/types' export interface ForkPromotePlanItem { @@ -39,6 +39,8 @@ export interface ForkPromotePlanItem { description: string | null folderId: string | null sortOrder: number + /** Source's public-API flag, carried onto the written target (see copyWorkflowStateIntoTarget). */ + isPublicApi: boolean } } @@ -305,6 +307,7 @@ export async function computeForkPromotePlan(params: { description: source.description, folderId: source.folderId, sortOrder: source.sortOrder, + isPublicApi: source.isPublicApi, }, }) diff --git a/apps/sim/lib/workspaces/fork/promote/promote-run-store.ts b/apps/sim/ee/workspace-forking/lib/promote/promote-run-store.ts similarity index 100% rename from apps/sim/lib/workspaces/fork/promote/promote-run-store.ts rename to apps/sim/ee/workspace-forking/lib/promote/promote-run-store.ts diff --git a/apps/sim/lib/workspaces/fork/promote/promote.test.ts b/apps/sim/ee/workspace-forking/lib/promote/promote.test.ts similarity index 54% rename from apps/sim/lib/workspaces/fork/promote/promote.test.ts rename to apps/sim/ee/workspace-forking/lib/promote/promote.test.ts index e9b2a4f7d5b..efafe557fb6 100644 --- a/apps/sim/lib/workspaces/fork/promote/promote.test.ts +++ b/apps/sim/ee/workspace-forking/lib/promote/promote.test.ts @@ -48,70 +48,103 @@ vi.mock('@/lib/workflows/orchestration/deploy', () => ({ vi.mock('@/lib/workflows/persistence/utils', () => ({ undeployWorkflow: vi.fn(async () => ({ success: true })), })) -vi.mock('@/lib/workspaces/fork/background-work/store', () => ({ +vi.mock('@/ee/workspace-forking/lib/background-work/store', () => ({ startBackgroundWork: vi.fn(), })) -vi.mock('@/lib/workspaces/fork/copy/content-copy-runner', () => ({ +vi.mock('@/ee/workspace-forking/lib/copy/content-copy-runner', () => ({ hasForkContentToCopy: vi.fn(() => false), scheduleForkContentCopy: vi.fn(), })) -vi.mock('@/lib/workspaces/fork/copy/copy-workflows', () => ({ +vi.mock('@/ee/workspace-forking/lib/copy/copy-workflows', () => ({ copyWorkflowStateIntoTarget: vi.fn(), loadTargetDraftSubBlocks: vi.fn(async () => new Map()), loadWorkflowNameRegistry: vi.fn(async () => new Map()), resolveForkFolderMapping: mockResolveFolderMapping, })) -vi.mock('@/lib/workspaces/fork/copy/storage-quota', () => ({ +vi.mock('@/ee/workspace-forking/lib/copy/storage-quota', () => ({ sumForkCopyBytes: mockSumForkCopyBytes, assertForkStorageHeadroom: mockAssertForkStorageHeadroom, })) -vi.mock('@/lib/workspaces/fork/copy/deploy-bridge', () => ({ +vi.mock('@/ee/workspace-forking/lib/copy/deploy-bridge', () => ({ getActiveDeploymentVersionNumbers: vi.fn(async () => new Map()), loadSourceDeployedStates: mockLoadSourceDeployedStates, })) -vi.mock('@/lib/workspaces/fork/lineage/lineage', () => ({ +vi.mock('@/ee/workspace-forking/lib/lineage/lineage', () => ({ acquireForkEdgeLock: vi.fn(), acquireForkTargetLock: vi.fn(), setForkLockTimeout: vi.fn(), })) -vi.mock('@/lib/workspaces/fork/mapping/block-map-store', () => ({ +vi.mock('@/ee/workspace-forking/lib/mapping/block-map-store', () => ({ loadForkBlockMap: mockLoadBlockMap, reconcileForkBlockPairs: vi.fn(), toForkBlockPairs: vi.fn(() => []), })) -vi.mock('@/lib/workspaces/fork/mapping/dependent-value-store', () => ({ +vi.mock('@/ee/workspace-forking/lib/mapping/dependent-value-store', () => ({ loadForkDependentValues: vi.fn(async () => []), reconcileForkDependentValues: vi.fn(), + // Faithful mirror of the real pure translation (unit-tested in dependent-value-store.test.ts), + // so promote's apply/reconcile paths exercise the actual source-doc-id rewrite. + translateForkDependentValues: vi.fn( + ( + values: Array<{ value: string }>, + resolve: (kind: string, sourceId: string) => string | null | undefined + ) => + values.map((entry) => { + if (entry.value === '') return entry + const translated = resolve('knowledge-document', entry.value) + return translated != null && translated !== entry.value + ? { ...entry, value: translated } + : entry + }) + ), })) -vi.mock('@/lib/workspaces/fork/mapping/mapping-store', () => ({ +vi.mock('@/ee/workspace-forking/lib/mapping/mapping-store', () => ({ deleteWorkflowIdentityByIds: vi.fn(), upsertEdgeMappings: vi.fn(), })) -vi.mock('@/lib/workspaces/fork/promote/cleared-refs', () => ({ +vi.mock('@/ee/workspace-forking/lib/promote/cleared-refs', () => ({ collectForkSyncBlockers: mockCollectBlockers, })) -vi.mock('@/lib/workspaces/fork/promote/copy-unmapped', () => ({ - augmentForkResolver: vi.fn((base) => base), +vi.mock('@/ee/workspace-forking/lib/promote/copy-unmapped', () => ({ + // Faithful mirror of the real overlay so a copy's id maps resolve through the augmented + // resolver (the dependent-value translation and MCP meta read depend on it). + augmentForkResolver: vi.fn( + ( + base: (kind: string, sourceId: string) => string | null | undefined, + extra: Map> + ) => + (kind: string, sourceId: string) => + extra.get(kind)?.get(sourceId) ?? base(kind, sourceId) + ), buildPromoteCopySelection: mockBuildCopySelection, copyPromoteUnmappedResources: mockCopyUnmapped, hasPromoteCopySelection: mockHasCopySelection, })) -vi.mock('@/lib/workspaces/fork/promote/promote-plan', () => ({ +vi.mock('@/ee/workspace-forking/lib/promote/promote-plan', () => ({ computeForkPromotePlan: mockComputePlan, })) -vi.mock('@/lib/workspaces/fork/promote/promote-run-store', () => ({ +vi.mock('@/ee/workspace-forking/lib/copy/copy-chats', () => ({ + copyForkChatDeployments: vi.fn(async () => ({ created: 0 })), +})) +vi.mock('@/ee/workspace-forking/lib/copy/workflow-mcp-attachments', () => ({ + reconcileForkWorkflowMcpAttachments: vi.fn(async () => ({ affectedServerIds: [] })), +})) +vi.mock('@/lib/mcp/workflow-mcp-sync', () => ({ + notifyMcpToolServers: vi.fn(), +})) +vi.mock('@/ee/workspace-forking/lib/promote/promote-run-store', () => ({ upsertPromoteRun: mockUpsertPromoteRun, })) -vi.mock('@/lib/workspaces/fork/mapping/resources', () => ({ +vi.mock('@/ee/workspace-forking/lib/mapping/resources', () => ({ getMcpServerMetaByIds: mockGetMcpServerMeta, })) -vi.mock('@/lib/workspaces/fork/remap/block-identity', () => ({ +vi.mock('@/ee/workspace-forking/lib/remap/block-identity', () => ({ buildForkBlockIdResolver: mockBuildBlockIdResolver, })) -vi.mock('@/lib/workspaces/fork/remap/remap-references', () => ({ +vi.mock('@/ee/workspace-forking/lib/remap/remap-references', () => ({ createForkSubBlockTransform: mockCreateTransform, })) -vi.mock('@/lib/workspaces/fork/socket', () => ({ +vi.mock('@/ee/workspace-forking/lib/socket', () => ({ notifyForkWorkflowChanged: vi.fn(), })) vi.mock('@/lib/workspaces/permissions/utils', () => ({ @@ -119,8 +152,10 @@ vi.mock('@/lib/workspaces/permissions/utils', () => ({ })) import { db } from '@sim/db' -import { promoteFork } from '@/lib/workspaces/fork/promote/promote' -import type { ForkPromotePlan } from '@/lib/workspaces/fork/promote/promote-plan' +import { copyWorkflowStateIntoTarget } from '@/ee/workspace-forking/lib/copy/copy-workflows' +import { reconcileForkDependentValues } from '@/ee/workspace-forking/lib/mapping/dependent-value-store' +import { promoteFork } from '@/ee/workspace-forking/lib/promote/promote' +import type { ForkPromotePlan } from '@/ee/workspace-forking/lib/promote/promote-plan' const EDGE = { childWorkspaceId: 'child-ws', parentWorkspaceId: 'parent-ws' } @@ -176,34 +211,52 @@ function promoteParams() { } } -describe('promoteFork gates', () => { - beforeEach(() => { - vi.clearAllMocks() - vi.mocked(db.transaction).mockImplementation( - async (cb: (tx: unknown) => unknown) => cb({}) as never - ) - mockGetUsersWithPermissions.mockResolvedValue([]) - mockLoadSourceDeployedStates.mockResolvedValue({ - deployedWorkflows: [], - sourceStates: new Map(), - }) - mockComputePlan.mockResolvedValue(makePlan()) - mockBuildCopySelection.mockReturnValue({ - selection: EMPTY_SELECTION, - willResolve: new Set(), - }) - mockHasCopySelection.mockReturnValue(false) - mockCollectBlockers.mockResolvedValue([]) - mockLoadBlockMap.mockResolvedValue(new Map()) - mockBuildBlockIdResolver.mockReturnValue((_wf: string, blockId: string) => blockId) - mockResolveFolderMapping.mockResolvedValue(new Map()) - mockUpsertPromoteRun.mockResolvedValue('run-1') - mockGetMcpServerMeta.mockResolvedValue(new Map()) - mockCreateTransform.mockReturnValue((subBlocks: unknown) => subBlocks) - mockSumForkCopyBytes.mockResolvedValue(0) - mockAssertForkStorageHeadroom.mockResolvedValue(undefined) +/** A copy result carrying no content/id maps, for tests that only need the copy to run. */ +function emptyCopyResult() { + return { + contentPlan: { + sourceWorkspaceId: 'src-ws', + childWorkspaceId: 'tgt-ws', + userId: 'user-1', + tables: [], + knowledgeBases: [], + skills: [], + documents: [], + }, + copyIdMapByKind: new Map(), + contentRefMaps: {}, + blobTasks: [], + } +} + +beforeEach(() => { + vi.clearAllMocks() + vi.mocked(db.transaction).mockImplementation( + async (cb: (tx: unknown) => unknown) => cb({}) as never + ) + mockGetUsersWithPermissions.mockResolvedValue([]) + mockLoadSourceDeployedStates.mockResolvedValue({ + deployedWorkflows: [], + sourceStates: new Map(), }) + mockComputePlan.mockResolvedValue(makePlan()) + mockBuildCopySelection.mockReturnValue({ + selection: EMPTY_SELECTION, + willResolve: new Set(), + }) + mockHasCopySelection.mockReturnValue(false) + mockCollectBlockers.mockResolvedValue([]) + mockLoadBlockMap.mockResolvedValue(new Map()) + mockBuildBlockIdResolver.mockReturnValue((_wf: string, blockId: string) => blockId) + mockResolveFolderMapping.mockResolvedValue(new Map()) + mockUpsertPromoteRun.mockResolvedValue('run-1') + mockGetMcpServerMeta.mockResolvedValue(new Map()) + mockCreateTransform.mockReturnValue((subBlocks: unknown) => subBlocks) + mockSumForkCopyBytes.mockResolvedValue(0) + mockAssertForkStorageHeadroom.mockResolvedValue(undefined) +}) +describe('promoteFork gates', () => { it('blocks an over-quota copy selection before any lock, read, or write', async () => { mockSumForkCopyBytes.mockResolvedValue(999_999) mockAssertForkStorageHeadroom.mockRejectedValue( @@ -399,3 +452,171 @@ describe('promoteFork gates', () => { expect(transformOptions.resolveMcpServerMeta('srv-unknown')).toBeUndefined() }) }) + +describe('promoteFork dependent values', () => { + it('unions the dependent-value picks into the copy discovery set (a re-picked document must be copied)', async () => { + mockComputePlan.mockResolvedValue( + makePlan({ + references: [ + { + kind: 'knowledge-document', + sourceId: 'doc-a', + subBlockKey: 'documentSelector', + required: false, + }, + ], + }) + ) + // No container selection: the document candidates alone must trigger the copy pass. + mockHasCopySelection.mockReturnValue(false) + mockCopyUnmapped.mockResolvedValue(emptyCopyResult()) + + await promoteFork({ + ...promoteParams(), + dependentValues: [ + // Duplicates the plan's own scan -> deduped. + { workflowId: 'wf-t', blockId: 'b1', subBlockKey: 'documentSelector', value: 'doc-a' }, + // A fresh pick the source state does not reference -> must join the discovery set. + { workflowId: 'wf-t', blockId: 'b2', subBlockKey: 'documentSelector', value: 'doc-b' }, + // Cleared values are skipped; non-document values ride along (DB-filtered downstream). + { workflowId: 'wf-t', blockId: 'b3', subBlockKey: 'folder', value: '' }, + { workflowId: 'wf-t', blockId: 'b4', subBlockKey: 'folder', value: 'INBOX' }, + ], + }) + + expect(mockCopyUnmapped).toHaveBeenCalledTimes(1) + expect(mockCopyUnmapped.mock.calls[0][0].referencedDocumentIds).toEqual([ + 'doc-a', + 'doc-b', + 'INBOX', + ]) + }) + + it('translates a source document id under a copy-resolved KB for BOTH the written state and the store', async () => { + const item = { + sourceWorkflowId: 'wf-src', + targetWorkflowId: 'wf-tgt', + targetName: 'Flow', + mode: 'replace' as const, + sourceMeta: { name: 'Flow', description: null, folderId: null, sortOrder: 0 }, + } + mockComputePlan.mockResolvedValue(makePlan({ items: [item] })) + mockLoadSourceDeployedStates.mockResolvedValue({ + deployedWorkflows: [], + sourceStates: new Map([ + ['wf-src', { blocks: {}, edges: [], loops: {}, parallels: {}, variables: {} }], + ]), + }) + // The KB is copy-selected; the copy assigns the picked source document its copied id. + mockHasCopySelection.mockReturnValue(true) + mockCopyUnmapped.mockResolvedValue({ + ...emptyCopyResult(), + copyIdMapByKind: new Map([['knowledge-document', new Map([['doc-src', 'doc-copy']])]]), + }) + vi.mocked(copyWorkflowStateIntoTarget).mockResolvedValue({ + targetWorkflowId: 'wf-tgt', + mode: 'replace', + name: 'Flow', + blocksCount: 0, + edgesCount: 0, + subflowsCount: 0, + clearedDependents: [], + blockIdMapping: new Map(), + }) + + const result = await promoteFork({ + ...promoteParams(), + copyResources: { knowledgeBases: ['kb-src'] }, + dependentValues: [ + { + workflowId: 'wf-tgt', + blockId: 'blk-1', + subBlockKey: 'documentSelector', + value: 'doc-src', + }, + ], + }) + + expect(result.blocked).toBeNull() + // The apply map the workflow write receives carries the COPIED id: the dependent-value + // apply runs AFTER the reference remap and wins for its subblock, so a raw source id + // would clobber the remapped value in the written state. + expect(vi.mocked(copyWorkflowStateIntoTarget)).toHaveBeenCalledTimes(1) + const writeParams = vi.mocked(copyWorkflowStateIntoTarget).mock.calls[0][0] + expect(writeParams.dependentOverrides?.get('blk-1')?.get('documentSelector')).toBe('doc-copy') + // The store persists the translated value too, so the next sync (whose parent is then + // MAPPED via the persisted copy mapping) pre-fills a document id that resolves in the target. + expect(vi.mocked(reconcileForkDependentValues)).toHaveBeenCalledWith( + expect.anything(), + 'child-ws', + ['wf-tgt'], + [ + { + targetWorkflowId: 'wf-tgt', + targetBlockId: 'blk-1', + subBlockKey: 'documentSelector', + value: 'doc-copy', + }, + ] + ) + }) + + it('keeps a mapped parent dependent value verbatim (a target-space value never re-translates)', async () => { + const item = { + sourceWorkflowId: 'wf-src', + targetWorkflowId: 'wf-tgt', + targetName: 'Flow', + mode: 'replace' as const, + sourceMeta: { name: 'Flow', description: null, folderId: null, sortOrder: 0 }, + } + mockComputePlan.mockResolvedValue(makePlan({ items: [item] })) + mockLoadSourceDeployedStates.mockResolvedValue({ + deployedWorkflows: [], + sourceStates: new Map([ + ['wf-src', { blocks: {}, edges: [], loops: {}, parallels: {}, variables: {} }], + ]), + }) + // The value joins the discovery candidates, so the copy pass runs - and resolves nothing. + mockCopyUnmapped.mockResolvedValue(emptyCopyResult()) + vi.mocked(copyWorkflowStateIntoTarget).mockResolvedValue({ + targetWorkflowId: 'wf-tgt', + mode: 'replace', + name: 'Flow', + blocksCount: 0, + edgesCount: 0, + subflowsCount: 0, + clearedDependents: [], + blockIdMapping: new Map(), + }) + + await promoteFork({ + ...promoteParams(), + dependentValues: [ + { + workflowId: 'wf-tgt', + blockId: 'blk-1', + subBlockKey: 'documentSelector', + value: 'doc-tgt-existing', + }, + ], + }) + + const writeParams = vi.mocked(copyWorkflowStateIntoTarget).mock.calls[0][0] + expect(writeParams.dependentOverrides?.get('blk-1')?.get('documentSelector')).toBe( + 'doc-tgt-existing' + ) + expect(vi.mocked(reconcileForkDependentValues)).toHaveBeenCalledWith( + expect.anything(), + 'child-ws', + ['wf-tgt'], + [ + { + targetWorkflowId: 'wf-tgt', + targetBlockId: 'blk-1', + subBlockKey: 'documentSelector', + value: 'doc-tgt-existing', + }, + ] + ) + }) +}) diff --git a/apps/sim/lib/workspaces/fork/promote/promote.ts b/apps/sim/ee/workspace-forking/lib/promote/promote.ts similarity index 77% rename from apps/sim/lib/workspaces/fork/promote/promote.ts rename to apps/sim/ee/workspace-forking/lib/promote/promote.ts index c475e8f7d25..6992a59ed1e 100644 --- a/apps/sim/lib/workspaces/fork/promote/promote.ts +++ b/apps/sim/ee/workspace-forking/lib/promote/promote.ts @@ -1,86 +1,91 @@ import { db } from '@sim/db' -import { credential, credentialMember, workflow } from '@sim/db/schema' +import { chat, credential, credentialMember, workflow, workspace } from '@sim/db/schema' import { createLogger } from '@sim/logger' import { getErrorMessage } from '@sim/utils/errors' import { generateId } from '@sim/utils/id' -import { and, eq, inArray } from 'drizzle-orm' +import { and, eq, inArray, isNull } from 'drizzle-orm' import type { ForkSyncBlocker, PromoteCopyResources } from '@/lib/api/contracts/workspace-fork' import type { DbOrTx } from '@/lib/db/types' +import { notifyMcpToolServers } from '@/lib/mcp/workflow-mcp-sync' import { enqueueWorkflowUndeploySideEffects, processWorkflowDeploymentOutboxEvent, } from '@/lib/workflows/deployment-outbox' import { performFullDeploy } from '@/lib/workflows/orchestration/deploy' import { undeployWorkflow } from '@/lib/workflows/persistence/utils' -import { startBackgroundWork } from '@/lib/workspaces/fork/background-work/store' +import { getUsersWithPermissions } from '@/lib/workspaces/permissions/utils' +import { startBackgroundWork } from '@/ee/workspace-forking/lib/background-work/store' import { type ForkContentCopyPayload, hasForkContentToCopy, type SerializableForkContentRefMaps, scheduleForkContentCopy, -} from '@/lib/workspaces/fork/copy/content-copy-runner' -import type { BlobCopyTask } from '@/lib/workspaces/fork/copy/copy-files' -import type { ForkContentPlan } from '@/lib/workspaces/fork/copy/copy-resources' +} from '@/ee/workspace-forking/lib/copy/content-copy-runner' +import { copyForkChatDeployments } from '@/ee/workspace-forking/lib/copy/copy-chats' +import type { BlobCopyTask } from '@/ee/workspace-forking/lib/copy/copy-files' +import type { ForkContentPlan } from '@/ee/workspace-forking/lib/copy/copy-resources' import { copyWorkflowStateIntoTarget, loadTargetDraftSubBlocks, loadWorkflowNameRegistry, resolveForkFolderMapping, -} from '@/lib/workspaces/fork/copy/copy-workflows' +} from '@/ee/workspace-forking/lib/copy/copy-workflows' import { getActiveDeploymentVersionNumbers, loadSourceDeployedStates, -} from '@/lib/workspaces/fork/copy/deploy-bridge' +} from '@/ee/workspace-forking/lib/copy/deploy-bridge' import { assertForkStorageHeadroom, sumForkCopyBytes, -} from '@/lib/workspaces/fork/copy/storage-quota' +} from '@/ee/workspace-forking/lib/copy/storage-quota' +import { reconcileForkWorkflowMcpAttachments } from '@/ee/workspace-forking/lib/copy/workflow-mcp-attachments' import { acquireForkEdgeLock, acquireForkTargetLock, type ForkEdge, setForkLockTimeout, -} from '@/lib/workspaces/fork/lineage/lineage' +} from '@/ee/workspace-forking/lib/lineage/lineage' import { type ForkBlockPair, loadForkBlockMap, reconcileForkBlockPairs, toForkBlockPairs, -} from '@/lib/workspaces/fork/mapping/block-map-store' +} from '@/ee/workspace-forking/lib/mapping/block-map-store' import { type ForkDependentValue, loadForkDependentValues, reconcileForkDependentValues, -} from '@/lib/workspaces/fork/mapping/dependent-value-store' + translateForkDependentValues, +} from '@/ee/workspace-forking/lib/mapping/dependent-value-store' import { deleteWorkflowIdentityByIds, type ForkMappingUpsert, upsertEdgeMappings, -} from '@/lib/workspaces/fork/mapping/mapping-store' -import { getMcpServerMetaByIds } from '@/lib/workspaces/fork/mapping/resources' -import { collectForkSyncBlockers } from '@/lib/workspaces/fork/promote/cleared-refs' +} from '@/ee/workspace-forking/lib/mapping/mapping-store' +import { getMcpServerMetaByIds } from '@/ee/workspace-forking/lib/mapping/resources' +import { collectForkSyncBlockers } from '@/ee/workspace-forking/lib/promote/cleared-refs' import { augmentForkResolver, buildPromoteCopySelection, copyPromoteUnmappedResources, hasPromoteCopySelection, -} from '@/lib/workspaces/fork/promote/copy-unmapped' +} from '@/ee/workspace-forking/lib/promote/copy-unmapped' import { computeForkPromotePlan, type ForkPromotePlan, -} from '@/lib/workspaces/fork/promote/promote-plan' +} from '@/ee/workspace-forking/lib/promote/promote-plan' import { type PromoteRunWorkflowSnapshot, upsertPromoteRun, -} from '@/lib/workspaces/fork/promote/promote-run-store' -import { buildForkBlockIdResolver } from '@/lib/workspaces/fork/remap/block-identity' +} from '@/ee/workspace-forking/lib/promote/promote-run-store' +import { buildForkBlockIdResolver } from '@/ee/workspace-forking/lib/remap/block-identity' import { createForkSubBlockTransform, type ForkReference, type ForkReferenceResolver, -} from '@/lib/workspaces/fork/remap/remap-references' -import { notifyForkWorkflowChanged } from '@/lib/workspaces/fork/socket' -import { getUsersWithPermissions } from '@/lib/workspaces/permissions/utils' + type ForkRemapKind, +} from '@/ee/workspace-forking/lib/remap/remap-references' +import { notifyForkWorkflowChanged } from '@/ee/workspace-forking/lib/socket' const logger = createLogger('WorkspaceForkPromote') @@ -90,6 +95,8 @@ export interface PromoteForkParams { targetWorkspaceId: string direction: 'push' | 'pull' userId: string + /** Initiator's display name, stamped on the sync's content-copy Activity row. */ + actorName?: string /** * The full stored mapping of dependent-field values the caller is committing (target * workflow id + deterministic block id + subblock key -> value). Applied to the target @@ -306,13 +313,14 @@ interface PromoteTxApplied { copyContentRefMaps: SerializableForkContentRefMaps | null /** File blob duplications for copied workspace files, run post-commit by the content-copy runner. */ copyContentBlobTasks: BlobCopyTask[] + /** Workflow-publishing MCP servers whose tool attachments changed, notified post-commit. */ + mcpAttachmentServerIds: string[] } /** * Group flat dependent values into the apply map `target workflow -> block id -> subblock -> value` - * that {@link copyWorkflowStateIntoTarget} consumes. Pure (no DB), so the provided-value path can - * build it before the transaction (it doesn't depend on the plan); the omitted path feeds it the - * loaded store rows inside the tx, where the plan's replace targets are known. + * that {@link copyWorkflowStateIntoTarget} consumes. Pure (no DB). Built inside the tx from the + * TRANSLATED values (see {@link translateForkDependentValues}) once the post-copy resolver exists. */ function groupDependentOverrides( values: ForkDependentValue[] @@ -352,20 +360,20 @@ export async function promoteFork(params: PromoteForkParams): Promise ({ - targetWorkflowId: entry.workflowId, - targetBlockId: entry.blockId, - subBlockKey: entry.subBlockKey, - value: entry.value, - })) - ) + const providedDependentValues: ForkDependentValue[] | null = dependentValuesProvided + ? (params.dependentValues ?? []).map((entry) => ({ + targetWorkflowId: entry.workflowId, + targetBlockId: entry.blockId, + subBlockKey: entry.subBlockKey, + value: entry.value, + })) : null // Copied blob bytes (selected workspace files + selected KBs' document blobs) are @@ -383,6 +391,15 @@ export async function promoteFork(params: PromoteForkParams): Promise m.userId) + // The target workspace's display name seeds carried chat identifiers + // (`{target-workspace}-{workflow}-{randomnum}`); read pre-tx like the other lookups. + const [targetWorkspaceRow] = await db + .select({ name: workspace.name }) + .from(workspace) + .where(eq(workspace.id, targetWorkspaceId)) + .limit(1) + const targetWorkspaceName = targetWorkspaceRow?.name ?? 'workspace' + // Read the source's deployed workflows + states BEFORE the transaction so these // heavy per-workflow reads never check out a second pooled connection from inside // the promote tx (which can deadlock the pool at saturation). The source is @@ -490,15 +507,37 @@ export async function promoteFork(params: PromoteForkParams): Promise reference.kind === 'knowledge-document') - .map((reference) => reference.sourceId) + // Every dependent value this sync will apply, as flat store rows: the provided payload, or + // (omitted) the persisted store for the plan's targets - loaded here, BEFORE the copy, so + // document picks can join the copy's discovery set below. The apply map + reconcile further + // down consume these after translating them through the post-copy resolver. + const flatDependentValues = + providedDependentValues ?? + (await loadForkDependentValues( + tx, + edge.childWorkspaceId, + plan.items.map((item) => item.targetWorkflowId) + )) + + // Knowledge-document ids the synced workflows reference, from the plan's already-scanned + // references (never a re-scan inside this locked tx) - UNIONED with the dependent-value + // picks: a document re-picked in the sync page's reconfigure selector under a copy-resolved + // KB isn't referenced by the source STATE, but must still be copied so the applied pick + // resolves in the target. Non-document values ride along harmlessly: every consumer filters + // candidates through `inArray(document.id, ...)`, so a label or column id matches no row. + const referencedDocumentIds = [ + ...new Set([ + ...plan.references + .filter((reference) => reference.kind === 'knowledge-document') + .map((reference) => reference.sourceId), + ...flatDependentValues.map((entry) => entry.value).filter((value) => value !== ''), + ]), + ] // Run the copy when the user selected resources to copy OR any document is referenced (a // referenced document under an already-mapped KB is auto-copied into that KB so its reference // remaps instead of clearing). It runs only after the required-reference gate above, so a // blocked sync copies nothing. + let copyIdMapByKind: Map> | null = null if (hasPromoteCopySelection(copySelection) || referencedDocumentIds.length > 0) { const copyResult = await copyPromoteUnmappedResources({ tx, @@ -518,17 +557,18 @@ export async function promoteFork(params: PromoteForkParams): Promise mcpServerMetaById.get(targetServerId), + // Copy provenance: a parent resolved through THIS sync's copy selection keeps its + // copy-faithful dependents (a copied table's column picks) instead of clearing them. + isCopiedTarget: (kind, sourceId) => copyIdMapByKind?.get(kind)?.has(sourceId) ?? false, }) // Batch every prior-version read (replace + archive targets) into one query before any @@ -572,16 +615,18 @@ export async function promoteFork(params: PromoteForkParams): Promise block id -> subblock -> value). When the - // caller PROVIDED values it was built pre-tx (plan-independent); apply it and reconcile the - // store below. When OMITTED the store is the sole source of truth - load the existing values - // for the plan's replace targets (one indexed query) and build the map, skipping the reconcile - // below so an omitted field never wipes the saved mapping. - const overridesByWorkflow = - providedOverridesByWorkflow ?? - groupDependentOverrides( - await loadForkDependentValues(tx, edge.childWorkspaceId, replaceTargetIds) - ) + // The dependent-value apply map (target workflow -> block id -> subblock -> value), built + // from the flat values loaded above (the provided payload, or - omitted - the stored + // mapping, which stays the sole source of truth; the reconcile below is skipped then so an + // omitted field never wipes it). Values are translated through the post-copy resolver + // FIRST: the apply runs AFTER the reference remap inside `copyWorkflowStateIntoTarget` and + // wins for its subblock, so a SOURCE document id picked under a copy-resolved KB must + // become the copied counterpart here - otherwise the stale source id would clobber the + // remapped value in the written state. Create targets are included: a value pre-configured + // for a never-synced workflow (keyed by its deterministic target id) applies on the first + // sync that creates it. + const appliedDependentValues = translateForkDependentValues(flatDependentValues, resolver) + const overridesByWorkflow = groupDependentOverrides(appliedDependentValues) // New block pairs recorded by the write loop (blocks added since the last sync), using the // block map + resolver loaded before the would-clear gate above. @@ -662,30 +707,69 @@ export async function promoteFork(params: PromoteForkParams): Promise entry.workflowId)) + await copyForkChatDeployments({ + tx, + pairs: writtenItems.flatMap((item) => + needsConfigurationTargetIds.has(item.targetWorkflowId) + ? [] + : [ + { + sourceWorkflowId: item.sourceWorkflowId, + targetWorkflowId: item.targetWorkflowId, + workflowName: item.sourceMeta.name, + }, + ] + ), + targetWorkspaceName, + userId, + now, + resolveBlockId, + requestId, + }) + + // Mirror workflow-as-MCP-tool attachments onto MAPPED workflow-publishing servers for the + // written pairs: missing target attachments are created, drifted metadata refreshed, and a + // detached source's counterpart archived. The deployment outbox re-derives each affected + // tool's parameter schema when the target deploys below. + const mcpAttachmentResult = await reconcileForkWorkflowMcpAttachments({ + tx, + childWorkspaceId: edge.childWorkspaceId, + sourceIsParent, + now, + writtenPairs: writtenItems.map((item) => ({ + sourceWorkflowId: item.sourceWorkflowId, + targetWorkflowId: item.targetWorkflowId, + })), + }) + // Persist / prune the stored dependent mapping. When the caller PROVIDED values, replace - // every written replace-target's stored set (cleared/removed fields drop out so the store - // equals exactly what was sent) AND prune the archived targets' now-dead rows (their - // workflow no longer exists and has no FK to cascade). Scope the inserted values to the - // delete's workflows so a value for a workflow skipped this pass (its source state + // every written target's stored set (cleared/removed fields drop out so the store equals + // exactly what was applied) AND prune the archived targets' now-dead rows (their workflow + // no longer exists and has no FK to cascade). The TRANSLATED values are persisted - a + // source document id picked under a copy-resolved KB is stored as its copied counterpart, + // so the next sync (whose parent is then MAPPED via the persisted copy mapping) pre-fills + // a value that resolves in the target. Written CREATE targets persist too - they exist + // as of this sync, and their sent values (pre-configured in the mapping editor or the + // modal) must survive as the stored mapping for future syncs. Scope the inserted values + // to the delete's workflows so a value for a workflow skipped this pass (its source state // vanished) can't be inserted without first clearing its old row and trip the unique // constraint. When OMITTED, the store stays the source of truth (already applied above) - - // only prune archived targets, never touch the live replace targets' mapping. - const dependentTargetIds = new Set( - writtenItems.filter((item) => item.mode === 'replace').map((item) => item.targetWorkflowId) - ) + // only prune archived targets, never touch the live targets' mapping. + const dependentTargetIds = new Set(writtenItems.map((item) => item.targetWorkflowId)) if (dependentValuesProvided) { await reconcileForkDependentValues( tx, edge.childWorkspaceId, [...dependentTargetIds, ...plan.archivedTargetIds], - (params.dependentValues ?? []) - .filter((entry) => dependentTargetIds.has(entry.workflowId)) - .map((entry) => ({ - targetWorkflowId: entry.workflowId, - targetBlockId: entry.blockId, - subBlockKey: entry.subBlockKey, - value: entry.value, - })) + appliedDependentValues.filter((entry) => dependentTargetIds.has(entry.targetWorkflowId)) ) } else if (plan.archivedTargetIds.length > 0) { await reconcileForkDependentValues(tx, edge.childWorkspaceId, plan.archivedTargetIds, []) @@ -727,6 +811,15 @@ export async function promoteFork(params: PromoteForkParams): Promise 0) { + await tx + .update(chat) + .set({ archivedAt: now, isActive: false, updatedAt: now }) + .where(and(inArray(chat.workflowId, plan.archivedTargetIds), isNull(chat.archivedAt))) + } const identityEntries: ForkMappingUpsert[] = writtenItems.map((item) => ({ resourceType: 'workflow' as const, @@ -805,6 +898,7 @@ export async function promoteFork(params: PromoteForkParams): Promise 0) { + notifyMcpToolServers(txResult.mcpAttachmentServerIds.map((serverId) => ({ serverId }))) + } + let redeployed = 0 const deployFailures: string[] = [] const deployWarnings: string[] = [] @@ -910,6 +1010,11 @@ export async function promoteFork(params: PromoteForkParams): Promise ({ +vi.mock('@/ee/workspace-forking/lib/lineage/lineage', () => ({ resolveForkEdge: mockResolveForkEdge, acquireForkTargetLock: mockAcquireTargetLock, acquireForkEdgeLock: mockAcquireEdgeLock, setForkLockTimeout: vi.fn(), })) -vi.mock('@/lib/workspaces/fork/promote/promote-run-store', () => ({ +vi.mock('@/ee/workspace-forking/lib/promote/promote-run-store', () => ({ getLatestPromoteRunForTarget: mockGetLatestRun, deleteAllPromoteRunsForTarget: mockDeleteAllRuns, })) -vi.mock('@/lib/workspaces/fork/promote/reactivate-in-tx', () => ({ +vi.mock('@/ee/workspace-forking/lib/promote/reactivate-in-tx', () => ({ reactivateDeployedVersionInTx: mockReactivate, })) @@ -49,7 +49,7 @@ vi.mock('@/lib/workflows/persistence/utils', () => ({ undeployWorkflow: mockUndeploy, })) -vi.mock('@/lib/workspaces/fork/mapping/mapping-store', () => ({ +vi.mock('@/ee/workspace-forking/lib/mapping/mapping-store', () => ({ deleteWorkflowIdentityByIds: mockDeleteIdentity, })) @@ -58,12 +58,12 @@ vi.mock('@/lib/workflows/deployment-outbox', () => ({ processWorkflowDeploymentOutboxEvent: mockProcessOutbox, })) -vi.mock('@/lib/workspaces/fork/socket', () => ({ +vi.mock('@/ee/workspace-forking/lib/socket', () => ({ notifyForkWorkflowChanged: mockNotify, })) import { db } from '@sim/db' -import { rollbackFork } from '@/lib/workspaces/fork/promote/rollback' +import { rollbackFork } from '@/ee/workspace-forking/lib/promote/rollback' const EDGE = { childWorkspaceId: 'child-ws', parentWorkspaceId: 'parent-ws' } diff --git a/apps/sim/lib/workspaces/fork/promote/rollback.ts b/apps/sim/ee/workspace-forking/lib/promote/rollback.ts similarity index 90% rename from apps/sim/lib/workspaces/fork/promote/rollback.ts rename to apps/sim/ee/workspace-forking/lib/promote/rollback.ts index 86fe6d7996f..42c8eac4b0d 100644 --- a/apps/sim/lib/workspaces/fork/promote/rollback.ts +++ b/apps/sim/ee/workspace-forking/lib/promote/rollback.ts @@ -1,26 +1,26 @@ import { db } from '@sim/db' -import { workflow } from '@sim/db/schema' +import { chat, workflow } from '@sim/db/schema' import { createLogger } from '@sim/logger' -import { inArray } from 'drizzle-orm' +import { and, inArray, isNull } from 'drizzle-orm' import { enqueueWorkflowUndeploySideEffects, processWorkflowDeploymentOutboxEvent, } from '@/lib/workflows/deployment-outbox' import { undeployWorkflow } from '@/lib/workflows/persistence/utils' -import { ForkError } from '@/lib/workspaces/fork/lineage/authz' +import { ForkError } from '@/ee/workspace-forking/lib/lineage/authz' import { acquireForkEdgeLock, acquireForkTargetLock, resolveForkEdge, setForkLockTimeout, -} from '@/lib/workspaces/fork/lineage/lineage' -import { deleteWorkflowIdentityByIds } from '@/lib/workspaces/fork/mapping/mapping-store' +} from '@/ee/workspace-forking/lib/lineage/lineage' +import { deleteWorkflowIdentityByIds } from '@/ee/workspace-forking/lib/mapping/mapping-store' import { deleteAllPromoteRunsForTarget, getLatestPromoteRunForTarget, -} from '@/lib/workspaces/fork/promote/promote-run-store' -import { reactivateDeployedVersionInTx } from '@/lib/workspaces/fork/promote/reactivate-in-tx' -import { notifyForkWorkflowChanged } from '@/lib/workspaces/fork/socket' +} from '@/ee/workspace-forking/lib/promote/promote-run-store' +import { reactivateDeployedVersionInTx } from '@/ee/workspace-forking/lib/promote/reactivate-in-tx' +import { notifyForkWorkflowChanged } from '@/ee/workspace-forking/lib/socket' const logger = createLogger('WorkspaceForkRollback') @@ -209,6 +209,14 @@ export async function rollbackFork(params: RollbackForkParams): Promise type DependentRef = Extract @@ -45,17 +45,19 @@ const dependentRef = (parentKind: DependentRef['parentKind']): DependentRef => ( describe('forkSyncBlockerReasonFor', () => { it('maps a live unmapped copyable-kind reference to unmapped-copyable (map or copy)', () => { - for (const kind of ['table', 'knowledge-base', 'file', 'custom-tool', 'skill'] as const) { + for (const kind of [ + 'table', + 'knowledge-base', + 'file', + 'custom-tool', + 'skill', + // External MCP servers are copyable too (config rows; OAuth tokens never copied). + 'mcp-server', + ] as const) { expect(forkSyncBlockerReasonFor(referenceRef(kind, 'src-1'))).toBe('unmapped-copyable') } }) - it('maps a live unmapped MCP server to unmapped-mcp-server (map-only; no copy option)', () => { - expect(forkSyncBlockerReasonFor(referenceRef('mcp-server', 'srv-1'))).toBe( - 'unmapped-mcp-server' - ) - }) - it('maps a source-deleted reference of ANY kind to source-deleted (no exemption)', () => { expect(forkSyncBlockerReasonFor(referenceRef('table', 'tbl-gone', true))).toBe('source-deleted') expect(forkSyncBlockerReasonFor(referenceRef('mcp-server', 'srv-gone', true))).toBe( @@ -96,7 +98,7 @@ describe('selectForkSyncBlockingRefs / toForkSyncBlockers', () => { const blocking = selectForkSyncBlockingRefs(refs) expect(blocking.map(({ ref, reason }) => [ref.sourceId, reason])).toEqual([ ['tbl-1', 'unmapped-copyable'], - ['srv-1', 'unmapped-mcp-server'], + ['srv-1', 'unmapped-copyable'], ['sk-gone', 'source-deleted'], ['wf-other', 'workflow-missing'], ]) diff --git a/apps/sim/lib/workspaces/fork/promote/sync-blockers.ts b/apps/sim/ee/workspace-forking/lib/promote/sync-blockers.ts similarity index 91% rename from apps/sim/lib/workspaces/fork/promote/sync-blockers.ts rename to apps/sim/ee/workspace-forking/lib/promote/sync-blockers.ts index b5d2bbed6c2..a5369209c1d 100644 --- a/apps/sim/lib/workspaces/fork/promote/sync-blockers.ts +++ b/apps/sim/ee/workspace-forking/lib/promote/sync-blockers.ts @@ -24,15 +24,13 @@ const COPYABLE_BLOCKER_KINDS: ReadonlySet = new Set(forkCopyableKindSche * remove the reference). * - `reference` + source deleted -> `source-deleted` (map the dead id to a live target * resource, or fix/archive the source workflow). - * - `reference` + external MCP server -> `unmapped-mcp-server` (map it; MCP servers are never - * copied). - * - `reference` + copyable kind -> `unmapped-copyable` (map it or select it for copy). + * - `reference` + copyable kind (incl. external MCP servers) -> `unmapped-copyable` (map it + * or select it for copy). */ export function forkSyncBlockerReasonFor(ref: ForkClearedRef): ForkSyncBlockerReason | null { if (ref.cause === 'workflow') return 'workflow-missing' if (ref.cause !== 'reference') return null if (ref.sourceDeleted) return 'source-deleted' - if (ref.kind === 'mcp-server') return 'unmapped-mcp-server' if (COPYABLE_BLOCKER_KINDS.has(ref.kind)) return 'unmapped-copyable' // Credential / env-var / knowledge-document never reach the cleared list (excluded by the // collector; the first two gate via the kind-level required gate, documents follow their KB). diff --git a/apps/sim/lib/workspaces/fork/remap/block-identity.test.ts b/apps/sim/ee/workspace-forking/lib/remap/block-identity.test.ts similarity index 98% rename from apps/sim/lib/workspaces/fork/remap/block-identity.test.ts rename to apps/sim/ee/workspace-forking/lib/remap/block-identity.test.ts index fc782916caa..c2ccf55d98d 100644 --- a/apps/sim/lib/workspaces/fork/remap/block-identity.test.ts +++ b/apps/sim/ee/workspace-forking/lib/remap/block-identity.test.ts @@ -8,7 +8,7 @@ import { deriveForkBlockId, EMPTY_FORK_BLOCK_MAP, type ForkBlockMap, -} from '@/lib/workspaces/fork/remap/block-identity' +} from '@/ee/workspace-forking/lib/remap/block-identity' describe('deriveForkBlockId', () => { const targetA = 'wf-target-a' diff --git a/apps/sim/lib/workspaces/fork/remap/block-identity.ts b/apps/sim/ee/workspace-forking/lib/remap/block-identity.ts similarity index 100% rename from apps/sim/lib/workspaces/fork/remap/block-identity.ts rename to apps/sim/ee/workspace-forking/lib/remap/block-identity.ts diff --git a/apps/sim/lib/workspaces/fork/remap/fork-bootstrap.ts b/apps/sim/ee/workspace-forking/lib/remap/fork-bootstrap.ts similarity index 64% rename from apps/sim/lib/workspaces/fork/remap/fork-bootstrap.ts rename to apps/sim/ee/workspace-forking/lib/remap/fork-bootstrap.ts index 2e4bdb0f124..34224a38b48 100644 --- a/apps/sim/lib/workspaces/fork/remap/fork-bootstrap.ts +++ b/apps/sim/ee/workspace-forking/lib/remap/fork-bootstrap.ts @@ -4,7 +4,7 @@ import { clearDependentsOnRemap, type ForkRemapKind, remapForkSubBlocks, -} from '@/lib/workspaces/fork/remap/remap-references' +} from '@/ee/workspace-forking/lib/remap/remap-references' /** * Resolves a source resource reference to its copied child id, or null when the @@ -29,7 +29,21 @@ export function createForkBootstrapTransform( canonicalModes?: CanonicalModeOverrides ) => SubBlockRecord { return (subBlocks, blockType, canonicalModes) => { - const result = remapForkSubBlocks(subBlocks, resolveCopied, 'create') - return clearDependentsOnRemap(result.subBlocks, blockType, result.remappedKeys, canonicalModes) + // Every resolution at fork-create IS a copy (the resolver is the copy id map), so all + // remapped keys carry copy provenance - copy-faithful dependents (column picks) survive. + // `blockType`/`canonicalModes` activate the mode policy: active basic remaps, active + // advanced (manual) passes through with its dependents, dormant members clear. + const result = remapForkSubBlocks(subBlocks, resolveCopied, 'create', { + blockType, + canonicalModes, + isCopiedTarget: (kind, sourceId) => resolveCopied(kind, sourceId) != null, + }) + return clearDependentsOnRemap( + result.subBlocks, + blockType, + result.remappedKeys, + canonicalModes, + result.copyRemappedKeys + ) } } diff --git a/apps/sim/lib/workspaces/fork/remap/reference-scan.ts b/apps/sim/ee/workspace-forking/lib/remap/reference-scan.ts similarity index 97% rename from apps/sim/lib/workspaces/fork/remap/reference-scan.ts rename to apps/sim/ee/workspace-forking/lib/remap/reference-scan.ts index c0085f59fc3..cf0e9190cbb 100644 --- a/apps/sim/lib/workspaces/fork/remap/reference-scan.ts +++ b/apps/sim/ee/workspace-forking/lib/remap/reference-scan.ts @@ -2,7 +2,7 @@ import type { CanonicalModeOverrides } from '@/lib/workflows/subblocks/visibilit import { type ForkRemapKind, scanWorkflowReferences, -} from '@/lib/workspaces/fork/remap/remap-references' +} from '@/ee/workspace-forking/lib/remap/remap-references' import type { WorkflowState } from '@/stores/workflows/workflow/types' /** A block reduced to what the reference scanner reads (incl. canonical context for detection). */ diff --git a/apps/sim/lib/workspaces/fork/remap/remap-content-refs.test.ts b/apps/sim/ee/workspace-forking/lib/remap/remap-content-refs.test.ts similarity index 99% rename from apps/sim/lib/workspaces/fork/remap/remap-content-refs.test.ts rename to apps/sim/ee/workspace-forking/lib/remap/remap-content-refs.test.ts index a6acca88bf7..ba06a73c683 100644 --- a/apps/sim/lib/workspaces/fork/remap/remap-content-refs.test.ts +++ b/apps/sim/ee/workspace-forking/lib/remap/remap-content-refs.test.ts @@ -6,7 +6,7 @@ import { type ForkContentRefMaps, rewriteForkContentRefs, rewriteForkResourceUrls, -} from '@/lib/workspaces/fork/remap/remap-content-refs' +} from '@/ee/workspace-forking/lib/remap/remap-content-refs' const SRC_KEY = 'workspace/SRC/1700000000000-deadbeef-photo.png' const DST_KEY = 'workspace/DST/1700000000001-cafebabe-photo.png' diff --git a/apps/sim/lib/workspaces/fork/remap/remap-content-refs.ts b/apps/sim/ee/workspace-forking/lib/remap/remap-content-refs.ts similarity index 100% rename from apps/sim/lib/workspaces/fork/remap/remap-content-refs.ts rename to apps/sim/ee/workspace-forking/lib/remap/remap-content-refs.ts diff --git a/apps/sim/lib/workspaces/fork/remap/remap-files.test.ts b/apps/sim/ee/workspace-forking/lib/remap/remap-files.test.ts similarity index 96% rename from apps/sim/lib/workspaces/fork/remap/remap-files.test.ts rename to apps/sim/ee/workspace-forking/lib/remap/remap-files.test.ts index e1c5fb909a1..93a55edc3b7 100644 --- a/apps/sim/lib/workspaces/fork/remap/remap-files.test.ts +++ b/apps/sim/ee/workspace-forking/lib/remap/remap-files.test.ts @@ -2,7 +2,7 @@ * @vitest-environment node */ import { describe, expect, it } from 'vitest' -import { remapForkFileUploadValue } from '@/lib/workspaces/fork/remap/remap-files' +import { remapForkFileUploadValue } from '@/ee/workspace-forking/lib/remap/remap-files' const map = (entries: Record) => (key: string) => entries[key] ?? null diff --git a/apps/sim/lib/workspaces/fork/remap/remap-files.ts b/apps/sim/ee/workspace-forking/lib/remap/remap-files.ts similarity index 100% rename from apps/sim/lib/workspaces/fork/remap/remap-files.ts rename to apps/sim/ee/workspace-forking/lib/remap/remap-files.ts diff --git a/apps/sim/lib/workspaces/fork/remap/remap-references.test.ts b/apps/sim/ee/workspace-forking/lib/remap/remap-references.test.ts similarity index 76% rename from apps/sim/lib/workspaces/fork/remap/remap-references.test.ts rename to apps/sim/ee/workspace-forking/lib/remap/remap-references.test.ts index 94ccc3845e0..886c183b67e 100644 --- a/apps/sim/lib/workspaces/fork/remap/remap-references.test.ts +++ b/apps/sim/ee/workspace-forking/lib/remap/remap-references.test.ts @@ -20,7 +20,8 @@ vi.mock('@/tools/params', () => ({ })) import type { SubBlockRecord } from '@/lib/workflows/persistence/remap-internal-ids' -import { createForkBootstrapTransform } from '@/lib/workspaces/fork/remap/fork-bootstrap' +import { getBlock } from '@/blocks/registry' +import { createForkBootstrapTransform } from '@/ee/workspace-forking/lib/remap/fork-bootstrap' import { applyDependentOverrides, clearDependentsOnRemap, @@ -31,8 +32,7 @@ import { remapForkSubBlocks, remapToolBlockResources, scanWorkflowReferences, -} from '@/lib/workspaces/fork/remap/remap-references' -import { getBlock } from '@/blocks/registry' +} from '@/ee/workspace-forking/lib/remap/remap-references' const blockConfigs: Record = { testblock: { @@ -424,7 +424,7 @@ describe('MCP block server remap follows the tool selection (optimistic verbatim expect(result.arguments.value).toBe('') }) - it('fork-create: servers are not copied, so the reference clears and dependents clear with it', () => { + it('fork-create: an UNSELECTED server clears, and its tool + arguments clear with it', () => { vi.mocked(getBlock).mockReturnValue(mcpBlock()) const transform = createForkBootstrapTransform(() => null) const result = transform(mcpSubBlocks(), 'mcp') @@ -433,6 +433,46 @@ describe('MCP block server remap follows the tool selection (optimistic verbatim expect(result.arguments.value).toBe('') }) + it('fork-create: a COPIED server remaps and the tool selection + arguments follow it', () => { + // The fork resolver now carries `mcp-server` entries for copied external servers, so the + // MCP block is preserved end-to-end: server -> copied id, tool -> embedded id swapped + // (name verbatim, re-resolved by the child's first discovery), arguments untouched. + vi.mocked(getBlock).mockReturnValue(mcpBlock()) + const transform = createForkBootstrapTransform(mapServer as never) + const result = transform(mcpSubBlocks(), 'mcp') + expect(result.server.value).toBe('mcp-tgt9') + expect(result.tool.value).toBe('mcp-tgt9-search_docs') + expect(result.arguments.value).toBe('{"query":"hello"}') + }) + + it('fork-create: a COPIED server rewrites an agent tool-input MCP entry (serverId + toolId)', () => { + vi.mocked(getBlock).mockReturnValue( + blockWith([{ id: 'tools', title: 'Tools', type: 'tool-input' }]) + ) + const transform = createForkBootstrapTransform(mapServer as never) + const result = transform( + { + tools: { + id: 'tools', + type: 'tool-input', + value: [ + { + type: 'mcp', + title: 'Search Docs', + params: { serverId: 'mcp-src1', toolName: 'search_docs' }, + toolId: 'mcp-src1-search_docs', + }, + ], + }, + }, + 'agent' + ) + const [tool] = result.tools.value as Array<{ params: Record; toolId: string }> + expect(tool.params.serverId).toBe('mcp-tgt9') + expect(tool.params.toolName).toBe('search_docs') + expect(tool.toolId).toBe('mcp-tgt9-search_docs') + }) + it('remap layer: the tool follow-rewrite is not registered as a remapped parent key', () => { // Only `server` may drive dependent clears; the followed tool must not (its own // dependent - arguments - is preserved with it). @@ -1107,3 +1147,316 @@ describe('readTargetDraftDependentValue', () => { expect(readTargetDraftDependentValue(target, source, 'tools[0].folder')).toBe('INBOX') }) }) + +/** The knowledge block's canonical shape: KB + document pairs, tag fields as KB dependents. */ +const knowledgePairBlock = () => + blockWith([ + { + id: 'knowledgeBaseSelector', + title: 'KB', + type: 'knowledge-base-selector', + canonicalParamId: 'knowledgeBaseId', + mode: 'basic', + }, + { + id: 'manualKnowledgeBaseId', + title: 'KB ID', + type: 'short-input', + canonicalParamId: 'knowledgeBaseId', + mode: 'advanced', + }, + { + id: 'documentSelector', + title: 'Document', + type: 'document-selector', + dependsOn: ['knowledgeBaseSelector'], + }, + { + id: 'tagFilters', + title: 'Tag Filters', + type: 'knowledge-tag-filters', + dependsOn: ['knowledgeBaseSelector'], + }, + { + id: 'documentTags', + title: 'Document Tags', + type: 'document-tag-entry', + dependsOn: ['knowledgeBaseSelector'], + }, + ]) + +describe('canonical mode policy (fork/promote)', () => { + const copyMap: Record = { + 'knowledge-base:kb-src': 'kb-copy', + 'knowledge-document:doc-src': 'doc-copy', + } + const resolveCopy = (kind: string, id: string) => copyMap[`${kind}:${id}`] ?? null + + it('basic mode: remaps the selector + document, preserves tag fields, clears the dormant manual member', () => { + vi.mocked(getBlock).mockReturnValue(knowledgePairBlock()) + const transform = createForkBootstrapTransform(resolveCopy as never) + const result = transform( + { + knowledgeBaseSelector: entry('knowledgeBaseSelector', 'knowledge-base-selector', 'kb-src'), + manualKnowledgeBaseId: entry('manualKnowledgeBaseId', 'short-input', 'stale-manual-kb'), + documentSelector: entry('documentSelector', 'document-selector', 'doc-src'), + tagFilters: entry('tagFilters', 'knowledge-tag-filters', '[{"tagName":"team"}]'), + documentTags: entry('documentTags', 'document-tag-entry', '[{"tagName":"team"}]'), + }, + 'knowledge', + { knowledgeBaseId: 'basic' } + ) + expect(result.knowledgeBaseSelector.value).toBe('kb-copy') + expect(result.documentSelector.value).toBe('doc-copy') + // Name/slot-based tag fields stay valid on the copy (tag definitions copy verbatim). + expect(result.tagFilters.value).toBe('[{"tagName":"team"}]') + expect(result.documentTags.value).toBe('[{"tagName":"team"}]') + // Only the active mode matters: the dormant manual member's stale value is cleared. + expect(result.manualKnowledgeBaseId.value).toBe('') + }) + + it('advanced (manual) mode: passes the manual value + its dependents through verbatim, clears the dormant selector', () => { + vi.mocked(getBlock).mockReturnValue(knowledgePairBlock()) + const transform = createForkBootstrapTransform(resolveCopy as never) + const result = transform( + { + knowledgeBaseSelector: entry('knowledgeBaseSelector', 'knowledge-base-selector', 'kb-src'), + manualKnowledgeBaseId: entry('manualKnowledgeBaseId', 'short-input', 'kb-manual'), + documentSelector: entry('documentSelector', 'document-selector', 'doc-src'), + tagFilters: entry('tagFilters', 'knowledge-tag-filters', '[{"tagName":"team"}]'), + }, + 'knowledge', + { knowledgeBaseId: 'advanced' } + ) + // The manual value is user-owned: kept verbatim, never remapped. + expect(result.manualKnowledgeBaseId.value).toBe('kb-manual') + // Its dependents ride along verbatim too - no remap, no clear. + expect(result.documentSelector.value).toBe('doc-src') + expect(result.tagFilters.value).toBe('[{"tagName":"team"}]') + // The dormant basic selector is cleared outright (not remapped to the copy). + expect(result.knowledgeBaseSelector.value).toBe('') + }) + + it('advanced mode: nothing is detected as a reference (no mapping requirement)', () => { + vi.mocked(getBlock).mockReturnValue(knowledgePairBlock()) + const scan = scanWorkflowReferences( + [ + { + id: 'b1', + name: 'KB', + type: 'knowledge', + subBlocks: { + knowledgeBaseSelector: entry( + 'knowledgeBaseSelector', + 'knowledge-base-selector', + 'kb-src' + ), + manualKnowledgeBaseId: entry('manualKnowledgeBaseId', 'short-input', 'kb-manual'), + documentSelector: entry('documentSelector', 'document-selector', 'doc-src'), + }, + canonicalModes: { knowledgeBaseId: 'advanced' }, + }, + ], + () => null + ) + expect(scan.references).toEqual([]) + }) + + it('does not detect a condition-hidden subblock (its value never executes)', () => { + vi.mocked(getBlock).mockReturnValue( + blockWith([ + { id: 'mode', title: 'Mode', type: 'dropdown' }, + { + id: 'cloudKb', + title: 'Cloud KB', + type: 'knowledge-base-selector', + condition: { field: 'mode', value: 'cloud' }, + }, + { + id: 'localKb', + title: 'Local KB', + type: 'knowledge-base-selector', + condition: { field: 'mode', value: 'local' }, + }, + ]) + ) + const scan = scanWorkflowReferences( + [ + { + id: 'b1', + name: 'Pi', + type: 'pi', + subBlocks: { + mode: entry('mode', 'dropdown', 'local'), + cloudKb: entry('cloudKb', 'knowledge-base-selector', 'kb-hidden'), + localKb: entry('localKb', 'knowledge-base-selector', 'kb-active'), + }, + }, + ], + () => null + ) + expect(scan.references.map((ref) => ref.sourceId)).toEqual(['kb-active']) + }) + + it('nested tool: remaps a canonical-keyed param (and both keys when aliased)', () => { + const tool = { + type: 'tblblock', + toolId: 'tblblock_run', + params: { tableId: 'tbl-src', tableSelector: 'tbl-src' }, + } + const result = remapToolBlockResources(tool, { + resolve: (kind, id) => (kind === 'table' && id === 'tbl-src' ? 'tbl-dst' : null), + resolveFileKey: () => null, + clearUnresolved: true, + blockConfigs: { + tblblock: { + subBlocks: [ + { + id: 'tableSelector', + title: 'Table', + type: 'table-selector', + canonicalParamId: 'tableId', + mode: 'basic', + }, + { + id: 'manualTableId', + title: 'Table ID', + type: 'short-input', + canonicalParamId: 'tableId', + mode: 'advanced', + }, + ], + }, + }, + }) + expect(result.params).toEqual({ tableId: 'tbl-dst', tableSelector: 'tbl-dst' }) + }) + + it('nested tool: keeps a reference-shaped canonical value verbatim (user-owned)', () => { + const tool = { + type: 'tblblock', + toolId: 'tblblock_run', + params: { tableId: '' }, + } + const result = remapToolBlockResources(tool, { + resolve: () => null, + resolveFileKey: () => null, + clearUnresolved: true, + blockConfigs: { + tblblock: { + subBlocks: [ + { + id: 'tableSelector', + title: 'Table', + type: 'table-selector', + canonicalParamId: 'tableId', + }, + ], + }, + }, + }) + expect(result).toBe(tool) + }) + + it('nested tool: preserves tag filters under a remapped parent, clears them under a cleared parent', () => { + const kbToolConfigs = { + kbblock: { + subBlocks: [ + { id: 'knowledgeBaseId', title: 'KB', type: 'knowledge-base-selector' }, + { + id: 'tagFilters', + title: 'Tag Filters', + type: 'knowledge-tag-filters', + dependsOn: ['knowledgeBaseId'], + }, + ] as SubBlockConfig[], + }, + } + const tool = () => ({ + type: 'kbblock', + toolId: 'kbblock_run', + params: { knowledgeBaseId: 'kb-src', tagFilters: '[{"tagName":"team"}]' }, + }) + const remapped = remapToolBlockResources(tool(), { + resolve: (kind, id) => (kind === 'knowledge-base' && id === 'kb-src' ? 'kb-dst' : null), + resolveFileKey: () => null, + clearUnresolved: true, + blockConfigs: kbToolConfigs, + }) + expect(remapped.params).toEqual({ + knowledgeBaseId: 'kb-dst', + tagFilters: '[{"tagName":"team"}]', + }) + const cleared = remapToolBlockResources(tool(), { + resolve: () => null, + resolveFileKey: () => null, + clearUnresolved: true, + blockConfigs: kbToolConfigs, + }) + expect(cleared.params).toEqual({ knowledgeBaseId: '', tagFilters: '' }) + }) + + it('preserves a column selection under a COPIED table, clears it under a mapped one', () => { + const tableBlock = () => + blockWith([ + { + id: 'tableSelector', + title: 'Table', + type: 'table-selector', + canonicalParamId: 'tableId', + mode: 'basic', + }, + { + id: 'manualTableId', + title: 'Table ID', + type: 'short-input', + canonicalParamId: 'tableId', + mode: 'advanced', + }, + { + id: 'conflictColumnSelector', + title: 'Conflict Column', + type: 'column-selector', + dependsOn: ['tableSelector'], + }, + ]) + const subBlocks = (): SubBlockRecord => ({ + tableSelector: entry('tableSelector', 'table-selector', 'tbl-src'), + conflictColumnSelector: entry('conflictColumnSelector', 'column-selector', 'col_a'), + }) + vi.mocked(getBlock).mockReturnValue(tableBlock()) + // Fork-create: the table is a COPY (identical column ids) - the column pick survives. + const forkTransform = createForkBootstrapTransform(((kind: string, id: string) => + kind === 'table' && id === 'tbl-src' ? 'tbl-copy' : null) as never) + const forked = forkTransform(subBlocks(), 'table') + expect(forked.tableSelector.value).toBe('tbl-copy') + expect(forked.conflictColumnSelector.value).toBe('col_a') + // Promote onto a MAPPED (different) table: column ids differ - the pick clears (re-pick flow). + const mappedTransform = createForkSubBlockTransform((kind, id) => + kind === 'table' && id === 'tbl-src' ? 'tbl-mapped' : null + ) + const mapped = mappedTransform(subBlocks(), 'table') + expect(mapped.tableSelector.value).toBe('tbl-mapped') + expect(mapped.conflictColumnSelector.value).toBe('') + }) + + it('collectClearedDependents skips a dormant canonical member (only the active mode matters)', () => { + vi.mocked(getBlock).mockReturnValue(knowledgePairBlock()) + const targetDraft: SubBlockRecord = { + knowledgeBaseSelector: entry('knowledgeBaseSelector', 'knowledge-base-selector', 'kb-old'), + manualKnowledgeBaseId: entry('manualKnowledgeBaseId', 'short-input', 'stale-manual'), + documentSelector: entry('documentSelector', 'document-selector', 'doc-old'), + } + // The merge cleared the dormant manual member and the document; only the document (an + // active dependent) is flagged - the dormant manual slot is not a lost configuration. + const merged: SubBlockRecord = { + knowledgeBaseSelector: entry('knowledgeBaseSelector', 'knowledge-base-selector', 'kb-new'), + manualKnowledgeBaseId: entry('manualKnowledgeBaseId', 'short-input', ''), + documentSelector: entry('documentSelector', 'document-selector', ''), + } + const fields = collectClearedDependents('knowledge', 'b1', 'KB', targetDraft, merged, { + knowledgeBaseId: 'basic', + }) + expect(fields.map((field) => field.subBlockKey)).toEqual(['documentSelector']) + }) +}) diff --git a/apps/sim/lib/workspaces/fork/remap/remap-references.ts b/apps/sim/ee/workspace-forking/lib/remap/remap-references.ts similarity index 63% rename from apps/sim/lib/workspaces/fork/remap/remap-references.ts rename to apps/sim/ee/workspace-forking/lib/remap/remap-references.ts index 679ccdedd0f..418dcb277de 100644 --- a/apps/sim/lib/workspaces/fork/remap/remap-references.ts +++ b/apps/sim/ee/workspace-forking/lib/remap/remap-references.ts @@ -25,16 +25,19 @@ import { evaluateSubBlockCondition, isCanonicalPair, isNonEmptyValue, + resolveActiveCanonicalValue, resolveCanonicalMode, + scopeCanonicalModesForTool, } from '@/lib/workflows/subblocks/visibility' import type { ParsedStoredTool } from '@/lib/workflows/tool-input/types' +import { getBlock } from '@/blocks/registry' +import type { SubBlockConfig } from '@/blocks/types' +import { getDependsOnFields, getSubBlocksDependingOnChange } from '@/blocks/utils' import { collectForkFileUploadKeys, remapForkFileUploadValue, -} from '@/lib/workspaces/fork/remap/remap-files' -import { getBlock } from '@/blocks/registry' -import type { SubBlockConfig } from '@/blocks/types' -import { getSubBlocksDependingOnChange } from '@/blocks/utils' +} from '@/ee/workspace-forking/lib/remap/remap-files' +import { isEnvVarReference, isReference } from '@/executor/constants' /** * Resource kinds the fork remapper rewrites across workspaces, derived from the @@ -90,6 +93,26 @@ export const REGISTRY_KIND_TO_FORK_KIND: Partial< // {@link remapForkSubBlocks}) and `clearDependentsOnRemap` exempts it. When the server // is CLEARED (unmapped / fork-create) the tool still clears as a dependent. +/** + * Dependent subblock types whose values are name/slot-based rather than id-based, so they stay + * valid on a COPIED parent (tag definitions are copied verbatim - same names, same slots) and on a + * MAPPED parent (mapping asserts the resources are equivalent). The dependent-clear passes preserve + * these when their parent was remapped to a non-empty target; a CLEARED parent still clears them. + */ +const PRESERVED_NAME_BASED_DEPENDENT_TYPES = new Set([ + 'knowledge-tag-filters', + 'document-tag-entry', +]) + +/** + * Dependent subblock types preserved ONLY when their parent was remapped via a COPY: a copied + * table duplicates its schema verbatim (identical column ids), so a column selection stays valid + * on the copy - while a MAPPED (different) table has its own column ids, so the value clears and + * the reconfigure flow offers a re-pick. Matches how filter/sort builders (no `dependsOn`) already + * carry over on a copy. + */ +const PRESERVED_UNDER_COPY_DEPENDENT_TYPES = new Set(['column-selector']) + /** Matches `{{ENV_KEY}}` references inside subblock values; shared with cascade detection. */ export const ENV_REF_PATTERN = /\{\{\s*([A-Za-z_][A-Za-z0-9_]*)\s*\}\}/g @@ -154,6 +177,111 @@ export interface RemapSubBlocksResult { unmapped: ForkReference[] /** Subblock keys whose resource id was rewritten/cleared this pass (the `dependsOn` parents). */ remappedKeys: Set + /** + * The subset of {@link remappedKeys} whose new target is a COPY of the source resource + * (per the caller's `isCopiedTarget`), so copy-faithful dependents (a copied table's column + * selection) can be preserved instead of cleared. Empty when no provenance was supplied. + */ + copyRemappedKeys: Set +} + +/** + * The canonical-pair mode questions every fork/promote surface asks of a subblock key. + * A pair is two SUBBLOCKS with different ids sharing one `canonicalParamId`; the block's + * `canonicalModes[canonicalId]` (falling back to the value heuristic) picks the ACTIVE member. + * The policy the gates encode: only the active member is real - an active basic selector is + * remapped and requires mapping, an active advanced (manual) member and its dependents pass + * through verbatim, and a dormant member's value is cleared and never detected. + */ +export interface CanonicalModeGates { + /** The key is a pair member that is NOT the pair's active member. */ + isDormantMember: (subBlockKey: string) => boolean + /** The key is the pair's ACTIVE advanced member - the live, user-owned manual field. */ + isActiveManualMember: (subBlockKey: string) => boolean + /** A direct `dependsOn` parent of this key is a pair in advanced (manual) mode. */ + isManualParentDependent: (subBlockKey: string) => boolean + /** The pair containing (or named by) this id resolves to advanced (manual) mode. */ + isAdvancedActiveGroup: (memberOrCanonicalId: string) => boolean + /** The key's `condition` evaluates false against the serializer's params view. */ + isConditionHidden: (subBlockKey: string) => boolean +} + +const NO_GATES: CanonicalModeGates = { + isDormantMember: () => false, + isActiveManualMember: () => false, + isManualParentDependent: () => false, + isAdvancedActiveGroup: () => false, + isConditionHidden: () => false, +} + +/** + * Build the {@link CanonicalModeGates} for one block (or nested tool) from its subblock configs + * and a flat id -> value map (top-level subblock values, or a tool's params). One canonical + * index and one mode resolution feed every gate, so all surfaces answer identically. Mode + * resolution uses the RAW values (member ids only); condition evaluation uses a separate view + * augmented with each pair's ACTIVE value under its canonical id, mirroring how the serializer + * exposes params to conditions. With no configs (unknown block type) every gate is a no-op: + * everything is detected and nothing passes through, the conservative default. + */ +export function createCanonicalModeGates( + configSubBlocks: SubBlockConfig[] | undefined, + values: Record, + canonicalModes?: CanonicalModeOverrides +): CanonicalModeGates { + if (!configSubBlocks || configSubBlocks.length === 0) return NO_GATES + const canonicalIndex = buildCanonicalIndex(configSubBlocks) + const configByBaseKey = new Map( + configSubBlocks.filter((cfg) => cfg.id).map((cfg) => [cfg.id, cfg]) + ) + const conditionValues = { ...values } + for (const [canonicalId, group] of Object.entries(canonicalIndex.groupsById)) { + if (conditionValues[canonicalId] === undefined) { + conditionValues[canonicalId] = resolveActiveCanonicalValue(group, values, canonicalModes) + } + } + + const groupFor = (memberOrCanonicalId: string) => { + const canonicalId = + canonicalIndex.canonicalIdBySubBlockId[memberOrCanonicalId] ?? memberOrCanonicalId + const group = canonicalIndex.groupsById[canonicalId] + return group && isCanonicalPair(group) ? group : undefined + } + const baseKeyOf = (subBlockKey: string) => subBlockKey.replace(/_\d+$/, '') + + const isAdvancedActiveGroup = (memberOrCanonicalId: string): boolean => { + const group = groupFor(memberOrCanonicalId) + if (!group) return false + return resolveCanonicalMode(group, values, canonicalModes) === 'advanced' + } + + return { + isDormantMember: (subBlockKey) => { + const baseKey = baseKeyOf(subBlockKey) + const group = groupFor(baseKey) + if (!group || !canonicalIndex.canonicalIdBySubBlockId[baseKey]) return false + return isAdvancedActiveGroup(baseKey) !== group.advancedIds.includes(baseKey) + }, + isActiveManualMember: (subBlockKey) => { + const baseKey = baseKeyOf(subBlockKey) + const group = groupFor(baseKey) + if (!group || !group.advancedIds.includes(baseKey)) return false + return isAdvancedActiveGroup(baseKey) + }, + isManualParentDependent: (subBlockKey) => { + const cfg = configByBaseKey.get(baseKeyOf(subBlockKey)) + if (!cfg?.dependsOn) return false + return getDependsOnFields(cfg.dependsOn).some((parent) => isAdvancedActiveGroup(parent)) + }, + isAdvancedActiveGroup, + isConditionHidden: (subBlockKey) => { + const cfg = configByBaseKey.get(baseKeyOf(subBlockKey)) + if (!cfg?.condition) return false + return !evaluateSubBlockCondition( + cfg.condition as Parameters[0], + conditionValues + ) + }, + } } /** Per-block context for the fork remap. `blockType`/`canonicalModes` gate DETECTION (not rewrite). */ @@ -166,6 +294,12 @@ export interface RemapForkContext { canonicalModes?: CanonicalModeOverrides /** Target MCP server row lookup for rewriting remapped tool-input entries' server metadata. */ resolveMcpServerMeta?: ForkMcpServerMetaResolver + /** + * Whether a resolved (kind, sourceId) target is a COPY of the source (fork-create: always; + * promote: the copy-selection overlay). Feeds `copyRemappedKeys` so copy-faithful dependents + * (a copied table's column selection) survive the dependent-clear pass. + */ + isCopiedTarget?: (kind: ForkRemapKind, sourceId: string) => boolean } function remapEnvInValue( @@ -212,6 +346,13 @@ interface ToolBlockRemapOptions { clearUnresolved: boolean /** Injected block configs (production falls back to the block registry). */ blockConfigs?: Parameters[0]['blockConfigs'] + /** Copy provenance for a resolved target (see {@link RemapForkContext.isCopiedTarget}). */ + isCopiedTarget?: (kind: ForkRemapKind, sourceId: string) => boolean + /** + * The owning BLOCK's `data.canonicalModes` (keys scoped `${toolType}:${canonicalId}` for + * nested tools), so the active canonical member per pair matches the tool-input UI. + */ + parentCanonicalModes?: CanonicalModeOverrides } /** @@ -240,12 +381,33 @@ export function remapToolBlockResources( } const remappedParamIds = new Set() - // Id-keyed resource params (credential / triggerCredentials / manual* overrides): - // walked from the raw params so they're caught even when their config is filtered - // out by a reactive condition (the registry loop below would otherwise miss them). + // Mode policy for the tool's canonical pairs, mirroring the top-level pass: only the ACTIVE + // member matters. A DORMANT member key is cleared outright (no record, no dependent clearing); + // an ACTIVE MANUAL parent passes its dependents through verbatim. Modes resolve exactly as the + // tool-input UI does: the block-level overrides scoped to this tool, then the value heuristic. + const toolValues: Record = + typeof tool.operation === 'string' ? { operation: tool.operation, ...params } : { ...params } + const scopedModes = scopeCanonicalModesForTool(opts.parentCanonicalModes, tool.type) + const toolBlockSubBlocks = (opts.blockConfigs?.[tool.type] ?? getBlock(tool.type))?.subBlocks + const gates = createCanonicalModeGates(toolBlockSubBlocks, toolValues, scopedModes) + + // Clear DORMANT member keys first: a stale inactive value must not survive the copy (and must + // never be recorded). Not a dependent-clear seed - the pair's ACTIVE member carries the live + // value, and only ITS remap clears dependents. + for (const paramKey of Object.keys(params)) { + if (!gates.isDormantMember(paramKey)) continue + const currentValue = params[paramKey] + if (currentValue == null || currentValue === '') continue + setParam(paramKey, '') + } + + // Id-keyed resource params (credential / triggerCredentials overrides): walked from the raw + // params so they're caught even when their config is filtered out by a reactive condition + // (the registry loop below would otherwise miss them). Dormant members were cleared above. for (const paramId of Object.keys(params)) { const overrideKind = getToolParamOverrideKind(paramId) if (!overrideKind) continue + if (gates.isDormantMember(paramId)) continue const currentValue = params[paramId] if (typeof currentValue !== 'string' || !currentValue) continue const target = opts.resolve(overrideKind, currentValue) @@ -270,7 +432,11 @@ export function remapToolBlockResources( } let configs: ReturnType try { - configs = getToolInputParamConfigs({ tool: toolView, blockConfigs: opts.blockConfigs }) + configs = getToolInputParamConfigs({ + tool: toolView, + parentCanonicalModes: opts.parentCanonicalModes, + blockConfigs: opts.blockConfigs, + }) } catch (error) { // Unknown block / resolver failure: don't crash the fork/promote, but log so a // real bug isn't masked. Nested resource ids in this tool stay as-is. @@ -281,72 +447,154 @@ export function remapToolBlockResources( return nextParams ? { ...tool, params: nextParams } : tool } + // Subblock ids whose value changed, seeding the dependent-clear walk below (the walk runs on + // subblock ids; `remappedParamIds` tracks the PARAM KEYS written, which for a canonical pair + // can be the `canonicalParamId` rather than the subblock id). + const remappedSubBlockIds = new Set(remappedParamIds) + /** Subblock ids remapped via a COPY, so copy-faithful dependents (column picks) survive. */ + const copyRemappedSubBlockIds = new Set() + for (const { paramId, config } of configs) { if (getToolParamOverrideKind(paramId)) continue const definition = getWorkflowSearchSubBlockResourceDefinition(config) if (!definition) continue - const currentValue = (nextParams ?? params)[paramId] - - if (definition.kind === 'file') { - // file-upload (workspace file) remaps by storage key; file-selector (external - // provider id) carries over unchanged. Each key is recorded as a `file` reference so - // a nested tool's workspace file surfaces in the scan / unmapped set and can be copied. - if (config.type !== 'file-upload') continue - for (const fileKey of collectForkFileUploadKeys(currentValue)) { - opts.record?.('file', fileKey, opts.resolveFileKey(fileKey) != null) - } - const remapped = remapForkFileUploadValue(currentValue, opts.resolveFileKey) - if (remapped !== currentValue) { - setParam(paramId, remapped) - remappedParamIds.add(paramId) + // Belt-and-braces: the params helper already returns only each pair's ACTIVE member, but a + // dormant member slipping through must never remap - in advanced mode the shared + // `canonicalParamId` params key holds the user-owned manual value. + if (gates.isDormantMember(paramId)) continue + // A dependent scoped to an ACTIVE MANUAL parent rides the manual value - the parent is + // user-owned and never remapped, so the dependent passes through verbatim too. + if (gates.isManualParentDependent(paramId)) continue + // A stored tool's params key resources by the subblock id OR by the pair's + // `canonicalParamId` (the tool-input UI writes the canonical key) - and legacy rows can + // carry both. Remap every present key so no alias keeps a stale source id. + const paramKeys = [paramId, config.canonicalParamId].filter( + (key): key is string => typeof key === 'string' && key.length > 0 + ) + + for (const paramKey of new Set(paramKeys)) { + const currentValue = (nextParams ?? params)[paramKey] + if (currentValue == null) continue + + if (definition.kind === 'file') { + // file-upload (workspace file) remaps by storage key; file-selector (external + // provider id) carries over unchanged. Each key is recorded as a `file` reference so + // a nested tool's workspace file surfaces in the scan / unmapped set and can be copied. + if (config.type !== 'file-upload') continue + for (const fileKey of collectForkFileUploadKeys(currentValue)) { + opts.record?.('file', fileKey, opts.resolveFileKey(fileKey) != null) + } + const remapped = remapForkFileUploadValue(currentValue, opts.resolveFileKey) + if (remapped !== currentValue) { + setParam(paramKey, remapped) + remappedParamIds.add(paramKey) + remappedSubBlockIds.add(paramId) + } + continue } - continue - } - const forkKind = REGISTRY_KIND_TO_FORK_KIND[definition.kind] - if (!forkKind) continue - - const refs = parseWorkflowSearchSubBlockResources(currentValue, config) - if (refs.length === 0) continue - - let value = currentValue - const seen = new Set() - for (const ref of refs) { - if (seen.has(ref.rawValue)) continue - seen.add(ref.rawValue) - const target = opts.resolve(forkKind, ref.rawValue) - const mapped = target != null - opts.record?.(forkKind, ref.rawValue, mapped) - if (mapped) { - if (target !== ref.rawValue) { - const replaced = definition.codec.replace(value, ref.rawValue, target) + const forkKind = REGISTRY_KIND_TO_FORK_KIND[definition.kind] + if (!forkKind) continue + + const refs = parseWorkflowSearchSubBlockResources(currentValue, config) + if (refs.length === 0) continue + + let value: unknown = currentValue + const seen = new Set() + for (const ref of refs) { + if (seen.has(ref.rawValue)) continue + seen.add(ref.rawValue) + // A canonical param key is also the advanced (manual) member's write target, so it can + // hold user-owned references (`` / `{{ENV}}`). Those are never workspace ids: + // keep them verbatim (the manual escape hatch), don't record or clear them. + if (isReference(ref.rawValue) || isEnvVarReference(ref.rawValue)) continue + const target = opts.resolve(forkKind, ref.rawValue) + const mapped = target != null + opts.record?.(forkKind, ref.rawValue, mapped) + if (mapped) { + if (target !== ref.rawValue) { + const replaced = definition.codec.replace(value, ref.rawValue, target) + if (replaced.success) { + value = replaced.nextValue + if (opts.isCopiedTarget?.(forkKind, ref.rawValue)) { + copyRemappedSubBlockIds.add(paramId) + } + } + } + } else if (opts.clearUnresolved) { + // Drop only this unresolved entry (blank it - empties are filtered at parse + // time), so a mixed copied/uncopied multi-value field keeps its copied refs. + const replaced = definition.codec.replace(value, ref.rawValue, '') if (replaced.success) value = replaced.nextValue } - } else if (opts.clearUnresolved) { - // Drop only this unresolved entry (blank it - empties are filtered at parse - // time), so a mixed copied/uncopied multi-value field keeps its copied refs. - const replaced = definition.codec.replace(value, ref.rawValue, '') - if (replaced.success) value = replaced.nextValue } - } - if (value !== currentValue) { - setParam(paramId, value) - remappedParamIds.add(paramId) + if (value !== currentValue) { + setParam(paramKey, value) + remappedParamIds.add(paramKey) + remappedSubBlockIds.add(paramId) + } } } - if (remappedParamIds.size > 0) { - const toolBlockConfig = opts.blockConfigs?.[tool.type] ?? getBlock(tool.type) - const toolSubBlocks = toolBlockConfig?.subBlocks - if (toolSubBlocks) { - const currentParams = nextParams ?? params - for (const paramId of remappedParamIds) { - for (const clear of getWorkflowSearchDependentClears(toolSubBlocks, paramId)) { - if (remappedParamIds.has(clear.subBlockId)) continue - const existing = currentParams[clear.subBlockId] + if (remappedSubBlockIds.size > 0 && toolBlockSubBlocks) { + const configBySubBlockId = new Map( + toolBlockSubBlocks.filter((cfg) => cfg.id).map((cfg) => [cfg.id, cfg]) + ) + const currentParams = nextParams ?? params + const readParam = (cfg: SubBlockConfig | undefined, subBlockId: string): unknown => { + const direct = currentParams[subBlockId] + if (direct != null && direct !== '') return direct + const canonicalKey = cfg?.canonicalParamId + return canonicalKey ? currentParams[canonicalKey] : direct + } + // A params key equal to a pair's shared `canonicalParamId` is also the advanced (manual) + // member's write target. When the pair resolves to advanced, that key holds the + // user-owned manual value - verbatim by policy, so the clear pass must not blank it. + const isManualCanonicalValue = (cfg: SubBlockConfig | undefined, key: string): boolean => + cfg?.canonicalParamId === key && gates.isAdvancedActiveGroup(key) + for (const subBlockId of remappedSubBlockIds) { + const parentCfg = configBySubBlockId.get(subBlockId) + const parentRemappedNonEmpty = isNonEmptyValue(readParam(parentCfg, subBlockId)) + const parentCopied = parentRemappedNonEmpty && copyRemappedSubBlockIds.has(subBlockId) + for (const clear of getWorkflowSearchDependentClears(toolBlockSubBlocks, subBlockId)) { + const dependentCfg = configBySubBlockId.get(clear.subBlockId) + // A verbatim manual-parent dependent is never cleared, even when reachable from a + // second (remapped) parent. + if (gates.isManualParentDependent(clear.subBlockId)) continue + // Tag fields are name/slot-based, portable onto a copied or mapped-equivalent + // parent - preserve them when the parent remapped to a target instead of clearing. + // A COPIED parent additionally keeps copy-faithful dependents (column picks - the + // copy duplicates the table schema verbatim, so column ids stay valid). + if ( + parentRemappedNonEmpty && + dependentCfg && + (PRESERVED_NAME_BASED_DEPENDENT_TYPES.has(dependentCfg.type) || + (parentCopied && PRESERVED_UNDER_COPY_DEPENDENT_TYPES.has(dependentCfg.type))) + ) { + continue + } + const clearKeys = new Set( + [clear.subBlockId, dependentCfg?.canonicalParamId].filter( + (key): key is string => typeof key === 'string' && key.length > 0 + ) + ) + // A dependent that was itself remapped followed the parent onto the target - + // keep it (matching the top-level pass), under whichever key it was written. + if ([...clearKeys].some((key) => remappedParamIds.has(key))) continue + for (const clearKey of clearKeys) { + const existing = currentParams[clearKey] if (existing === '' || existing == null) continue - setParam(clear.subBlockId, '') + // User-owned references (`` / `{{ENV}}`) resolve at runtime and are + // never scoped to the old parent's id space - keep them verbatim. + if ( + typeof existing === 'string' && + (isReference(existing) || isEnvVarReference(existing)) + ) { + continue + } + if (isManualCanonicalValue(dependentCfg, clearKey)) continue + setParam(clearKey, '') } } } @@ -362,6 +610,10 @@ interface ForkToolInputOptions { record?: (kind: ForkRemapKind, sourceId: string, mapped: boolean) => void /** Target MCP server row lookup for rewriting a remapped MCP entry's server metadata. */ resolveMcpServerMeta?: ForkMcpServerMetaResolver + /** Copy provenance for a resolved target (see {@link RemapForkContext.isCopiedTarget}). */ + isCopiedTarget?: (kind: ForkRemapKind, sourceId: string) => boolean + /** Block-level canonical-mode overrides (`${toolType}:`-scoped for nested tools). */ + parentCanonicalModes?: CanonicalModeOverrides } /** @@ -440,6 +692,8 @@ function remapForkToolInputValue( resolveFileKey: (key) => resolve('file', key) ?? null, record: opts.record, clearUnresolved: opts.clearUnresolved, + isCopiedTarget: opts.isCopiedTarget, + parentCanonicalModes: opts.parentCanonicalModes, }) if (remapped !== tool) changed = true return [remapped] @@ -501,6 +755,7 @@ export function remapForkSubBlocks( const references = new Map() const unmapped = new Map() const remappedKeys = new Set() + const copyRemappedKeys = new Set() /** MCP server ids remapped to a DIFFERENT mapped target this pass (source id -> target id). */ const mcpServerRemaps = new Map() @@ -510,24 +765,19 @@ export function remapForkSubBlocks( if (!mapped) unmapped.set(key, reference) } - // DETECTION gate: a DORMANT canonical member's stale value must not be recorded as a reference - // (so it is never offered as a required mapping / copyable / usage and can't gate sync). The value - // REWRITE below is untouched - both basic + advanced ids are still remapped. Needs `blockType` to - // build the canonical index; callers that omit it (create-mode transforms) keep today's detection, - // and with `canonicalModes` absent the value heuristic keeps a populated member active (no-op). - const canonicalIndex = context?.blockType - ? buildCanonicalIndex(getBlock(context.blockType)?.subBlocks ?? []) - : undefined - const detectionValues = canonicalIndex ? buildSubBlockValues(subBlocks) : {} - const isDormantCanonicalMember = (key: string): boolean => { - if (!canonicalIndex) return false - const baseKey = key.replace(/_\d+$/, '') - const canonicalId = canonicalIndex.canonicalIdBySubBlockId[baseKey] - const group = canonicalId ? canonicalIndex.groupsById[canonicalId] : undefined - if (!group || !isCanonicalPair(group)) return false - const activeMode = resolveCanonicalMode(group, detectionValues, context?.canonicalModes) - return (activeMode === 'advanced') !== group.advancedIds.includes(baseKey) - } + // Mode policy (see {@link createCanonicalModeGates}): only the ACTIVE canonical member is a + // real reference. An active BASIC selector is remapped + detected (mapping/copy/blockers); an + // active ADVANCED (manual) member - and every dependent scoped to it - passes through VERBATIM + // (user-owned, never remapped, never a mapping requirement); a DORMANT member's value is + // CLEARED outright (below) so no stale id ever survives in an inactive slot. A condition-hidden + // subblock is still rewritten but not detected. Needs `blockType` for the config; an unknown + // block type gets no gating (everything detected, nothing passed through - the conservative + // default). + const gates = createCanonicalModeGates( + context?.blockType ? getBlock(context.blockType)?.subBlocks : undefined, + buildSubBlockValues(subBlocks), + context?.canonicalModes + ) for (const [subBlockKey, subBlock] of Object.entries(subBlocks)) { if (!subBlock || typeof subBlock !== 'object') { @@ -544,9 +794,19 @@ export function remapForkSubBlocks( ) const forkKind = definition ? REGISTRY_KIND_TO_FORK_KIND[definition.kind] : undefined - if (definition && forkKind && subBlockType) { - // A dormant canonical member is rewritten (below) but NOT detected as a reference. - const isDormant = isDormantCanonicalMember(subBlockKey) + // Mode policy per key: a DORMANT canonical member's value is cleared outright (only the + // active mode matters - a stale inactive value must not survive the copy); a dependent + // under a MANUAL (advanced-active) parent passes through verbatim; a condition-hidden + // subblock is rewritten but never detected. + const dormant = gates.isDormantMember(subBlockKey) + const verbatimManualDependent = !dormant && gates.isManualParentDependent(subBlockKey) + const detectionSkipped = + dormant || verbatimManualDependent || gates.isConditionHidden(subBlockKey) + if (dormant && isNonEmptyValue(value)) { + value = '' + } + + if (definition && forkKind && subBlockType && !verbatimManualDependent) { const parsed = parseWorkflowSearchSubBlockResources(value, { type: subBlockType as SubBlockType, }) @@ -565,12 +825,17 @@ export function remapForkSubBlocks( } const target = resolve(forkKind, ref.rawValue) const mapped = target != null - if (!isDormant) recordReference(`${forkKind}:${ref.rawValue}`, reference, mapped) + if (!detectionSkipped) recordReference(`${forkKind}:${ref.rawValue}`, reference, mapped) if (mapped) { if (target !== ref.rawValue) { if (forkKind === 'mcp-server') mcpServerRemaps.set(ref.rawValue, target) const replaceResult = definition.codec.replace(value, ref.rawValue, target) - if (replaceResult.success) value = replaceResult.nextValue + if (replaceResult.success) { + value = replaceResult.nextValue + if (context?.isCopiedTarget?.(forkKind, ref.rawValue)) { + copyRemappedKeys.add(subBlockKey) + } + } } } else if (clearUnresolved) { // Drop only this unresolved entry (blank it - empties are filtered at @@ -588,6 +853,7 @@ export function remapForkSubBlocks( // key once the file has been copied; an unmapped (uncopied) key is dropped by the remap // below. `file-selector` (external provider ids) is untouched. for (const fileKey of collectForkFileUploadKeys(value)) { + if (detectionSkipped) break recordReference( `file:${fileKey}`, { @@ -603,7 +869,8 @@ export function remapForkSubBlocks( } value = remapForkFileUploadValue(value, (sourceKey) => resolve('file', sourceKey) ?? null) } else if (subBlockType === 'tool-input' || subBlockType === 'skill-input') { - const record = (kind: ForkRemapKind, sourceId: string, mapped: boolean) => + const record = (kind: ForkRemapKind, sourceId: string, mapped: boolean) => { + if (detectionSkipped) return recordReference( `${kind}:${sourceId}`, { @@ -616,21 +883,27 @@ export function remapForkSubBlocks( }, mapped ) + } value = subBlockType === 'tool-input' ? remapForkToolInputValue(value, resolve, { clearUnresolved, record, resolveMcpServerMeta: context?.resolveMcpServerMeta, + isCopiedTarget: context?.isCopiedTarget, + parentCanonicalModes: context?.canonicalModes, }) : remapForkSkillInputValue(value, resolve, { clearUnresolved, record }) } if (value !== valueBeforeResource) remappedKeys.add(subBlockKey) - // Promote rewrites `{{ENV}}` refs via the resolver; fork preserves them by name. + // Promote rewrites `{{ENV}}` refs via the resolver; fork preserves them by name. A hidden + // field's ref is rewritten (kept verbatim when unmapped) but not recorded - it never + // executes, so it must not become a required sync blocker. if (mode === 'promote') { value = remapEnvInValue(value, resolve, (sourceId, mapped) => { + if (detectionSkipped) return recordReference( `env-var:${sourceId}`, { @@ -680,6 +953,7 @@ export function remapForkSubBlocks( references: Array.from(references.values()), unmapped: Array.from(unmapped.values()), remappedKeys, + copyRemappedKeys, } } @@ -689,20 +963,26 @@ export function remapForkSubBlocks( * Slack channel, a sheet tab) never carries a stale id into the target. Uses * the same dependent walk as search-replace (canonical-pair aware, transitive * over `dependsOn` chains) so fork/promote and in-editor search-replace clear - * identically - with ONE remap-specific exemption: an `mcp-tool-selector` under - * an `mcp-server-selector` parent that was REMAPPED to a mapped target (its - * post-remap value is non-empty) is preserved along with its own dependents - * (the tool's arguments), because mapping asserts the servers are equivalent - * and {@link remapForkSubBlocks} already followed the selection onto the target - * server. A CLEARED server (unmapped / fork-create) still clears its dependents. - * Children of an unchanged parent are preserved; a no-op for unknown block - * types or when nothing was remapped. + * identically - with two remap-specific exemptions for dependents that stay + * valid on the remapped target: an `mcp-tool-selector` under an + * `mcp-server-selector` parent REMAPPED to a mapped target (its post-remap + * value is non-empty) is preserved along with its own dependents (the tool's + * arguments), because mapping asserts the servers are equivalent and + * {@link remapForkSubBlocks} already followed the selection onto the target + * server; and the name/slot-based tag fields (`knowledge-tag-filters`, + * `document-tag-entry`) are preserved under any parent remapped to a non-empty + * target - a copy duplicates the tag definitions verbatim and a mapping asserts + * equivalence. A CLEARED parent (unmapped / fork-create) still clears its + * dependents. Children of an unchanged parent are preserved; a no-op for + * unknown block types or when nothing was remapped. */ export function clearDependentsOnRemap( subBlocks: SubBlockRecord, blockType: string, remappedKeys: ReadonlySet, - canonicalModes?: CanonicalModeOverrides + canonicalModes?: CanonicalModeOverrides, + /** Keys remapped via a COPY (see {@link RemapSubBlocksResult.copyRemappedKeys}). */ + copyRemappedKeys?: ReadonlySet ): SubBlockRecord { if (remappedKeys.size === 0) return subBlocks const config = getBlock(blockType) @@ -713,16 +993,11 @@ export function clearDependentsOnRemap( // (only the active mode is serialized). With `canonicalModes` absent the value heuristic keeps a // populated basic member active, so this is a no-op for the normal case; the gate only bites the // toggle-with-stale-dormant edge (advanced active + a dormant basic that was remapped). - const canonicalIndex = buildCanonicalIndex(config.subBlocks) - const values = buildSubBlockValues(subBlocks) - const isDormantCanonicalMember = (key: string): boolean => { - const baseKey = key.replace(/_\d+$/, '') - const canonicalId = canonicalIndex.canonicalIdBySubBlockId[baseKey] - const group = canonicalId ? canonicalIndex.groupsById[canonicalId] : undefined - if (!group || !isCanonicalPair(group)) return false - const mode = resolveCanonicalMode(group, values, canonicalModes) - return (mode === 'advanced') !== group.advancedIds.includes(baseKey) - } + const gates = createCanonicalModeGates( + config.subBlocks, + buildSubBlockValues(subBlocks), + canonicalModes + ) // The exemption's parent test: an mcp-server selector whose POST-remap value is non-empty was // remapped to a mapped target (a cleared one is empty), so its tool selection is preserved. @@ -735,27 +1010,48 @@ export function clearDependentsOnRemap( return parent && typeof parent === 'object' ? isNonEmptyValue(parent.value) : false } - // The preserve decision is hoisted out of the per-key walk and keyed on the SELECTOR (not on + // A parent key remapped to a non-empty target (a cleared one is empty post-remap): its + // name/slot-based dependents (tag filters / document tags) stay valid on the target - + // mapping asserts equivalence and a copy duplicates the tag definitions verbatim. + const isRemappedToNonEmpty = (key: string): boolean => { + const parent = subBlocks[key] + return parent && typeof parent === 'object' ? isNonEmptyValue(parent.value) : false + } + + // The preserve decision is hoisted out of the per-key walk and keyed on the DEPENDENT (not on // which remapped key reaches it): `toClear` is a union across per-key BFS passes (each with its // own `visited`), so an in-loop exemption holds only against the exempting key - a second - // remapped key (or a longer dependsOn path) reaching the same tool selector would re-add it. - // Unreachable with today's registry (the tool selector's only dependsOn parent is its server), - // but this makes the exemption independent of key order and path by construction. - const preservedMcpToolSelectors = new Set() + // remapped key (or a longer dependsOn path) reaching the same dependent would re-add it. + // Preserved: an `mcp-tool-selector` under a remapped (non-empty) `mcp-server-selector`, and the + // name-based tag fields under ANY parent remapped to a non-empty target. + const preservedDependents = new Set() for (const key of remappedKeys) { - if (isDormantCanonicalMember(key) || !isRemappedMcpServerParent(key)) continue + if (gates.isDormantMember(key)) continue + const mcpParent = isRemappedMcpServerParent(key) + const nonEmptyParent = isRemappedToNonEmpty(key) + const copiedParent = nonEmptyParent && (copyRemappedKeys?.has(key) ?? false) + if (!mcpParent && !nonEmptyParent) continue for (const dependent of getSubBlocksDependingOnChange(config.subBlocks, key)) { - if (dependent.id && dependent.type === 'mcp-tool-selector') { - preservedMcpToolSelectors.add(dependent.id) + if (!dependent.id) continue + if (mcpParent && dependent.type === 'mcp-tool-selector') { + preservedDependents.add(dependent.id) + } + if (nonEmptyParent && PRESERVED_NAME_BASED_DEPENDENT_TYPES.has(dependent.type)) { + preservedDependents.add(dependent.id) + } + if (copiedParent && PRESERVED_UNDER_COPY_DEPENDENT_TYPES.has(dependent.type)) { + preservedDependents.add(dependent.id) } } } - // Same BFS as `getWorkflowSearchDependentClears`, with the preserved tool selector's subtree - // pruned (skipping it keeps its own dependents - the arguments - out of the clear set too). + // Same BFS as `getWorkflowSearchDependentClears`, with each preserved dependent's subtree + // pruned (skipping it keeps its own dependents - e.g. a tool's arguments - out of the clear + // set). A dependent under an ACTIVE MANUAL parent is verbatim by policy (the manual value is + // never remapped), so it is pruned the same way. const toClear = new Set() for (const key of remappedKeys) { - if (isDormantCanonicalMember(key)) continue + if (gates.isDormantMember(key)) continue const visited = new Set([key]) const queue = [key] while (queue.length > 0) { @@ -763,7 +1059,8 @@ export function clearDependentsOnRemap( if (!current) continue for (const dependent of getSubBlocksDependingOnChange(config.subBlocks, current)) { if (!dependent.id || visited.has(dependent.id)) continue - if (preservedMcpToolSelectors.has(dependent.id)) continue + if (preservedDependents.has(dependent.id)) continue + if (gates.isManualParentDependent(dependent.id)) continue visited.add(dependent.id) if (!remappedKeys.has(dependent.id)) toClear.add(dependent.id) queue.push(dependent.id) @@ -776,6 +1073,17 @@ export function clearDependentsOnRemap( const existing = subBlocks[id] if (!existing || typeof existing !== 'object') continue if (existing.value === '' || existing.value == null) continue + // User-owned references (`` / `{{ENV}}`) resolve at runtime and are never + // scoped to the old parent's id space - keep them verbatim. + if ( + typeof existing.value === 'string' && + (isReference(existing.value) || isEnvVarReference(existing.value)) + ) { + continue + } + // A live manual (advanced) member is user-owned and verbatim by policy - a parent remap + // must not blank it (matching how manual values are never remapped). A dormant one may. + if (gates.isActiveManualMember(id)) continue next ??= { ...subBlocks } next[id] = { ...existing, value: '' } } @@ -815,7 +1123,8 @@ function collectClearedToolParamDependents( blockName: string, targetCurrentValue: unknown, mergedValue: unknown, - out: NeedsConfigurationField[] + out: NeedsConfigurationField[], + parentCanonicalModes?: CanonicalModeOverrides ): void { const { array: targetTools } = coerceObjectArray(targetCurrentValue) const { array: mergedTools } = coerceObjectArray(mergedValue) @@ -838,12 +1147,21 @@ function collectClearedToolParamDependents( typeof tool.operation === 'string' ? { operation: tool.operation, ...mergedParams } : mergedParams + // A DORMANT canonical member's cleared slot is not a lost configuration (only the pair's + // active member executes). Modes resolve like the tool-input UI: tool-scoped overrides, + // then the value heuristic over the merged params. + const gates = createCanonicalModeGates( + toolConfig.subBlocks, + mergedValues, + scopeCanonicalModesForTool(parentCanonicalModes, tool.type) + ) const toolLabel = typeof tool.title === 'string' && tool.title ? tool.title : toolConfig.name for (const cfg of toolConfig.subBlocks) { if (!cfg.dependsOn || !cfg.id) continue // Only flag a param the TARGET tool had configured (not one the source carried in). if (!isNonEmptyValue(targetParams[cfg.id])) continue if (isNonEmptyValue(mergedParams[cfg.id])) continue + if (gates.isDormantMember(cfg.id)) continue // Skip fields gated off by their `condition` (a stale value under an inactive // operation isn't actually required now). if (cfg.condition && !evaluateSubBlockCondition(cfg.condition, mergedValues)) continue @@ -874,22 +1192,27 @@ export function collectClearedDependents( blockId: string, blockName: string, targetCurrentSubBlocks: SubBlockRecord, - mergedSubBlocks: SubBlockRecord + mergedSubBlocks: SubBlockRecord, + canonicalModes?: CanonicalModeOverrides ): NeedsConfigurationField[] { const config = getBlock(blockType) if (!config) return [] const targetValues = buildSubBlockValues(targetCurrentSubBlocks) const mergedValues = buildSubBlockValues(mergedSubBlocks) + // A DORMANT canonical member the merge cleared is not a lost configuration - only the pair's + // active member executes, so an inactive slot must never demand a re-pick. + const gates = createCanonicalModeGates(config.subBlocks, mergedValues, canonicalModes) const fields: NeedsConfigurationField[] = [] for (const cfg of config.subBlocks) { if (!cfg.id) continue // Only flag a field the target had configured (so the user lost their own selection), // still empty after merge, and currently active (a value under a now-inactive - // `condition`/operation isn't really in play). + // `condition`/operation or a dormant canonical member isn't really in play). if ( cfg.dependsOn && isNonEmptyValue(targetValues[cfg.id]) && !isNonEmptyValue(mergedValues[cfg.id]) && + !gates.isDormantMember(cfg.id) && (!cfg.condition || evaluateSubBlockCondition(cfg.condition, mergedValues)) ) { fields.push({ @@ -907,7 +1230,8 @@ export function collectClearedDependents( blockName, targetValues[cfg.id], mergedValues[cfg.id], - fields + fields, + canonicalModes ) } } @@ -931,9 +1255,10 @@ export function parseNestedDependentKey( /** * Read a dependent field's currently-configured value from a target block's draft subBlocks - - * the first-sync fallback used when the stored mapping has no entry yet. Seeds the diff pre-fill - * from the TARGET (never the source, which would overwrite the target's own selection on an edge - * that predates the store). Identity-aware: for a nested `toolInput[index].paramId` key it only + * the first-sync fallback used when the stored mapping has no entry yet (fork-create seeds + * mappings but no dependent values, so every edge starts here). Seeds the diff pre-fill from + * the TARGET (never the source, which would overwrite the target's own selection). + * Identity-aware: for a nested `toolInput[index].paramId` key it only * reads the target draft's param when the target tool at that index is the SAME tool type the * SOURCE dependent hangs off; otherwise that index holds a different tool whose value isn't this * field's. Returns '' when unset or when identity can't be verified. @@ -1081,6 +1406,8 @@ export function createForkSubBlockTransform( options?: { /** Mapped-target MCP server rows, so remapped tool-input entries rewrite their server metadata. */ resolveMcpServerMeta?: ForkMcpServerMetaResolver + /** Copy provenance (promote's copy-selection overlay), keeping copy-faithful dependents. */ + isCopiedTarget?: (kind: ForkRemapKind, sourceId: string) => boolean } ): ( subBlocks: SubBlockRecord, @@ -1089,9 +1416,18 @@ export function createForkSubBlockTransform( ) => SubBlockRecord { return (subBlocks, blockType, canonicalModes) => { const result = remapSubBlocks(subBlocks, resolve, { + blockType, + canonicalModes, resolveMcpServerMeta: options?.resolveMcpServerMeta, + isCopiedTarget: options?.isCopiedTarget, }) - return clearDependentsOnRemap(result.subBlocks, blockType, result.remappedKeys, canonicalModes) + return clearDependentsOnRemap( + result.subBlocks, + blockType, + result.remappedKeys, + canonicalModes, + result.copyRemappedKeys + ) } } diff --git a/apps/sim/lib/workspaces/fork/remap/remap-table-groups.test.ts b/apps/sim/ee/workspace-forking/lib/remap/remap-table-groups.test.ts similarity index 96% rename from apps/sim/lib/workspaces/fork/remap/remap-table-groups.test.ts rename to apps/sim/ee/workspace-forking/lib/remap/remap-table-groups.test.ts index c49ee410b03..edc97cb3d16 100644 --- a/apps/sim/lib/workspaces/fork/remap/remap-table-groups.test.ts +++ b/apps/sim/ee/workspace-forking/lib/remap/remap-table-groups.test.ts @@ -6,8 +6,8 @@ import type { TableSchema } from '@/lib/table/types' import { buildForkBlockIdResolver, deriveForkBlockId, -} from '@/lib/workspaces/fork/remap/block-identity' -import { remapForkTableWorkflowGroups } from '@/lib/workspaces/fork/remap/remap-table-groups' +} from '@/ee/workspace-forking/lib/remap/block-identity' +import { remapForkTableWorkflowGroups } from '@/ee/workspace-forking/lib/remap/remap-table-groups' describe('remapForkTableWorkflowGroups', () => { it('remaps a manual group workflowId and outputs[].blockId to child ids', () => { diff --git a/apps/sim/lib/workspaces/fork/remap/remap-table-groups.ts b/apps/sim/ee/workspace-forking/lib/remap/remap-table-groups.ts similarity index 97% rename from apps/sim/lib/workspaces/fork/remap/remap-table-groups.ts rename to apps/sim/ee/workspace-forking/lib/remap/remap-table-groups.ts index 1d278f2b2ad..592f0565cc7 100644 --- a/apps/sim/lib/workspaces/fork/remap/remap-table-groups.ts +++ b/apps/sim/ee/workspace-forking/lib/remap/remap-table-groups.ts @@ -2,7 +2,7 @@ import type { TableSchema } from '@/lib/table/types' import { deriveForkBlockId, type ForkBlockIdResolver, -} from '@/lib/workspaces/fork/remap/block-identity' +} from '@/ee/workspace-forking/lib/remap/block-identity' /** * Remap the workflow/block references embedded in a copied table's schema so its diff --git a/apps/sim/lib/workspaces/fork/socket.ts b/apps/sim/ee/workspace-forking/lib/socket.ts similarity index 100% rename from apps/sim/lib/workspaces/fork/socket.ts rename to apps/sim/ee/workspace-forking/lib/socket.ts diff --git a/apps/sim/hooks/queries/background-work.ts b/apps/sim/hooks/queries/background-work.ts deleted file mode 100644 index 8af0e33ab68..00000000000 --- a/apps/sim/hooks/queries/background-work.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { useQuery } from '@tanstack/react-query' -import { requestJson } from '@/lib/api/client/request' -import { - type BackgroundWorkItem, - getWorkspaceBackgroundWorkContract, -} from '@/lib/api/contracts/workspace-fork' - -export const backgroundWorkKeys = { - all: ['backgroundWork'] as const, - lists: () => [...backgroundWorkKeys.all, 'list'] as const, - list: (workspaceId?: string) => [...backgroundWorkKeys.lists(), workspaceId ?? ''] as const, -} - -export const BACKGROUND_WORK_STALE_TIME = 5_000 - -async function fetchWorkspaceBackgroundWork( - workspaceId: string, - signal?: AbortSignal -): Promise { - const data = await requestJson(getWorkspaceBackgroundWorkContract, { - params: { id: workspaceId }, - signal, - }) - return data.items -} - -const isActive = (item: BackgroundWorkItem) => - item.status === 'pending' || item.status === 'processing' - -/** - * Durable "background work in progress" status for a workspace (fork content copy + - * any deployment side-effects). Poll-first per the best-practice for long jobs: the - * status survives a reload (it's a DB row), and we only keep polling while something is - * still running, then stop. Refetch on focus catches changes after the tab was away. - */ -export function useWorkspaceBackgroundWork(workspaceId?: string) { - return useQuery({ - queryKey: backgroundWorkKeys.list(workspaceId), - queryFn: ({ signal }) => fetchWorkspaceBackgroundWork(workspaceId as string, signal), - enabled: Boolean(workspaceId), - staleTime: BACKGROUND_WORK_STALE_TIME, - refetchInterval: (query) => ((query.state.data ?? []).some(isActive) ? 5_000 : false), - refetchOnWindowFocus: true, - }) -} diff --git a/apps/sim/lib/api/contracts/workspace-fork.test.ts b/apps/sim/lib/api/contracts/workspace-fork.test.ts index bdfdf40ea66..0441151bc54 100644 --- a/apps/sim/lib/api/contracts/workspace-fork.test.ts +++ b/apps/sim/lib/api/contracts/workspace-fork.test.ts @@ -3,7 +3,10 @@ */ import { describe, expect, it } from 'vitest' import { + forkLineageChildSchema, + forkLineageNodeSchema, forkMappableResourceTypeSchema, + getWorkspaceBackgroundWorkQuerySchema, updateForkMappingBodySchema, } from '@/lib/api/contracts/workspace-fork' @@ -33,6 +36,43 @@ describe('forkMappableResourceTypeSchema', () => { }) }) +describe('forkLineageNodeSchema', () => { + const baseNode = { id: 'ws-1', name: 'Parent', organizationId: null } + + it('requires viewerAccessible on every node (both accessible and inaccessible parse)', () => { + expect(forkLineageNodeSchema.safeParse(baseNode).success).toBe(false) + expect(forkLineageNodeSchema.safeParse({ ...baseNode, viewerAccessible: true }).success).toBe( + true + ) + expect(forkLineageNodeSchema.safeParse({ ...baseNode, viewerAccessible: false }).success).toBe( + true + ) + }) + + it('requires viewerAccessible on child nodes too', () => { + const child = { ...baseNode, createdAt: '2026-01-01T00:00:00.000Z' } + expect(forkLineageChildSchema.safeParse(child).success).toBe(false) + expect(forkLineageChildSchema.safeParse({ ...child, viewerAccessible: false }).success).toBe( + true + ) + }) +}) + +describe('getWorkspaceBackgroundWorkQuerySchema', () => { + it('defaults the limit to 50 and clamps it to 1..100 (audit-log behavior)', () => { + expect(getWorkspaceBackgroundWorkQuerySchema.parse({}).limit).toBe(50) + expect(getWorkspaceBackgroundWorkQuerySchema.parse({ limit: '25' }).limit).toBe(25) + expect(getWorkspaceBackgroundWorkQuerySchema.parse({ limit: '5000' }).limit).toBe(100) + expect(getWorkspaceBackgroundWorkQuerySchema.parse({ limit: '-3' }).limit).toBe(1) + expect(getWorkspaceBackgroundWorkQuerySchema.parse({ limit: 'garbage' }).limit).toBe(50) + }) + + it('treats the cursor as an optional opaque string', () => { + expect(getWorkspaceBackgroundWorkQuerySchema.parse({}).cursor).toBeUndefined() + expect(getWorkspaceBackgroundWorkQuerySchema.parse({ cursor: 'abc' }).cursor).toBe('abc') + }) +}) + describe('updateForkMappingBodySchema', () => { const base = { otherWorkspaceId: 'ws-1', direction: 'push' as const } @@ -62,4 +102,30 @@ describe('updateForkMappingBodySchema', () => { }) expect(result.success).toBe(false) }) + + it('accepts optional dependentValues, including cleared (empty-string) values', () => { + const result = updateForkMappingBodySchema.safeParse({ + ...base, + entries: [{ resourceType: 'oauth_credential', sourceId: 'cred-1', targetId: 'cred-2' }], + dependentValues: [ + { workflowId: 'wf-1', blockId: 'block-1', subBlockKey: 'label', value: 'INBOX' }, + { workflowId: 'wf-1', blockId: 'block-2', subBlockKey: 'sheet', value: '' }, + ], + }) + expect(result.success).toBe(true) + }) + + it('rejects a dependent value with an empty blockId or subBlockKey', () => { + for (const entry of [ + { workflowId: 'wf-1', blockId: '', subBlockKey: 'label', value: 'INBOX' }, + { workflowId: 'wf-1', blockId: 'block-1', subBlockKey: '', value: 'INBOX' }, + ]) { + const result = updateForkMappingBodySchema.safeParse({ + ...base, + entries: [], + dependentValues: [entry], + }) + expect(result.success).toBe(false) + } + }) }) diff --git a/apps/sim/lib/api/contracts/workspace-fork.ts b/apps/sim/lib/api/contracts/workspace-fork.ts index ec1280b9d15..dfee73e17b8 100644 --- a/apps/sim/lib/api/contracts/workspace-fork.ts +++ b/apps/sim/lib/api/contracts/workspace-fork.ts @@ -27,6 +27,12 @@ export const forkResourceTypeSchema = z.enum([ 'knowledge_document', 'file', 'mcp_server', + /** + * Workflow-publishing MCP server identity (parent shell <-> fork copy), seeded at fork so a + * sync can mirror `workflow_mcp_tool` attachments onto the mapped counterpart. System-managed; + * never user-mapped (nothing in a workflow references these servers). + */ + 'workflow_mcp_server', 'custom_tool', 'skill', ]) @@ -35,12 +41,16 @@ export const forkResourceTypeSchema = z.enum([ * Resource types a user may map via the mapping editor. Excludes `workflow` (identity is * system-managed - seeded at fork, maintained by promote, dissolved by rollback - and must never * be written through the editor, or a crafted entry could repoint a promote at the wrong target - * workflow) AND `knowledge_document` (a document is never a standalone mapping: it follows its - * parent knowledge base, re-picked in that KB's reconfigure flow and auto-remapped when the KB is - * copied - the mapping view never emits one and `listForkResourceCandidates` returns none). + * workflow), `workflow_mcp_server` (identity is likewise system-managed - seeded when a fork + * copies the server shells - and nothing in a workflow references one, so there is never a + * mapping entry to edit), AND `knowledge_document` (a document is never a standalone mapping: it + * follows its parent knowledge base, re-picked in that KB's reconfigure flow and auto-remapped + * when the KB is copied - the mapping view never emits one and `listForkResourceCandidates` + * returns none). */ export const forkMappableResourceTypeSchema = forkResourceTypeSchema.exclude([ 'workflow', + 'workflow_mcp_server', 'knowledge_document', ]) export type ForkMappableResourceType = z.infer @@ -49,8 +59,8 @@ export const forkDirectionSchema = z.enum(['push', 'pull']) /** * The remappable, copyable resource kinds a sync can copy into the target when they are - * referenced but unmapped (the fork-style copy at promote time). Excludes credentials, env - * vars, and external MCP servers (never copied this way); documents are auto-copied with their + * unmapped (the fork-style copy at promote time), whether referenced by the synced workflows or + * not. Excludes credentials and env vars (never copied); documents are auto-copied with their * parent knowledge base, not selected individually. Workspace `file` references are keyed by * storage key (not `workspace_files.id`) and copied like fork does. */ @@ -60,6 +70,11 @@ export const forkCopyableKindSchema = z.enum([ 'custom-tool', 'skill', 'file', + /** + * External MCP servers copy as CONFIG rows (transport/url/headers verbatim; OAuth tokens + * never copied - oauth-auth servers land disconnected until re-authorized in the target). + */ + 'mcp-server', ]) export type ForkCopyableKind = z.infer @@ -67,6 +82,18 @@ export const forkLineageNodeSchema = z.object({ id: z.string(), name: z.string(), organizationId: z.string().nullable(), + /** + * Whether the viewer has any access (read or higher, explicit or org-derived) to this + * lineage workspace. Drives the Forks page's row-action gating - lineage rows are visible + * to any admin of the CURRENT workspace, who may hold no access to the other side. + */ + viewerAccessible: z.boolean(), +}) + +/** A live fork of this workspace, listed read-only on the Forks settings page. */ +export const forkLineageChildSchema = forkLineageNodeSchema.extend({ + /** When the fork was created (ISO timestamp). */ + createdAt: z.string(), }) export const getForkLineageContract = defineRouteContract({ @@ -78,6 +105,8 @@ export const getForkLineageContract = defineRouteContract({ schema: z.object({ workspaceId: z.string(), parent: forkLineageNodeSchema.nullable(), + /** Live forks created from this workspace, newest first. */ + children: z.array(forkLineageChildSchema), /** The most recent undoable promote into this workspace, for the rollback UI. */ undoableRun: z .object({ @@ -90,6 +119,7 @@ export const getForkLineageContract = defineRouteContract({ }, }) export type ForkLineageNodeApi = z.output +export type ForkLineageChildApi = z.output export type GetForkLineageResponse = z.output const forkResourceIdList = z.array(nonEmptyIdSchema).max(2000).optional() @@ -100,8 +130,13 @@ export const forkResourceSelectionSchema = z.object({ knowledgeBases: forkResourceIdList, customTools: forkResourceIdList, skills: forkResourceIdList, - // External MCP servers are never copied (they carry secrets / require re-auth); only - // workflow-publishing MCP servers are copyable, as config-only shells with no workflows. + /** + * External MCP servers, copied as config rows (transport/url/headers) so MCP tool selections + * in the forked workflows keep working. OAuth tokens are never copied - an oauth-auth server + * lands disconnected in the child until re-authorized; tools re-discover on first use. + */ + mcpServers: forkResourceIdList, + /** Workflow-publishing MCP servers, copied as config-only shells with no workflows attached. */ workflowMcpServers: forkResourceIdList, }) @@ -153,6 +188,8 @@ export const getForkResourcesContract = defineRouteContract({ knowledgeBases: z.array(forkCopyableResourceSchema), customTools: z.array(forkCopyableResourceSchema), skills: z.array(forkCopyableResourceSchema), + /** External MCP servers (config rows; OAuth tokens never copied). */ + mcpServers: z.array(forkCopyableResourceSchema), workflowMcpServers: z.array(forkCopyableResourceSchema), deployedWorkflowCount: z.number().int(), }), @@ -207,6 +244,22 @@ export const getForkMappingContract = defineRouteContract({ }) export type GetForkMappingResponse = z.output +/** + * One dependent field's value in the stored mapping. The sync modal and the Forks + * settings page's mapping editor send the full set for every dependent whose parent is + * mapped; the server persists them to `workspace_fork_dependent_value` (promote also + * applies them verbatim to the target blocks), so the user's selection survives every + * future sync without re-picking. `blockId` is the deterministic fork block id, so the + * value lands on the right block. + */ +export const forkDependentValueEntrySchema = z.object({ + workflowId: nonEmptyIdSchema, + blockId: nonEmptyIdSchema, + subBlockKey: z.string().min(1, 'subBlockKey is required'), + value: z.string(), +}) +export type ForkDependentValueEntry = z.input + export const updateForkMappingBodySchema = z.object({ otherWorkspaceId: workspaceIdSchema, direction: forkDirectionSchema, @@ -219,6 +272,14 @@ export const updateForkMappingBodySchema = z.object({ }) ) .max(5000), + /** + * The full stored mapping of dependent-field values for the workflows it names; persisted + * to `workspace_fork_dependent_value` alongside the mapping entries (each named workflow's + * stored set is replaced by exactly what was sent - cleared fields drop out). Omitting the + * field leaves the stored mapping untouched. Unlike promote this only stores the values; + * they are applied to the target blocks on the next sync. + */ + dependentValues: z.array(forkDependentValueEntrySchema).max(2000).optional(), }) export const updateForkMappingContract = defineRouteContract({ method: 'PUT', @@ -280,6 +341,13 @@ export const forkDependentReconfigSchema = z.object({ * resolves against the new parent. */ currentValue: z.string(), + /** + * The field's raw value in the SOURCE workflow state (what the source references today), + * untouched by the stored/target-draft overlay that `currentValue` carries. Seeds the selector + * when the parent is resolved by COPY: the copy brings the source parent's children along, so + * the source reference is exactly what the copied parent will contain. + */ + sourceValue: z.string(), /** Whether the field is required - a required empty field blocks Sync. */ required: z.boolean(), /** @@ -376,10 +444,9 @@ export type ForkClearedRef = z.output /** * Why a would-clear reference blocks the sync, so clients can phrase the resolution: - * - `unmapped-copyable`: a live copyable-kind resource (table / KB / file / custom tool / skill) - * with no target mapping - resolve by mapping it or selecting it for copy. - * - `unmapped-mcp-server`: a live external MCP server with no target mapping - resolve by mapping - * (MCP servers are never copied; create one in the target first if none exists). + * - `unmapped-copyable`: a live copyable-kind resource (table / KB / file / custom tool / + * skill / external MCP server) with no target mapping - resolve by mapping it or selecting + * it for copy. * - `source-deleted`: the referenced resource was deleted in the source - resolve by mapping the * dead id to an existing live target resource, or by fixing/archiving the source workflow. * - `workflow-missing`: a cross-workflow reference to a workflow not carried into the target - @@ -387,7 +454,6 @@ export type ForkClearedRef = z.output */ export const forkSyncBlockerReasonSchema = z.enum([ 'unmapped-copyable', - 'unmapped-mcp-server', 'source-deleted', 'workflow-missing', ]) @@ -486,21 +552,6 @@ export const forkNeedsConfigurationSchema = z.object({ }) export type ForkNeedsConfiguration = z.output -/** - * One dependent field's value in the stored mapping. The sync modal sends the full set for - * every dependent whose parent is mapped; promote persists them to - * `workspace_fork_dependent_value` and applies them verbatim to the target blocks, so the - * user's selection survives every future sync without re-picking. `blockId` is the - * deterministic fork block id, so the value lands on the right block. - */ -export const forkDependentValueEntrySchema = z.object({ - workflowId: nonEmptyIdSchema, - blockId: nonEmptyIdSchema, - subBlockKey: z.string().min(1, 'subBlockKey is required'), - value: z.string(), -}) -export type ForkDependentValueEntry = z.input - /** * Source resource ids (by kind) the user chose to copy into the target before the sync gate - * unmapped resources, whether referenced by the synced workflows or not. Each kind's documents @@ -514,6 +565,8 @@ export const promoteCopyResourcesSchema = z.object({ skills: forkResourceIdList, /** Workspace files to copy, identified by storage key (not `workspace_files.id`). */ files: forkResourceIdList, + /** External MCP servers to copy as config rows (OAuth tokens never copied - re-auth). */ + mcpServers: forkResourceIdList, }) export type PromoteCopyResources = z.input @@ -586,8 +639,15 @@ export const backgroundWorkMetadataSchema = z fileNames: z.array(z.string()).optional(), customToolNames: z.array(z.string()).optional(), skillNames: z.array(z.string()).optional(), + mcpServerNames: z.array(z.string()).optional(), workflowMcpServerNames: z.array(z.string()).optional(), // Sync / rollback + /** + * The other side of the fork edge (by id) for sync/rollback/sync-copy rows. Written so + * the activity query can surface a row to BOTH edge workspaces, and so the client can + * tell which side a row was recorded on. + */ + otherWorkspaceId: z.string().optional(), otherWorkspaceName: z.string().optional(), direction: z.enum(['push', 'pull']).optional(), updated: z.number().int().optional(), @@ -622,13 +682,27 @@ export const backgroundWorkItemSchema = z.object({ completedAt: z.string().nullable(), }) export type BackgroundWorkMetadata = z.output +/** Keyset pagination inputs, mirroring the audit log's (`auditLogsQuerySchema`). */ +export const getWorkspaceBackgroundWorkQuerySchema = z.object({ + /** Opaque cursor from a prior page's `nextCursor`; omit for the first page. */ + cursor: z.string().optional(), + limit: z + .string() + .optional() + .transform((value) => Math.min(Math.max(Number(value) || 50, 1), 100)), +}) export const getWorkspaceBackgroundWorkContract = defineRouteContract({ method: 'GET', path: '/api/workspaces/[id]/background-work', params: workspaceIdParamsSchema, + query: getWorkspaceBackgroundWorkQuerySchema, response: { mode: 'json', - schema: z.object({ items: z.array(backgroundWorkItemSchema) }), + schema: z.object({ + items: z.array(backgroundWorkItemSchema), + /** Opaque keyset cursor for the next page; null when this page is the last. */ + nextCursor: z.string().nullable(), + }), }, }) export type BackgroundWorkItem = z.output @@ -657,3 +731,38 @@ export const rollbackForkContract = defineRouteContract({ }) export type RollbackForkBody = z.input export type RollbackForkResponse = z.output + +export const getForkAvailabilityContract = defineRouteContract({ + method: 'GET', + path: '/api/workspaces/[id]/fork/availability', + params: workspaceIdParamsSchema, + response: { + mode: 'json', + schema: z.object({ + /** Server-evaluated verdict of the fork gate: env/plan + AppConfig rollout flag. */ + available: z.boolean(), + }), + }, +}) +export type GetForkAvailabilityResponse = z.output< + typeof getForkAvailabilityContract.response.schema +> + +export const unlinkForkBodySchema = z.object({ + otherWorkspaceId: workspaceIdSchema, +}) +export const unlinkForkContract = defineRouteContract({ + method: 'POST', + path: '/api/workspaces/[id]/fork/unlink', + params: workspaceIdParamsSchema, + body: unlinkForkBodySchema, + response: { + mode: 'json', + schema: z.object({ + /** False when the edge was already dissolved by a concurrent unlink (idempotent no-op). */ + unlinked: z.boolean(), + }), + }, +}) +export type UnlinkForkBody = z.input +export type UnlinkForkResponse = z.output diff --git a/apps/sim/lib/compare/data/feature-catalog.ts b/apps/sim/lib/compare/data/feature-catalog.ts index 4f9c4b614db..c2f63d5efd5 100644 --- a/apps/sim/lib/compare/data/feature-catalog.ts +++ b/apps/sim/lib/compare/data/feature-catalog.ts @@ -422,7 +422,7 @@ export const SIM_FEATURES: SimFeature[] = [ asOf: '2026-07-02', }, { - url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/lib/workspaces/fork/promote/promote.ts', + url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/ee/workspace-forking/lib/promote/promote.ts', label: 'Sim codebase: fork promote engine', asOf: '2026-07-02', }, @@ -444,12 +444,12 @@ export const SIM_FEATURES: SimFeature[] = [ 'Treating credentials/env-vars as required-and-blocking on promote (rather than silently copying secrets) is a specific, auditable safety design for enterprise dev→qa→prod pipelines.', sources: [ { - url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/lib/workspaces/fork/create-fork.ts', + url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/ee/workspace-forking/lib/create-fork.ts', label: 'Sim codebase: fork creation (credentials cleared)', asOf: '2026-07-02', }, { - url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/lib/workspaces/fork/remap/remap-references.ts', + url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/ee/workspace-forking/lib/remap/remap-references.ts', label: 'Sim codebase: required-kinds remap/block logic', asOf: '2026-07-02', }, @@ -469,7 +469,7 @@ export const SIM_FEATURES: SimFeature[] = [ 'Forking/promotion is gated on the billed account having Enterprise-tier access on hosted Sim, mirroring the same access-gate pattern used for SSO. Self-hosted deployments can enable it independent of billing via a FORKING_ENABLED/NEXT_PUBLIC_FORKING_ENABLED environment flag.', sources: [ { - url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/lib/workspaces/fork/lineage/authz.ts', + url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/ee/workspace-forking/lib/lineage/authz.ts', label: 'Sim codebase: assertForkingEnabled / assertCanFork', asOf: '2026-07-02', }, diff --git a/apps/sim/lib/compare/data/sim.ts b/apps/sim/lib/compare/data/sim.ts index 360a0d93399..30e5e49ccbf 100644 --- a/apps/sim/lib/compare/data/sim.ts +++ b/apps/sim/lib/compare/data/sim.ts @@ -57,7 +57,7 @@ export const simProfile: CompetitorProfile = { 'Fork a whole workspace into a dev/qa/prod-style child environment, preview a diff, and promote changes bidirectionally. Credential and env-var remapping is required on every promote, so secrets never cross environments silently.', shortDescription: 'Fork, diff, and promote environments with mandatory credential remapping.', source: { - url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/lib/workspaces/fork/promote/promote.ts', + url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/ee/workspace-forking/lib/promote/promote.ts', label: 'Sim codebase: fork promote engine', asOf: '2026-07-02', }, @@ -227,7 +227,7 @@ export const simProfile: CompetitorProfile = { asOf: '2026-07-02', }, { - url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/lib/workspaces/fork/promote/promote.ts', + url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/ee/workspace-forking/lib/promote/promote.ts', label: 'Sim codebase: fork promote engine', asOf: '2026-07-02', }, diff --git a/packages/audit/src/types.ts b/packages/audit/src/types.ts index ab0818a5724..9d58bea4ddb 100644 --- a/packages/audit/src/types.ts +++ b/packages/audit/src/types.ts @@ -179,6 +179,7 @@ export const AuditAction = { WORKSPACE_FORKED: 'workspace.forked', WORKSPACE_FORK_PROMOTED: 'workspace.fork_promoted', WORKSPACE_FORK_ROLLED_BACK: 'workspace.fork_rolled_back', + WORKSPACE_FORK_UNLINKED: 'workspace.fork_unlinked', } as const export type AuditActionType = (typeof AuditAction)[keyof typeof AuditAction] diff --git a/packages/db/migrations/0257_majestic_chat.sql b/packages/db/migrations/0257_majestic_chat.sql new file mode 100644 index 00000000000..e6571f9ff78 --- /dev/null +++ b/packages/db/migrations/0257_majestic_chat.sql @@ -0,0 +1,15 @@ +-- Replay-safety: this file ends in CONCURRENTLY index builds below an embedded COMMIT, so a +-- failure there replays the whole file — every statement here is idempotent. +-- +-- migration-safe: additive enum value only (no rewrite, no table lock); old app code never +-- reads or writes 'workflow_mcp_server' rows, so it is invisible during cutover +ALTER TYPE "public"."workspace_fork_resource_type" ADD VALUE IF NOT EXISTS 'workflow_mcp_server' BEFORE 'custom_tool';--> statement-breakpoint +-- Expression indexes for listSurfacedBackgroundWork's `metadata ->> …` legs: `->>` equality +-- can't use a GIN index, and one unindexable leg in its `or()` forces a full-table scan of +-- this shared relation on every Activity page load / poll. Built CONCURRENTLY per runner +-- convention (plain CREATE INDEX write-blocks the relation for the build). +COMMIT;--> statement-breakpoint +SET lock_timeout = 0;--> statement-breakpoint +CREATE INDEX CONCURRENTLY IF NOT EXISTS "background_work_status_meta_child_ws_idx" ON "background_work_status" USING btree (("metadata" ->> 'childWorkspaceId'));--> statement-breakpoint +CREATE INDEX CONCURRENTLY IF NOT EXISTS "background_work_status_meta_other_ws_idx" ON "background_work_status" USING btree (("metadata" ->> 'otherWorkspaceId'));--> statement-breakpoint +SET lock_timeout = '5s'; diff --git a/packages/db/migrations/meta/0257_snapshot.json b/packages/db/migrations/meta/0257_snapshot.json new file mode 100644 index 00000000000..e519a265e31 --- /dev/null +++ b/packages/db/migrations/meta/0257_snapshot.json @@ -0,0 +1,16718 @@ +{ + "id": "c405fc48-c6bb-4786-863f-3d3e686095b5", + "prevId": "b932608c-c10f-4085-8f59-0621b23071f4", + "version": "7", + "dialect": "postgresql", + "tables": { + "public.academy_certificate": { + "name": "academy_certificate", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "course_id": { + "name": "course_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "academy_cert_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'active'" + }, + "issued_at": { + "name": "issued_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "certificate_number": { + "name": "certificate_number", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "metadata": { + "name": "metadata", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "academy_certificate_user_id_idx": { + "name": "academy_certificate_user_id_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "academy_certificate_course_id_idx": { + "name": "academy_certificate_course_id_idx", + "columns": [ + { + "expression": "course_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "academy_certificate_user_course_unique": { + "name": "academy_certificate_user_course_unique", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "course_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "academy_certificate_number_idx": { + "name": "academy_certificate_number_idx", + "columns": [ + { + "expression": "certificate_number", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "academy_certificate_status_idx": { + "name": "academy_certificate_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "academy_certificate_user_id_user_id_fk": { + "name": "academy_certificate_user_id_user_id_fk", + "tableFrom": "academy_certificate", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "academy_certificate_certificate_number_unique": { + "name": "academy_certificate_certificate_number_unique", + "nullsNotDistinct": false, + "columns": ["certificate_number"] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.account": { + "name": "account", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "account_id": { + "name": "account_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "provider_id": { + "name": "provider_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "access_token": { + "name": "access_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "refresh_token": { + "name": "refresh_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "id_token": { + "name": "id_token", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "access_token_expires_at": { + "name": "access_token_expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "refresh_token_expires_at": { + "name": "refresh_token_expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "scope": { + "name": "scope", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "account_user_id_idx": { + "name": "account_user_id_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "idx_account_on_account_id_provider_id": { + "name": "idx_account_on_account_id_provider_id", + "columns": [ + { + "expression": "account_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "provider_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "account_user_id_user_id_fk": { + "name": "account_user_id_user_id_fk", + "tableFrom": "account", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.api_key": { + "name": "api_key", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "key": { + "name": "key", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "key_hash": { + "name": "key_hash", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'personal'" + }, + "last_used": { + "name": "last_used", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "api_key_workspace_type_idx": { + "name": "api_key_workspace_type_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "api_key_user_type_idx": { + "name": "api_key_user_type_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "api_key_key_hash_idx": { + "name": "api_key_key_hash_idx", + "columns": [ + { + "expression": "key_hash", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "api_key_user_id_user_id_fk": { + "name": "api_key_user_id_user_id_fk", + "tableFrom": "api_key", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "api_key_workspace_id_workspace_id_fk": { + "name": "api_key_workspace_id_workspace_id_fk", + "tableFrom": "api_key", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "api_key_created_by_user_id_fk": { + "name": "api_key_created_by_user_id_fk", + "tableFrom": "api_key", + "tableTo": "user", + "columnsFrom": ["created_by"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "api_key_key_unique": { + "name": "api_key_key_unique", + "nullsNotDistinct": false, + "columns": ["key"] + } + }, + "policies": {}, + "checkConstraints": { + "workspace_type_check": { + "name": "workspace_type_check", + "value": "(type = 'workspace' AND workspace_id IS NOT NULL) OR (type = 'personal' AND workspace_id IS NULL)" + } + }, + "isRLSEnabled": false + }, + "public.async_jobs": { + "name": "async_jobs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "payload": { + "name": "payload", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "started_at": { + "name": "started_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "completed_at": { + "name": "completed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "run_at": { + "name": "run_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "attempts": { + "name": "attempts", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "max_attempts": { + "name": "max_attempts", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 3 + }, + "error": { + "name": "error", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "output": { + "name": "output", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "metadata": { + "name": "metadata", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "async_jobs_status_started_at_idx": { + "name": "async_jobs_status_started_at_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "started_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "async_jobs_status_completed_at_idx": { + "name": "async_jobs_status_completed_at_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "completed_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "async_jobs_schedule_pending_run_at_idx": { + "name": "async_jobs_schedule_pending_run_at_idx", + "columns": [ + { + "expression": "run_at", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"async_jobs\".\"type\" = 'schedule-execution' AND \"async_jobs\".\"status\" = 'pending'", + "concurrently": false, + "method": "btree", + "with": {} + }, + "async_jobs_schedule_processing_started_at_idx": { + "name": "async_jobs_schedule_processing_started_at_idx", + "columns": [ + { + "expression": "started_at", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"async_jobs\".\"type\" = 'schedule-execution' AND \"async_jobs\".\"status\" = 'processing'", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.audit_log": { + "name": "audit_log", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "actor_id": { + "name": "actor_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "action": { + "name": "action", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "resource_type": { + "name": "resource_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "actor_name": { + "name": "actor_name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "actor_email": { + "name": "actor_email", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "resource_name": { + "name": "resource_name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "metadata": { + "name": "metadata", + "type": "jsonb", + "primaryKey": false, + "notNull": false, + "default": "'{}'" + }, + "ip_address": { + "name": "ip_address", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "user_agent": { + "name": "user_agent", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "audit_log_workspace_created_idx": { + "name": "audit_log_workspace_created_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "audit_log_workspace_created_at_id_idx": { + "name": "audit_log_workspace_created_at_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "date_trunc('milliseconds', \"created_at\")", + "asc": true, + "isExpression": true, + "nulls": "last" + }, + { + "expression": "id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "audit_log_actor_created_idx": { + "name": "audit_log_actor_created_idx", + "columns": [ + { + "expression": "actor_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "audit_log_resource_idx": { + "name": "audit_log_resource_idx", + "columns": [ + { + "expression": "resource_type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "audit_log_action_idx": { + "name": "audit_log_action_idx", + "columns": [ + { + "expression": "action", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "audit_log_workspace_id_workspace_id_fk": { + "name": "audit_log_workspace_id_workspace_id_fk", + "tableFrom": "audit_log", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "audit_log_actor_id_user_id_fk": { + "name": "audit_log_actor_id_user_id_fk", + "tableFrom": "audit_log", + "tableTo": "user", + "columnsFrom": ["actor_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.background_work_status": { + "name": "background_work_status", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "kind": { + "name": "kind", + "type": "background_work_kind", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "background_work_status_value", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "message": { + "name": "message", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "error": { + "name": "error", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "metadata": { + "name": "metadata", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "started_at": { + "name": "started_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "completed_at": { + "name": "completed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "background_work_status_workspace_status_idx": { + "name": "background_work_status_workspace_status_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "background_work_status_workflow_status_idx": { + "name": "background_work_status_workflow_status_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "background_work_status_meta_child_ws_idx": { + "name": "background_work_status_meta_child_ws_idx", + "columns": [ + { + "expression": "(\"metadata\" ->> 'childWorkspaceId')", + "asc": true, + "isExpression": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "background_work_status_meta_other_ws_idx": { + "name": "background_work_status_meta_other_ws_idx", + "columns": [ + { + "expression": "(\"metadata\" ->> 'otherWorkspaceId')", + "asc": true, + "isExpression": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "background_work_status_workspace_id_workspace_id_fk": { + "name": "background_work_status_workspace_id_workspace_id_fk", + "tableFrom": "background_work_status", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "background_work_status_workflow_id_workflow_id_fk": { + "name": "background_work_status_workflow_id_workflow_id_fk", + "tableFrom": "background_work_status", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.chat": { + "name": "chat", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "identifier": { + "name": "identifier", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "customizations": { + "name": "customizations", + "type": "json", + "primaryKey": false, + "notNull": false, + "default": "'{}'" + }, + "auth_type": { + "name": "auth_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'public'" + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "allowed_emails": { + "name": "allowed_emails", + "type": "json", + "primaryKey": false, + "notNull": false, + "default": "'[]'" + }, + "output_configs": { + "name": "output_configs", + "type": "json", + "primaryKey": false, + "notNull": false, + "default": "'[]'" + }, + "archived_at": { + "name": "archived_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "identifier_idx": { + "name": "identifier_idx", + "columns": [ + { + "expression": "identifier", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "\"chat\".\"archived_at\" IS NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "chat_archived_at_partial_idx": { + "name": "chat_archived_at_partial_idx", + "columns": [ + { + "expression": "archived_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"chat\".\"archived_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "idx_chat_on_workflow_id_archived_at": { + "name": "idx_chat_on_workflow_id_archived_at", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "archived_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "chat_workflow_id_workflow_id_fk": { + "name": "chat_workflow_id_workflow_id_fk", + "tableFrom": "chat", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "chat_user_id_user_id_fk": { + "name": "chat_user_id_user_id_fk", + "tableFrom": "chat", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.copilot_async_tool_calls": { + "name": "copilot_async_tool_calls", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "uuid", + "primaryKey": true, + "notNull": true, + "default": "gen_random_uuid()" + }, + "run_id": { + "name": "run_id", + "type": "uuid", + "primaryKey": false, + "notNull": true + }, + "checkpoint_id": { + "name": "checkpoint_id", + "type": "uuid", + "primaryKey": false, + "notNull": false + }, + "tool_call_id": { + "name": "tool_call_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "tool_name": { + "name": "tool_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "args": { + "name": "args", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "status": { + "name": "status", + "type": "copilot_async_tool_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "result": { + "name": "result", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "error": { + "name": "error", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "claimed_at": { + "name": "claimed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "claimed_by": { + "name": "claimed_by", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "completed_at": { + "name": "completed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "copilot_async_tool_calls_run_id_idx": { + "name": "copilot_async_tool_calls_run_id_idx", + "columns": [ + { + "expression": "run_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_async_tool_calls_checkpoint_id_idx": { + "name": "copilot_async_tool_calls_checkpoint_id_idx", + "columns": [ + { + "expression": "checkpoint_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_async_tool_calls_tool_call_id_idx": { + "name": "copilot_async_tool_calls_tool_call_id_idx", + "columns": [ + { + "expression": "tool_call_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_async_tool_calls_status_idx": { + "name": "copilot_async_tool_calls_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_async_tool_calls_run_status_idx": { + "name": "copilot_async_tool_calls_run_status_idx", + "columns": [ + { + "expression": "run_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_async_tool_calls_tool_call_id_unique": { + "name": "copilot_async_tool_calls_tool_call_id_unique", + "columns": [ + { + "expression": "tool_call_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "copilot_async_tool_calls_run_id_copilot_runs_id_fk": { + "name": "copilot_async_tool_calls_run_id_copilot_runs_id_fk", + "tableFrom": "copilot_async_tool_calls", + "tableTo": "copilot_runs", + "columnsFrom": ["run_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "copilot_async_tool_calls_checkpoint_id_copilot_run_checkpoints_id_fk": { + "name": "copilot_async_tool_calls_checkpoint_id_copilot_run_checkpoints_id_fk", + "tableFrom": "copilot_async_tool_calls", + "tableTo": "copilot_run_checkpoints", + "columnsFrom": ["checkpoint_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.copilot_chats": { + "name": "copilot_chats", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "uuid", + "primaryKey": true, + "notNull": true, + "default": "gen_random_uuid()" + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "type": { + "name": "type", + "type": "chat_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'copilot'" + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "model": { + "name": "model", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'claude-3-7-sonnet-latest'" + }, + "conversation_id": { + "name": "conversation_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "preview_yaml": { + "name": "preview_yaml", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "plan_artifact": { + "name": "plan_artifact", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "config": { + "name": "config", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "resources": { + "name": "resources", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'[]'" + }, + "last_seen_at": { + "name": "last_seen_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "pinned": { + "name": "pinned", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "copilot_chats_user_id_idx": { + "name": "copilot_chats_user_id_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_chats_workflow_id_idx": { + "name": "copilot_chats_workflow_id_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_chats_user_workflow_idx": { + "name": "copilot_chats_user_workflow_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_chats_user_workspace_idx": { + "name": "copilot_chats_user_workspace_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_chats_created_at_idx": { + "name": "copilot_chats_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_chats_updated_at_idx": { + "name": "copilot_chats_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_chats_workspace_created_at_id_idx": { + "name": "copilot_chats_workspace_created_at_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "date_trunc('milliseconds', \"created_at\")", + "asc": true, + "isExpression": true, + "nulls": "last" + }, + { + "expression": "id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "copilot_chats_user_id_user_id_fk": { + "name": "copilot_chats_user_id_user_id_fk", + "tableFrom": "copilot_chats", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "copilot_chats_workflow_id_workflow_id_fk": { + "name": "copilot_chats_workflow_id_workflow_id_fk", + "tableFrom": "copilot_chats", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "copilot_chats_workspace_id_workspace_id_fk": { + "name": "copilot_chats_workspace_id_workspace_id_fk", + "tableFrom": "copilot_chats", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.copilot_feedback": { + "name": "copilot_feedback", + "schema": "", + "columns": { + "feedback_id": { + "name": "feedback_id", + "type": "uuid", + "primaryKey": true, + "notNull": true, + "default": "gen_random_uuid()" + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "chat_id": { + "name": "chat_id", + "type": "uuid", + "primaryKey": false, + "notNull": true + }, + "user_query": { + "name": "user_query", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "agent_response": { + "name": "agent_response", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "is_positive": { + "name": "is_positive", + "type": "boolean", + "primaryKey": false, + "notNull": true + }, + "feedback": { + "name": "feedback", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "workflow_yaml": { + "name": "workflow_yaml", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "copilot_feedback_user_id_idx": { + "name": "copilot_feedback_user_id_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_feedback_chat_id_idx": { + "name": "copilot_feedback_chat_id_idx", + "columns": [ + { + "expression": "chat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_feedback_user_chat_idx": { + "name": "copilot_feedback_user_chat_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "chat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_feedback_is_positive_idx": { + "name": "copilot_feedback_is_positive_idx", + "columns": [ + { + "expression": "is_positive", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_feedback_created_at_idx": { + "name": "copilot_feedback_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "copilot_feedback_user_id_user_id_fk": { + "name": "copilot_feedback_user_id_user_id_fk", + "tableFrom": "copilot_feedback", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "copilot_feedback_chat_id_copilot_chats_id_fk": { + "name": "copilot_feedback_chat_id_copilot_chats_id_fk", + "tableFrom": "copilot_feedback", + "tableTo": "copilot_chats", + "columnsFrom": ["chat_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.copilot_messages": { + "name": "copilot_messages", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "uuid", + "primaryKey": true, + "notNull": true, + "default": "gen_random_uuid()" + }, + "chat_id": { + "name": "chat_id", + "type": "uuid", + "primaryKey": false, + "notNull": true + }, + "message_id": { + "name": "message_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "content": { + "name": "content", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "stream_id": { + "name": "stream_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "parent_message_id": { + "name": "parent_message_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "model": { + "name": "model", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tokens_in": { + "name": "tokens_in", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "tokens_out": { + "name": "tokens_out", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "seq": { + "name": "seq", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "copilot_messages_chat_message_unique": { + "name": "copilot_messages_chat_message_unique", + "columns": [ + { + "expression": "chat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "message_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_messages_chat_created_at_idx": { + "name": "copilot_messages_chat_created_at_idx", + "columns": [ + { + "expression": "chat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"copilot_messages\".\"deleted_at\" IS NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_messages_chat_seq_idx": { + "name": "copilot_messages_chat_seq_idx", + "columns": [ + { + "expression": "chat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "seq", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"copilot_messages\".\"deleted_at\" IS NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_messages_chat_stream_idx": { + "name": "copilot_messages_chat_stream_idx", + "columns": [ + { + "expression": "chat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "stream_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"copilot_messages\".\"stream_id\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "copilot_messages_chat_id_copilot_chats_id_fk": { + "name": "copilot_messages_chat_id_copilot_chats_id_fk", + "tableFrom": "copilot_messages", + "tableTo": "copilot_chats", + "columnsFrom": ["chat_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.copilot_run_checkpoints": { + "name": "copilot_run_checkpoints", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "uuid", + "primaryKey": true, + "notNull": true, + "default": "gen_random_uuid()" + }, + "run_id": { + "name": "run_id", + "type": "uuid", + "primaryKey": false, + "notNull": true + }, + "pending_tool_call_id": { + "name": "pending_tool_call_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "conversation_snapshot": { + "name": "conversation_snapshot", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "agent_state": { + "name": "agent_state", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "provider_request": { + "name": "provider_request", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "copilot_run_checkpoints_run_id_idx": { + "name": "copilot_run_checkpoints_run_id_idx", + "columns": [ + { + "expression": "run_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_run_checkpoints_pending_tool_call_id_idx": { + "name": "copilot_run_checkpoints_pending_tool_call_id_idx", + "columns": [ + { + "expression": "pending_tool_call_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_run_checkpoints_run_pending_tool_unique": { + "name": "copilot_run_checkpoints_run_pending_tool_unique", + "columns": [ + { + "expression": "run_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "pending_tool_call_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "copilot_run_checkpoints_run_id_copilot_runs_id_fk": { + "name": "copilot_run_checkpoints_run_id_copilot_runs_id_fk", + "tableFrom": "copilot_run_checkpoints", + "tableTo": "copilot_runs", + "columnsFrom": ["run_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.copilot_runs": { + "name": "copilot_runs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "uuid", + "primaryKey": true, + "notNull": true, + "default": "gen_random_uuid()" + }, + "execution_id": { + "name": "execution_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "parent_run_id": { + "name": "parent_run_id", + "type": "uuid", + "primaryKey": false, + "notNull": false + }, + "chat_id": { + "name": "chat_id", + "type": "uuid", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "stream_id": { + "name": "stream_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "agent": { + "name": "agent", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "model": { + "name": "model", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "provider": { + "name": "provider", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "copilot_run_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'active'" + }, + "request_context": { + "name": "request_context", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "started_at": { + "name": "started_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "completed_at": { + "name": "completed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "error": { + "name": "error", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "copilot_runs_execution_id_idx": { + "name": "copilot_runs_execution_id_idx", + "columns": [ + { + "expression": "execution_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_runs_parent_run_id_idx": { + "name": "copilot_runs_parent_run_id_idx", + "columns": [ + { + "expression": "parent_run_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_runs_chat_id_idx": { + "name": "copilot_runs_chat_id_idx", + "columns": [ + { + "expression": "chat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_runs_user_id_idx": { + "name": "copilot_runs_user_id_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_runs_workflow_id_idx": { + "name": "copilot_runs_workflow_id_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_runs_workspace_id_idx": { + "name": "copilot_runs_workspace_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_runs_status_idx": { + "name": "copilot_runs_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_runs_chat_execution_idx": { + "name": "copilot_runs_chat_execution_idx", + "columns": [ + { + "expression": "chat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "execution_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_runs_execution_started_at_idx": { + "name": "copilot_runs_execution_started_at_idx", + "columns": [ + { + "expression": "execution_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "started_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_runs_workspace_completed_at_id_idx": { + "name": "copilot_runs_workspace_completed_at_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "date_trunc('milliseconds', \"completed_at\")", + "asc": true, + "isExpression": true, + "nulls": "last" + }, + { + "expression": "id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_runs_stream_id_unique": { + "name": "copilot_runs_stream_id_unique", + "columns": [ + { + "expression": "stream_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "copilot_runs_chat_id_copilot_chats_id_fk": { + "name": "copilot_runs_chat_id_copilot_chats_id_fk", + "tableFrom": "copilot_runs", + "tableTo": "copilot_chats", + "columnsFrom": ["chat_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "copilot_runs_user_id_user_id_fk": { + "name": "copilot_runs_user_id_user_id_fk", + "tableFrom": "copilot_runs", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "copilot_runs_workflow_id_workflow_id_fk": { + "name": "copilot_runs_workflow_id_workflow_id_fk", + "tableFrom": "copilot_runs", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "copilot_runs_workspace_id_workspace_id_fk": { + "name": "copilot_runs_workspace_id_workspace_id_fk", + "tableFrom": "copilot_runs", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.copilot_workflow_read_hashes": { + "name": "copilot_workflow_read_hashes", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "uuid", + "primaryKey": true, + "notNull": true, + "default": "gen_random_uuid()" + }, + "chat_id": { + "name": "chat_id", + "type": "uuid", + "primaryKey": false, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "hash": { + "name": "hash", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "copilot_workflow_read_hashes_chat_id_idx": { + "name": "copilot_workflow_read_hashes_chat_id_idx", + "columns": [ + { + "expression": "chat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_workflow_read_hashes_workflow_id_idx": { + "name": "copilot_workflow_read_hashes_workflow_id_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "copilot_workflow_read_hashes_chat_workflow_unique": { + "name": "copilot_workflow_read_hashes_chat_workflow_unique", + "columns": [ + { + "expression": "chat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "copilot_workflow_read_hashes_chat_id_copilot_chats_id_fk": { + "name": "copilot_workflow_read_hashes_chat_id_copilot_chats_id_fk", + "tableFrom": "copilot_workflow_read_hashes", + "tableTo": "copilot_chats", + "columnsFrom": ["chat_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "copilot_workflow_read_hashes_workflow_id_workflow_id_fk": { + "name": "copilot_workflow_read_hashes_workflow_id_workflow_id_fk", + "tableFrom": "copilot_workflow_read_hashes", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.credential": { + "name": "credential", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "credential_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "display_name": { + "name": "display_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "provider_id": { + "name": "provider_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "account_id": { + "name": "account_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env_key": { + "name": "env_key", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "env_owner_user_id": { + "name": "env_owner_user_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "encrypted_service_account_key": { + "name": "encrypted_service_account_key", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "credential_workspace_id_idx": { + "name": "credential_workspace_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "credential_type_idx": { + "name": "credential_type_idx", + "columns": [ + { + "expression": "type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "credential_provider_id_idx": { + "name": "credential_provider_id_idx", + "columns": [ + { + "expression": "provider_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "credential_account_id_idx": { + "name": "credential_account_id_idx", + "columns": [ + { + "expression": "account_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "credential_env_owner_user_id_idx": { + "name": "credential_env_owner_user_id_idx", + "columns": [ + { + "expression": "env_owner_user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "credential_workspace_account_unique": { + "name": "credential_workspace_account_unique", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "account_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "account_id IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "credential_workspace_env_unique": { + "name": "credential_workspace_env_unique", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "env_key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "type = 'env_workspace'", + "concurrently": false, + "method": "btree", + "with": {} + }, + "credential_workspace_personal_env_unique": { + "name": "credential_workspace_personal_env_unique", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "env_key", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "env_owner_user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "type = 'env_personal'", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "credential_workspace_id_workspace_id_fk": { + "name": "credential_workspace_id_workspace_id_fk", + "tableFrom": "credential", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "credential_account_id_account_id_fk": { + "name": "credential_account_id_account_id_fk", + "tableFrom": "credential", + "tableTo": "account", + "columnsFrom": ["account_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "credential_env_owner_user_id_user_id_fk": { + "name": "credential_env_owner_user_id_user_id_fk", + "tableFrom": "credential", + "tableTo": "user", + "columnsFrom": ["env_owner_user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "credential_created_by_user_id_fk": { + "name": "credential_created_by_user_id_fk", + "tableFrom": "credential", + "tableTo": "user", + "columnsFrom": ["created_by"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": { + "credential_oauth_source_check": { + "name": "credential_oauth_source_check", + "value": "(type <> 'oauth') OR (account_id IS NOT NULL AND provider_id IS NOT NULL)" + }, + "credential_workspace_env_source_check": { + "name": "credential_workspace_env_source_check", + "value": "(type <> 'env_workspace') OR (env_key IS NOT NULL AND env_owner_user_id IS NULL)" + }, + "credential_personal_env_source_check": { + "name": "credential_personal_env_source_check", + "value": "(type <> 'env_personal') OR (env_key IS NOT NULL AND env_owner_user_id IS NOT NULL)" + } + }, + "isRLSEnabled": false + }, + "public.credential_member": { + "name": "credential_member", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "credential_id": { + "name": "credential_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "role": { + "name": "role", + "type": "credential_member_role", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'member'" + }, + "status": { + "name": "status", + "type": "credential_member_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'active'" + }, + "joined_at": { + "name": "joined_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "invited_by": { + "name": "invited_by", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "credential_member_user_id_idx": { + "name": "credential_member_user_id_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "credential_member_role_idx": { + "name": "credential_member_role_idx", + "columns": [ + { + "expression": "role", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "credential_member_status_idx": { + "name": "credential_member_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "credential_member_unique": { + "name": "credential_member_unique", + "columns": [ + { + "expression": "credential_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "credential_member_credential_id_credential_id_fk": { + "name": "credential_member_credential_id_credential_id_fk", + "tableFrom": "credential_member", + "tableTo": "credential", + "columnsFrom": ["credential_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "credential_member_user_id_user_id_fk": { + "name": "credential_member_user_id_user_id_fk", + "tableFrom": "credential_member", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "credential_member_invited_by_user_id_fk": { + "name": "credential_member_invited_by_user_id_fk", + "tableFrom": "credential_member", + "tableTo": "user", + "columnsFrom": ["invited_by"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.custom_block": { + "name": "custom_block", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "icon_url": { + "name": "icon_url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "inputs": { + "name": "inputs", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "outputs": { + "name": "outputs", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "custom_block_organization_id_idx": { + "name": "custom_block_organization_id_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_block_workflow_id_idx": { + "name": "custom_block_workflow_id_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_block_organization_type_unique": { + "name": "custom_block_organization_type_unique", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "custom_block_organization_id_organization_id_fk": { + "name": "custom_block_organization_id_organization_id_fk", + "tableFrom": "custom_block", + "tableTo": "organization", + "columnsFrom": ["organization_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "custom_block_workflow_id_workflow_id_fk": { + "name": "custom_block_workflow_id_workflow_id_fk", + "tableFrom": "custom_block", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "custom_block_created_by_user_id_fk": { + "name": "custom_block_created_by_user_id_fk", + "tableFrom": "custom_block", + "tableTo": "user", + "columnsFrom": ["created_by"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.custom_tools": { + "name": "custom_tools", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "schema": { + "name": "schema", + "type": "json", + "primaryKey": false, + "notNull": true + }, + "code": { + "name": "code", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "custom_tools_workspace_id_idx": { + "name": "custom_tools_workspace_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_tools_workspace_title_unique": { + "name": "custom_tools_workspace_title_unique", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "title", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "custom_tools_workspace_id_workspace_id_fk": { + "name": "custom_tools_workspace_id_workspace_id_fk", + "tableFrom": "custom_tools", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "custom_tools_user_id_user_id_fk": { + "name": "custom_tools_user_id_user_id_fk", + "tableFrom": "custom_tools", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.data_drain_runs": { + "name": "data_drain_runs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "drain_id": { + "name": "drain_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "data_drain_run_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "trigger": { + "name": "trigger", + "type": "data_drain_run_trigger", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "started_at": { + "name": "started_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "finished_at": { + "name": "finished_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "rows_exported": { + "name": "rows_exported", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "bytes_written": { + "name": "bytes_written", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "cursor_before": { + "name": "cursor_before", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cursor_after": { + "name": "cursor_after", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "error": { + "name": "error", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "locators": { + "name": "locators", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'[]'::jsonb" + } + }, + "indexes": { + "data_drain_runs_drain_started_idx": { + "name": "data_drain_runs_drain_started_idx", + "columns": [ + { + "expression": "drain_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "started_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "data_drain_runs_drain_id_data_drains_id_fk": { + "name": "data_drain_runs_drain_id_data_drains_id_fk", + "tableFrom": "data_drain_runs", + "tableTo": "data_drains", + "columnsFrom": ["drain_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.data_drains": { + "name": "data_drains", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "source": { + "name": "source", + "type": "data_drain_source", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "destination_type": { + "name": "destination_type", + "type": "data_drain_destination", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "destination_config": { + "name": "destination_config", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "destination_credentials": { + "name": "destination_credentials", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "schedule_cadence": { + "name": "schedule_cadence", + "type": "data_drain_cadence", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "cursor": { + "name": "cursor", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "last_run_at": { + "name": "last_run_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "last_success_at": { + "name": "last_success_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "data_drains_org_idx": { + "name": "data_drains_org_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "data_drains_due_idx": { + "name": "data_drains_due_idx", + "columns": [ + { + "expression": "enabled", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "last_run_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "data_drains_org_name_unique": { + "name": "data_drains_org_name_unique", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "data_drains_organization_id_organization_id_fk": { + "name": "data_drains_organization_id_organization_id_fk", + "tableFrom": "data_drains", + "tableTo": "organization", + "columnsFrom": ["organization_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "data_drains_created_by_user_id_fk": { + "name": "data_drains_created_by_user_id_fk", + "tableFrom": "data_drains", + "tableTo": "user", + "columnsFrom": ["created_by"], + "columnsTo": ["id"], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.docs_embeddings": { + "name": "docs_embeddings", + "schema": "", + "columns": { + "chunk_id": { + "name": "chunk_id", + "type": "uuid", + "primaryKey": true, + "notNull": true, + "default": "gen_random_uuid()" + }, + "chunk_text": { + "name": "chunk_text", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "source_document": { + "name": "source_document", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "source_link": { + "name": "source_link", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "header_text": { + "name": "header_text", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "header_level": { + "name": "header_level", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "token_count": { + "name": "token_count", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "embedding": { + "name": "embedding", + "type": "vector(1536)", + "primaryKey": false, + "notNull": true + }, + "embedding_model": { + "name": "embedding_model", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'text-embedding-3-small'" + }, + "metadata": { + "name": "metadata", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "chunk_text_tsv": { + "name": "chunk_text_tsv", + "type": "tsvector", + "primaryKey": false, + "notNull": false, + "generated": { + "as": "to_tsvector('english', \"docs_embeddings\".\"chunk_text\")", + "type": "stored" + } + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "docs_emb_source_document_idx": { + "name": "docs_emb_source_document_idx", + "columns": [ + { + "expression": "source_document", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "docs_emb_header_level_idx": { + "name": "docs_emb_header_level_idx", + "columns": [ + { + "expression": "header_level", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "docs_emb_source_header_idx": { + "name": "docs_emb_source_header_idx", + "columns": [ + { + "expression": "source_document", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "header_level", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "docs_emb_model_idx": { + "name": "docs_emb_model_idx", + "columns": [ + { + "expression": "embedding_model", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "docs_emb_created_at_idx": { + "name": "docs_emb_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "docs_embedding_vector_hnsw_idx": { + "name": "docs_embedding_vector_hnsw_idx", + "columns": [ + { + "expression": "embedding", + "isExpression": false, + "asc": true, + "nulls": "last", + "opclass": "vector_cosine_ops" + } + ], + "isUnique": false, + "concurrently": false, + "method": "hnsw", + "with": { + "m": 16, + "ef_construction": 64 + } + }, + "docs_emb_metadata_gin_idx": { + "name": "docs_emb_metadata_gin_idx", + "columns": [ + { + "expression": "metadata", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "gin", + "with": {} + }, + "docs_emb_chunk_text_fts_idx": { + "name": "docs_emb_chunk_text_fts_idx", + "columns": [ + { + "expression": "chunk_text_tsv", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "gin", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": { + "docs_embedding_not_null_check": { + "name": "docs_embedding_not_null_check", + "value": "\"embedding\" IS NOT NULL" + }, + "docs_header_level_check": { + "name": "docs_header_level_check", + "value": "\"header_level\" >= 1 AND \"header_level\" <= 6" + } + }, + "isRLSEnabled": false + }, + "public.document": { + "name": "document", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "knowledge_base_id": { + "name": "knowledge_base_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "filename": { + "name": "filename", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "file_url": { + "name": "file_url", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "storage_key": { + "name": "storage_key", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "file_size": { + "name": "file_size", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "mime_type": { + "name": "mime_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "chunk_count": { + "name": "chunk_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "token_count": { + "name": "token_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "character_count": { + "name": "character_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "processing_status": { + "name": "processing_status", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "processing_started_at": { + "name": "processing_started_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "processing_completed_at": { + "name": "processing_completed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "processing_error": { + "name": "processing_error", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "archived_at": { + "name": "archived_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "user_excluded": { + "name": "user_excluded", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "tag1": { + "name": "tag1", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tag2": { + "name": "tag2", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tag3": { + "name": "tag3", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tag4": { + "name": "tag4", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tag5": { + "name": "tag5", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tag6": { + "name": "tag6", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tag7": { + "name": "tag7", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "number1": { + "name": "number1", + "type": "double precision", + "primaryKey": false, + "notNull": false + }, + "number2": { + "name": "number2", + "type": "double precision", + "primaryKey": false, + "notNull": false + }, + "number3": { + "name": "number3", + "type": "double precision", + "primaryKey": false, + "notNull": false + }, + "number4": { + "name": "number4", + "type": "double precision", + "primaryKey": false, + "notNull": false + }, + "number5": { + "name": "number5", + "type": "double precision", + "primaryKey": false, + "notNull": false + }, + "date1": { + "name": "date1", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "date2": { + "name": "date2", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "boolean1": { + "name": "boolean1", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "boolean2": { + "name": "boolean2", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "boolean3": { + "name": "boolean3", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "connector_id": { + "name": "connector_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "external_id": { + "name": "external_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "content_hash": { + "name": "content_hash", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "source_url": { + "name": "source_url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "uploaded_by": { + "name": "uploaded_by", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "uploaded_at": { + "name": "uploaded_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "doc_kb_id_idx": { + "name": "doc_kb_id_idx", + "columns": [ + { + "expression": "knowledge_base_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_filename_idx": { + "name": "doc_filename_idx", + "columns": [ + { + "expression": "filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_processing_status_idx": { + "name": "doc_processing_status_idx", + "columns": [ + { + "expression": "knowledge_base_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "processing_status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_connector_external_id_idx": { + "name": "doc_connector_external_id_idx", + "columns": [ + { + "expression": "connector_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "external_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "\"document\".\"deleted_at\" IS NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_connector_id_idx": { + "name": "doc_connector_id_idx", + "columns": [ + { + "expression": "connector_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_storage_key_idx": { + "name": "doc_storage_key_idx", + "columns": [ + { + "expression": "storage_key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"document\".\"storage_key\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_archived_at_partial_idx": { + "name": "doc_archived_at_partial_idx", + "columns": [ + { + "expression": "archived_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"document\".\"archived_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_deleted_at_partial_idx": { + "name": "doc_deleted_at_partial_idx", + "columns": [ + { + "expression": "deleted_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"document\".\"deleted_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_tag1_idx": { + "name": "doc_tag1_idx", + "columns": [ + { + "expression": "tag1", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_tag2_idx": { + "name": "doc_tag2_idx", + "columns": [ + { + "expression": "tag2", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_tag3_idx": { + "name": "doc_tag3_idx", + "columns": [ + { + "expression": "tag3", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_tag4_idx": { + "name": "doc_tag4_idx", + "columns": [ + { + "expression": "tag4", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_tag5_idx": { + "name": "doc_tag5_idx", + "columns": [ + { + "expression": "tag5", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_tag6_idx": { + "name": "doc_tag6_idx", + "columns": [ + { + "expression": "tag6", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_tag7_idx": { + "name": "doc_tag7_idx", + "columns": [ + { + "expression": "tag7", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_number1_idx": { + "name": "doc_number1_idx", + "columns": [ + { + "expression": "number1", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_number2_idx": { + "name": "doc_number2_idx", + "columns": [ + { + "expression": "number2", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_number3_idx": { + "name": "doc_number3_idx", + "columns": [ + { + "expression": "number3", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_number4_idx": { + "name": "doc_number4_idx", + "columns": [ + { + "expression": "number4", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_number5_idx": { + "name": "doc_number5_idx", + "columns": [ + { + "expression": "number5", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_date1_idx": { + "name": "doc_date1_idx", + "columns": [ + { + "expression": "date1", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_date2_idx": { + "name": "doc_date2_idx", + "columns": [ + { + "expression": "date2", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_boolean1_idx": { + "name": "doc_boolean1_idx", + "columns": [ + { + "expression": "boolean1", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_boolean2_idx": { + "name": "doc_boolean2_idx", + "columns": [ + { + "expression": "boolean2", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "doc_boolean3_idx": { + "name": "doc_boolean3_idx", + "columns": [ + { + "expression": "boolean3", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "document_knowledge_base_id_knowledge_base_id_fk": { + "name": "document_knowledge_base_id_knowledge_base_id_fk", + "tableFrom": "document", + "tableTo": "knowledge_base", + "columnsFrom": ["knowledge_base_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "document_connector_id_knowledge_connector_id_fk": { + "name": "document_connector_id_knowledge_connector_id_fk", + "tableFrom": "document", + "tableTo": "knowledge_connector", + "columnsFrom": ["connector_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "document_uploaded_by_user_id_fk": { + "name": "document_uploaded_by_user_id_fk", + "tableFrom": "document", + "tableTo": "user", + "columnsFrom": ["uploaded_by"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.embedding": { + "name": "embedding", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "knowledge_base_id": { + "name": "knowledge_base_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "document_id": { + "name": "document_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "chunk_index": { + "name": "chunk_index", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "chunk_hash": { + "name": "chunk_hash", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "content": { + "name": "content", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "content_length": { + "name": "content_length", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "token_count": { + "name": "token_count", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "embedding": { + "name": "embedding", + "type": "vector(1536)", + "primaryKey": false, + "notNull": false + }, + "embedding_model": { + "name": "embedding_model", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'text-embedding-3-small'" + }, + "start_offset": { + "name": "start_offset", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "end_offset": { + "name": "end_offset", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "tag1": { + "name": "tag1", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tag2": { + "name": "tag2", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tag3": { + "name": "tag3", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tag4": { + "name": "tag4", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tag5": { + "name": "tag5", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tag6": { + "name": "tag6", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tag7": { + "name": "tag7", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "number1": { + "name": "number1", + "type": "double precision", + "primaryKey": false, + "notNull": false + }, + "number2": { + "name": "number2", + "type": "double precision", + "primaryKey": false, + "notNull": false + }, + "number3": { + "name": "number3", + "type": "double precision", + "primaryKey": false, + "notNull": false + }, + "number4": { + "name": "number4", + "type": "double precision", + "primaryKey": false, + "notNull": false + }, + "number5": { + "name": "number5", + "type": "double precision", + "primaryKey": false, + "notNull": false + }, + "date1": { + "name": "date1", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "date2": { + "name": "date2", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "boolean1": { + "name": "boolean1", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "boolean2": { + "name": "boolean2", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "boolean3": { + "name": "boolean3", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "content_tsv": { + "name": "content_tsv", + "type": "tsvector", + "primaryKey": false, + "notNull": false, + "generated": { + "as": "to_tsvector('english', \"embedding\".\"content\")", + "type": "stored" + } + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "emb_kb_id_idx": { + "name": "emb_kb_id_idx", + "columns": [ + { + "expression": "knowledge_base_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_doc_id_idx": { + "name": "emb_doc_id_idx", + "columns": [ + { + "expression": "document_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_doc_chunk_idx": { + "name": "emb_doc_chunk_idx", + "columns": [ + { + "expression": "document_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "chunk_index", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_kb_model_idx": { + "name": "emb_kb_model_idx", + "columns": [ + { + "expression": "knowledge_base_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "embedding_model", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_kb_enabled_idx": { + "name": "emb_kb_enabled_idx", + "columns": [ + { + "expression": "knowledge_base_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "enabled", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_doc_enabled_idx": { + "name": "emb_doc_enabled_idx", + "columns": [ + { + "expression": "document_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "enabled", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "embedding_vector_hnsw_idx": { + "name": "embedding_vector_hnsw_idx", + "columns": [ + { + "expression": "embedding", + "isExpression": false, + "asc": true, + "nulls": "last", + "opclass": "vector_cosine_ops" + } + ], + "isUnique": false, + "concurrently": false, + "method": "hnsw", + "with": { + "m": 16, + "ef_construction": 64 + } + }, + "emb_tag1_idx": { + "name": "emb_tag1_idx", + "columns": [ + { + "expression": "tag1", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_tag2_idx": { + "name": "emb_tag2_idx", + "columns": [ + { + "expression": "tag2", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_tag3_idx": { + "name": "emb_tag3_idx", + "columns": [ + { + "expression": "tag3", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_tag4_idx": { + "name": "emb_tag4_idx", + "columns": [ + { + "expression": "tag4", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_tag5_idx": { + "name": "emb_tag5_idx", + "columns": [ + { + "expression": "tag5", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_tag6_idx": { + "name": "emb_tag6_idx", + "columns": [ + { + "expression": "tag6", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_tag7_idx": { + "name": "emb_tag7_idx", + "columns": [ + { + "expression": "tag7", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_number1_idx": { + "name": "emb_number1_idx", + "columns": [ + { + "expression": "number1", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_number2_idx": { + "name": "emb_number2_idx", + "columns": [ + { + "expression": "number2", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_number3_idx": { + "name": "emb_number3_idx", + "columns": [ + { + "expression": "number3", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_number4_idx": { + "name": "emb_number4_idx", + "columns": [ + { + "expression": "number4", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_number5_idx": { + "name": "emb_number5_idx", + "columns": [ + { + "expression": "number5", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_date1_idx": { + "name": "emb_date1_idx", + "columns": [ + { + "expression": "date1", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_date2_idx": { + "name": "emb_date2_idx", + "columns": [ + { + "expression": "date2", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_boolean1_idx": { + "name": "emb_boolean1_idx", + "columns": [ + { + "expression": "boolean1", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_boolean2_idx": { + "name": "emb_boolean2_idx", + "columns": [ + { + "expression": "boolean2", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_boolean3_idx": { + "name": "emb_boolean3_idx", + "columns": [ + { + "expression": "boolean3", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "emb_content_fts_idx": { + "name": "emb_content_fts_idx", + "columns": [ + { + "expression": "content_tsv", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "gin", + "with": {} + } + }, + "foreignKeys": { + "embedding_knowledge_base_id_knowledge_base_id_fk": { + "name": "embedding_knowledge_base_id_knowledge_base_id_fk", + "tableFrom": "embedding", + "tableTo": "knowledge_base", + "columnsFrom": ["knowledge_base_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "embedding_document_id_document_id_fk": { + "name": "embedding_document_id_document_id_fk", + "tableFrom": "embedding", + "tableTo": "document", + "columnsFrom": ["document_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": { + "embedding_not_null_check": { + "name": "embedding_not_null_check", + "value": "\"embedding\" IS NOT NULL" + } + }, + "isRLSEnabled": false + }, + "public.environment": { + "name": "environment", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "variables": { + "name": "variables", + "type": "json", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": { + "environment_user_id_user_id_fk": { + "name": "environment_user_id_user_id_fk", + "tableFrom": "environment", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "environment_user_id_unique": { + "name": "environment_user_id_unique", + "nullsNotDistinct": false, + "columns": ["user_id"] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.execution_large_value_dependencies": { + "name": "execution_large_value_dependencies", + "schema": "", + "columns": { + "parent_key": { + "name": "parent_key", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "child_key": { + "name": "child_key", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "execution_large_value_dependencies_workspace_parent_key_idx": { + "name": "execution_large_value_dependencies_workspace_parent_key_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "parent_key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "execution_large_value_dependencies_workspace_child_key_idx": { + "name": "execution_large_value_dependencies_workspace_child_key_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "child_key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "execution_large_value_dependencies_workspace_id_workspace_id_fk": { + "name": "execution_large_value_dependencies_workspace_id_workspace_id_fk", + "tableFrom": "execution_large_value_dependencies", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "execution_large_value_dependencies_parent_key_child_key_pk": { + "name": "execution_large_value_dependencies_parent_key_child_key_pk", + "columns": ["parent_key", "child_key"] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.execution_large_value_references": { + "name": "execution_large_value_references", + "schema": "", + "columns": { + "key": { + "name": "key", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "execution_id": { + "name": "execution_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "source": { + "name": "source", + "type": "execution_large_value_reference_source", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "execution_large_value_references_workspace_execution_source_idx": { + "name": "execution_large_value_references_workspace_execution_source_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "execution_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "source", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "execution_large_value_references_workspace_id_workspace_id_fk": { + "name": "execution_large_value_references_workspace_id_workspace_id_fk", + "tableFrom": "execution_large_value_references", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "execution_large_value_references_workflow_id_workflow_id_fk": { + "name": "execution_large_value_references_workflow_id_workflow_id_fk", + "tableFrom": "execution_large_value_references", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "execution_large_value_references_key_execution_id_source_pk": { + "name": "execution_large_value_references_key_execution_id_source_pk", + "columns": ["key", "execution_id", "source"] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.execution_large_values": { + "name": "execution_large_values", + "schema": "", + "columns": { + "key": { + "name": "key", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "owner_execution_id": { + "name": "owner_execution_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "size": { + "name": "size", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "execution_large_values_owner_execution_id_idx": { + "name": "execution_large_values_owner_execution_id_idx", + "columns": [ + { + "expression": "owner_execution_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "execution_large_values_cleanup_idx": { + "name": "execution_large_values_cleanup_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"execution_large_values\".\"deleted_at\" IS NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "execution_large_values_tombstone_cleanup_idx": { + "name": "execution_large_values_tombstone_cleanup_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "deleted_at", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"execution_large_values\".\"deleted_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "execution_large_values_workspace_id_workspace_id_fk": { + "name": "execution_large_values_workspace_id_workspace_id_fk", + "tableFrom": "execution_large_values", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "execution_large_values_workflow_id_workflow_id_fk": { + "name": "execution_large_values_workflow_id_workflow_id_fk", + "tableFrom": "execution_large_values", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.idempotency_key": { + "name": "idempotency_key", + "schema": "", + "columns": { + "key": { + "name": "key", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "result": { + "name": "result", + "type": "json", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "idempotency_key_created_at_idx": { + "name": "idempotency_key_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.invitation": { + "name": "invitation", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "kind": { + "name": "kind", + "type": "invitation_kind", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'organization'" + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "inviter_id": { + "name": "inviter_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "membership_intent": { + "name": "membership_intent", + "type": "invitation_membership_intent", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'internal'" + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "invitation_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "invitation_email_idx": { + "name": "invitation_email_idx", + "columns": [ + { + "expression": "email", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "invitation_organization_id_idx": { + "name": "invitation_organization_id_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "invitation_status_idx": { + "name": "invitation_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "invitation_pending_email_org_unique": { + "name": "invitation_pending_email_org_unique", + "columns": [ + { + "expression": "email", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "\"invitation\".\"status\" = 'pending' AND \"invitation\".\"organization_id\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "invitation_inviter_id_user_id_fk": { + "name": "invitation_inviter_id_user_id_fk", + "tableFrom": "invitation", + "tableTo": "user", + "columnsFrom": ["inviter_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "invitation_organization_id_organization_id_fk": { + "name": "invitation_organization_id_organization_id_fk", + "tableFrom": "invitation", + "tableTo": "organization", + "columnsFrom": ["organization_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "invitation_token_unique": { + "name": "invitation_token_unique", + "nullsNotDistinct": false, + "columns": ["token"] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.invitation_workspace_grant": { + "name": "invitation_workspace_grant", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "invitation_id": { + "name": "invitation_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "permission": { + "name": "permission", + "type": "permission_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "invitation_workspace_grant_unique": { + "name": "invitation_workspace_grant_unique", + "columns": [ + { + "expression": "invitation_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "invitation_workspace_grant_workspace_id_idx": { + "name": "invitation_workspace_grant_workspace_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "invitation_workspace_grant_invitation_id_invitation_id_fk": { + "name": "invitation_workspace_grant_invitation_id_invitation_id_fk", + "tableFrom": "invitation_workspace_grant", + "tableTo": "invitation", + "columnsFrom": ["invitation_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "invitation_workspace_grant_workspace_id_workspace_id_fk": { + "name": "invitation_workspace_grant_workspace_id_workspace_id_fk", + "tableFrom": "invitation_workspace_grant", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.job_execution_logs": { + "name": "job_execution_logs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "schedule_id": { + "name": "schedule_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "execution_id": { + "name": "execution_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "level": { + "name": "level", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'running'" + }, + "trigger": { + "name": "trigger", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "started_at": { + "name": "started_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "ended_at": { + "name": "ended_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "total_duration_ms": { + "name": "total_duration_ms", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "execution_data": { + "name": "execution_data", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "cost": { + "name": "cost", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "job_execution_logs_schedule_id_idx": { + "name": "job_execution_logs_schedule_id_idx", + "columns": [ + { + "expression": "schedule_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "job_execution_logs_workspace_started_at_idx": { + "name": "job_execution_logs_workspace_started_at_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "started_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "job_execution_logs_workspace_ended_at_id_idx": { + "name": "job_execution_logs_workspace_ended_at_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "date_trunc('milliseconds', \"ended_at\")", + "asc": true, + "isExpression": true, + "nulls": "last" + }, + { + "expression": "id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "job_execution_logs_execution_id_unique": { + "name": "job_execution_logs_execution_id_unique", + "columns": [ + { + "expression": "execution_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "job_execution_logs_trigger_idx": { + "name": "job_execution_logs_trigger_idx", + "columns": [ + { + "expression": "trigger", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "job_execution_logs_schedule_id_workflow_schedule_id_fk": { + "name": "job_execution_logs_schedule_id_workflow_schedule_id_fk", + "tableFrom": "job_execution_logs", + "tableTo": "workflow_schedule", + "columnsFrom": ["schedule_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "job_execution_logs_workspace_id_workspace_id_fk": { + "name": "job_execution_logs_workspace_id_workspace_id_fk", + "tableFrom": "job_execution_logs", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.knowledge_base": { + "name": "knowledge_base", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "token_count": { + "name": "token_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "embedding_model": { + "name": "embedding_model", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'text-embedding-3-small'" + }, + "embedding_dimension": { + "name": "embedding_dimension", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 1536 + }, + "chunking_config": { + "name": "chunking_config", + "type": "json", + "primaryKey": false, + "notNull": true, + "default": "'{\"maxSize\": 1024, \"minSize\": 1, \"overlap\": 200}'" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "kb_user_id_idx": { + "name": "kb_user_id_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "kb_workspace_id_idx": { + "name": "kb_workspace_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "kb_user_workspace_idx": { + "name": "kb_user_workspace_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "kb_deleted_at_idx": { + "name": "kb_deleted_at_idx", + "columns": [ + { + "expression": "deleted_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "kb_workspace_deleted_partial_idx": { + "name": "kb_workspace_deleted_partial_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "deleted_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"knowledge_base\".\"deleted_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "kb_workspace_name_active_unique": { + "name": "kb_workspace_name_active_unique", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "\"knowledge_base\".\"deleted_at\" IS NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "knowledge_base_user_id_user_id_fk": { + "name": "knowledge_base_user_id_user_id_fk", + "tableFrom": "knowledge_base", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "knowledge_base_workspace_id_workspace_id_fk": { + "name": "knowledge_base_workspace_id_workspace_id_fk", + "tableFrom": "knowledge_base", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.knowledge_base_tag_definitions": { + "name": "knowledge_base_tag_definitions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "knowledge_base_id": { + "name": "knowledge_base_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "tag_slot": { + "name": "tag_slot", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "display_name": { + "name": "display_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "field_type": { + "name": "field_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'text'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "kb_tag_definitions_kb_slot_idx": { + "name": "kb_tag_definitions_kb_slot_idx", + "columns": [ + { + "expression": "knowledge_base_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "tag_slot", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "kb_tag_definitions_kb_display_name_idx": { + "name": "kb_tag_definitions_kb_display_name_idx", + "columns": [ + { + "expression": "knowledge_base_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "display_name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "kb_tag_definitions_kb_id_idx": { + "name": "kb_tag_definitions_kb_id_idx", + "columns": [ + { + "expression": "knowledge_base_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "knowledge_base_tag_definitions_knowledge_base_id_knowledge_base_id_fk": { + "name": "knowledge_base_tag_definitions_knowledge_base_id_knowledge_base_id_fk", + "tableFrom": "knowledge_base_tag_definitions", + "tableTo": "knowledge_base", + "columnsFrom": ["knowledge_base_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.knowledge_connector": { + "name": "knowledge_connector", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "knowledge_base_id": { + "name": "knowledge_base_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "connector_type": { + "name": "connector_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "credential_id": { + "name": "credential_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "encrypted_api_key": { + "name": "encrypted_api_key", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "source_config": { + "name": "source_config", + "type": "json", + "primaryKey": false, + "notNull": true + }, + "sync_mode": { + "name": "sync_mode", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'full'" + }, + "sync_interval_minutes": { + "name": "sync_interval_minutes", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 1440 + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'active'" + }, + "last_sync_at": { + "name": "last_sync_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "last_sync_error": { + "name": "last_sync_error", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "last_sync_doc_count": { + "name": "last_sync_doc_count", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "next_sync_at": { + "name": "next_sync_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "consecutive_failures": { + "name": "consecutive_failures", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "archived_at": { + "name": "archived_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "kc_knowledge_base_id_idx": { + "name": "kc_knowledge_base_id_idx", + "columns": [ + { + "expression": "knowledge_base_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "kc_status_next_sync_idx": { + "name": "kc_status_next_sync_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "next_sync_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "kc_archived_at_partial_idx": { + "name": "kc_archived_at_partial_idx", + "columns": [ + { + "expression": "archived_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"knowledge_connector\".\"archived_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "kc_deleted_at_partial_idx": { + "name": "kc_deleted_at_partial_idx", + "columns": [ + { + "expression": "deleted_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"knowledge_connector\".\"deleted_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "knowledge_connector_knowledge_base_id_knowledge_base_id_fk": { + "name": "knowledge_connector_knowledge_base_id_knowledge_base_id_fk", + "tableFrom": "knowledge_connector", + "tableTo": "knowledge_base", + "columnsFrom": ["knowledge_base_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.knowledge_connector_sync_log": { + "name": "knowledge_connector_sync_log", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "connector_id": { + "name": "connector_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "started_at": { + "name": "started_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "completed_at": { + "name": "completed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "docs_added": { + "name": "docs_added", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "docs_updated": { + "name": "docs_updated", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "docs_deleted": { + "name": "docs_deleted", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "docs_unchanged": { + "name": "docs_unchanged", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "docs_failed": { + "name": "docs_failed", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "error_message": { + "name": "error_message", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "kcsl_connector_id_idx": { + "name": "kcsl_connector_id_idx", + "columns": [ + { + "expression": "connector_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "knowledge_connector_sync_log_connector_id_knowledge_connector_id_fk": { + "name": "knowledge_connector_sync_log_connector_id_knowledge_connector_id_fk", + "tableFrom": "knowledge_connector_sync_log", + "tableTo": "knowledge_connector", + "columnsFrom": ["connector_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mcp_server_oauth": { + "name": "mcp_server_oauth", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "mcp_server_id": { + "name": "mcp_server_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "client_information": { + "name": "client_information", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tokens": { + "name": "tokens", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "code_verifier": { + "name": "code_verifier", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "state": { + "name": "state", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "state_created_at": { + "name": "state_created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "last_refreshed_at": { + "name": "last_refreshed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "mcp_server_oauth_server_unique": { + "name": "mcp_server_oauth_server_unique", + "columns": [ + { + "expression": "mcp_server_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mcp_server_oauth_state_idx": { + "name": "mcp_server_oauth_state_idx", + "columns": [ + { + "expression": "state", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "mcp_server_oauth_mcp_server_id_mcp_servers_id_fk": { + "name": "mcp_server_oauth_mcp_server_id_mcp_servers_id_fk", + "tableFrom": "mcp_server_oauth", + "tableTo": "mcp_servers", + "columnsFrom": ["mcp_server_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mcp_server_oauth_user_id_user_id_fk": { + "name": "mcp_server_oauth_user_id_user_id_fk", + "tableFrom": "mcp_server_oauth", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "mcp_server_oauth_workspace_id_workspace_id_fk": { + "name": "mcp_server_oauth_workspace_id_workspace_id_fk", + "tableFrom": "mcp_server_oauth", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mcp_servers": { + "name": "mcp_servers", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "transport": { + "name": "transport", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "auth_type": { + "name": "auth_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'headers'" + }, + "oauth_client_id": { + "name": "oauth_client_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "oauth_client_secret": { + "name": "oauth_client_secret", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "headers": { + "name": "headers", + "type": "json", + "primaryKey": false, + "notNull": false, + "default": "'{}'" + }, + "timeout": { + "name": "timeout", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 30000 + }, + "retries": { + "name": "retries", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 3 + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "last_connected": { + "name": "last_connected", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "connection_status": { + "name": "connection_status", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'disconnected'" + }, + "last_error": { + "name": "last_error", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "status_config": { + "name": "status_config", + "type": "jsonb", + "primaryKey": false, + "notNull": false, + "default": "'{}'" + }, + "tool_count": { + "name": "tool_count", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "last_tools_refresh": { + "name": "last_tools_refresh", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "total_requests": { + "name": "total_requests", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "last_used": { + "name": "last_used", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "mcp_servers_workspace_enabled_idx": { + "name": "mcp_servers_workspace_enabled_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "enabled", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mcp_servers_workspace_deleted_partial_idx": { + "name": "mcp_servers_workspace_deleted_partial_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "deleted_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"mcp_servers\".\"deleted_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "mcp_servers_workspace_id_workspace_id_fk": { + "name": "mcp_servers_workspace_id_workspace_id_fk", + "tableFrom": "mcp_servers", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mcp_servers_created_by_user_id_fk": { + "name": "mcp_servers_created_by_user_id_fk", + "tableFrom": "mcp_servers", + "tableTo": "user", + "columnsFrom": ["created_by"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.member": { + "name": "member", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "member_user_id_unique": { + "name": "member_user_id_unique", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "member_organization_id_idx": { + "name": "member_organization_id_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "member_user_id_user_id_fk": { + "name": "member_user_id_user_id_fk", + "tableFrom": "member", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "member_organization_id_organization_id_fk": { + "name": "member_organization_id_organization_id_fk", + "tableFrom": "member", + "tableTo": "organization", + "columnsFrom": ["organization_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.memory": { + "name": "memory", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "key": { + "name": "key", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "data": { + "name": "data", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "memory_key_idx": { + "name": "memory_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "memory_workspace_idx": { + "name": "memory_workspace_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "memory_workspace_key_idx": { + "name": "memory_workspace_key_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "memory_workspace_deleted_partial_idx": { + "name": "memory_workspace_deleted_partial_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "deleted_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"memory\".\"deleted_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "memory_workspace_id_workspace_id_fk": { + "name": "memory_workspace_id_workspace_id_fk", + "tableFrom": "memory", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mothership_inbox_allowed_sender": { + "name": "mothership_inbox_allowed_sender", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "label": { + "name": "label", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "added_by": { + "name": "added_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "inbox_sender_ws_email_idx": { + "name": "inbox_sender_ws_email_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "email", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "mothership_inbox_allowed_sender_workspace_id_workspace_id_fk": { + "name": "mothership_inbox_allowed_sender_workspace_id_workspace_id_fk", + "tableFrom": "mothership_inbox_allowed_sender", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mothership_inbox_allowed_sender_added_by_user_id_fk": { + "name": "mothership_inbox_allowed_sender_added_by_user_id_fk", + "tableFrom": "mothership_inbox_allowed_sender", + "tableTo": "user", + "columnsFrom": ["added_by"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mothership_inbox_task": { + "name": "mothership_inbox_task", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "from_email": { + "name": "from_email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "from_name": { + "name": "from_name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "subject": { + "name": "subject", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "body_preview": { + "name": "body_preview", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "body_text": { + "name": "body_text", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "body_html": { + "name": "body_html", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "email_message_id": { + "name": "email_message_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "in_reply_to": { + "name": "in_reply_to", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "response_message_id": { + "name": "response_message_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "agentmail_message_id": { + "name": "agentmail_message_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'received'" + }, + "chat_id": { + "name": "chat_id", + "type": "uuid", + "primaryKey": false, + "notNull": false + }, + "trigger_job_id": { + "name": "trigger_job_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "result_summary": { + "name": "result_summary", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "error_message": { + "name": "error_message", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "rejection_reason": { + "name": "rejection_reason", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "has_attachments": { + "name": "has_attachments", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "cc_recipients": { + "name": "cc_recipients", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "processing_started_at": { + "name": "processing_started_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "completed_at": { + "name": "completed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "inbox_task_ws_created_at_idx": { + "name": "inbox_task_ws_created_at_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "inbox_task_ws_status_idx": { + "name": "inbox_task_ws_status_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "inbox_task_response_msg_id_idx": { + "name": "inbox_task_response_msg_id_idx", + "columns": [ + { + "expression": "response_message_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "inbox_task_email_msg_id_idx": { + "name": "inbox_task_email_msg_id_idx", + "columns": [ + { + "expression": "email_message_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "mothership_inbox_task_workspace_id_workspace_id_fk": { + "name": "mothership_inbox_task_workspace_id_workspace_id_fk", + "tableFrom": "mothership_inbox_task", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "mothership_inbox_task_chat_id_copilot_chats_id_fk": { + "name": "mothership_inbox_task_chat_id_copilot_chats_id_fk", + "tableFrom": "mothership_inbox_task", + "tableTo": "copilot_chats", + "columnsFrom": ["chat_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mothership_inbox_webhook": { + "name": "mothership_inbox_webhook", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "webhook_id": { + "name": "webhook_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "secret": { + "name": "secret", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": { + "mothership_inbox_webhook_workspace_id_workspace_id_fk": { + "name": "mothership_inbox_webhook_workspace_id_workspace_id_fk", + "tableFrom": "mothership_inbox_webhook", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "mothership_inbox_webhook_workspace_id_unique": { + "name": "mothership_inbox_webhook_workspace_id_unique", + "nullsNotDistinct": false, + "columns": ["workspace_id"] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mothership_settings": { + "name": "mothership_settings", + "schema": "", + "columns": { + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "mcp_tool_refs": { + "name": "mcp_tool_refs", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'[]'::jsonb" + }, + "custom_tool_refs": { + "name": "custom_tool_refs", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'[]'::jsonb" + }, + "skill_refs": { + "name": "skill_refs", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'[]'::jsonb" + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "mothership_settings_workspace_id_idx": { + "name": "mothership_settings_workspace_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "mothership_settings_workspace_id_workspace_id_fk": { + "name": "mothership_settings_workspace_id_workspace_id_fk", + "tableFrom": "mothership_settings", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.organization": { + "name": "organization", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "logo": { + "name": "logo", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "metadata": { + "name": "metadata", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "whitelabel_settings": { + "name": "whitelabel_settings", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "data_retention_settings": { + "name": "data_retention_settings", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "org_usage_limit": { + "name": "org_usage_limit", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "storage_used_bytes": { + "name": "storage_used_bytes", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "limit_notifications": { + "name": "limit_notifications", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'::jsonb" + }, + "departed_member_usage": { + "name": "departed_member_usage", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": "'0'" + }, + "credit_balance": { + "name": "credit_balance", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": "'0'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.organization_member_usage_limit": { + "name": "organization_member_usage_limit", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "usage_limit": { + "name": "usage_limit", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "set_by": { + "name": "set_by", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "org_member_usage_limit_org_user_unique": { + "name": "org_member_usage_limit_org_user_unique", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "org_member_usage_limit_organization_id_idx": { + "name": "org_member_usage_limit_organization_id_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "organization_member_usage_limit_organization_id_organization_id_fk": { + "name": "organization_member_usage_limit_organization_id_organization_id_fk", + "tableFrom": "organization_member_usage_limit", + "tableTo": "organization", + "columnsFrom": ["organization_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "organization_member_usage_limit_user_id_user_id_fk": { + "name": "organization_member_usage_limit_user_id_user_id_fk", + "tableFrom": "organization_member_usage_limit", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "organization_member_usage_limit_set_by_user_id_fk": { + "name": "organization_member_usage_limit_set_by_user_id_fk", + "tableFrom": "organization_member_usage_limit", + "tableTo": "user", + "columnsFrom": ["set_by"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.outbox_event": { + "name": "outbox_event", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "event_type": { + "name": "event_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "payload": { + "name": "payload", + "type": "json", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "attempts": { + "name": "attempts", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "max_attempts": { + "name": "max_attempts", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 10 + }, + "available_at": { + "name": "available_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "locked_at": { + "name": "locked_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "last_error": { + "name": "last_error", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "processed_at": { + "name": "processed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "outbox_event_status_available_idx": { + "name": "outbox_event_status_available_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "available_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "outbox_event_locked_at_idx": { + "name": "outbox_event_locked_at_idx", + "columns": [ + { + "expression": "locked_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.paused_executions": { + "name": "paused_executions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "execution_id": { + "name": "execution_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "execution_snapshot": { + "name": "execution_snapshot", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "pause_points": { + "name": "pause_points", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "total_pause_count": { + "name": "total_pause_count", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "resumed_count": { + "name": "resumed_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'paused'" + }, + "metadata": { + "name": "metadata", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'::jsonb" + }, + "paused_at": { + "name": "paused_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "next_resume_at": { + "name": "next_resume_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "paused_executions_workflow_id_idx": { + "name": "paused_executions_workflow_id_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "paused_executions_status_idx": { + "name": "paused_executions_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "paused_executions_execution_id_unique": { + "name": "paused_executions_execution_id_unique", + "columns": [ + { + "expression": "execution_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "paused_executions_next_resume_at_idx": { + "name": "paused_executions_next_resume_at_idx", + "columns": [ + { + "expression": "next_resume_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "status = 'paused' AND next_resume_at IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "paused_executions_workflow_id_workflow_id_fk": { + "name": "paused_executions_workflow_id_workflow_id_fk", + "tableFrom": "paused_executions", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pending_credential_draft": { + "name": "pending_credential_draft", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "provider_id": { + "name": "provider_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "display_name": { + "name": "display_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "credential_id": { + "name": "credential_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "pending_draft_user_provider_ws": { + "name": "pending_draft_user_provider_ws", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "provider_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pending_credential_draft_user_id_user_id_fk": { + "name": "pending_credential_draft_user_id_user_id_fk", + "tableFrom": "pending_credential_draft", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "pending_credential_draft_workspace_id_workspace_id_fk": { + "name": "pending_credential_draft_workspace_id_workspace_id_fk", + "tableFrom": "pending_credential_draft", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "pending_credential_draft_credential_id_credential_id_fk": { + "name": "pending_credential_draft_credential_id_credential_id_fk", + "tableFrom": "pending_credential_draft", + "tableTo": "credential", + "columnsFrom": ["credential_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.permission_group": { + "name": "permission_group", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "config": { + "name": "config", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "is_default": { + "name": "is_default", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + } + }, + "indexes": { + "permission_group_created_by_idx": { + "name": "permission_group_created_by_idx", + "columns": [ + { + "expression": "created_by", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "permission_group_organization_name_unique": { + "name": "permission_group_organization_name_unique", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "permission_group_organization_default_unique": { + "name": "permission_group_organization_default_unique", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "is_default = true", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "permission_group_organization_id_organization_id_fk": { + "name": "permission_group_organization_id_organization_id_fk", + "tableFrom": "permission_group", + "tableTo": "organization", + "columnsFrom": ["organization_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "permission_group_created_by_user_id_fk": { + "name": "permission_group_created_by_user_id_fk", + "tableFrom": "permission_group", + "tableTo": "user", + "columnsFrom": ["created_by"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.permission_group_member": { + "name": "permission_group_member", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "permission_group_id": { + "name": "permission_group_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "assigned_by": { + "name": "assigned_by", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "assigned_at": { + "name": "assigned_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "permission_group_member_group_id_idx": { + "name": "permission_group_member_group_id_idx", + "columns": [ + { + "expression": "permission_group_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "permission_group_member_group_user_unique": { + "name": "permission_group_member_group_user_unique", + "columns": [ + { + "expression": "permission_group_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "permission_group_member_organization_user_idx": { + "name": "permission_group_member_organization_user_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "permission_group_member_permission_group_id_permission_group_id_fk": { + "name": "permission_group_member_permission_group_id_permission_group_id_fk", + "tableFrom": "permission_group_member", + "tableTo": "permission_group", + "columnsFrom": ["permission_group_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "permission_group_member_organization_id_organization_id_fk": { + "name": "permission_group_member_organization_id_organization_id_fk", + "tableFrom": "permission_group_member", + "tableTo": "organization", + "columnsFrom": ["organization_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "permission_group_member_user_id_user_id_fk": { + "name": "permission_group_member_user_id_user_id_fk", + "tableFrom": "permission_group_member", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "permission_group_member_assigned_by_user_id_fk": { + "name": "permission_group_member_assigned_by_user_id_fk", + "tableFrom": "permission_group_member", + "tableTo": "user", + "columnsFrom": ["assigned_by"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.permission_group_workspace": { + "name": "permission_group_workspace", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "permission_group_id": { + "name": "permission_group_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "permission_group_workspace_workspace_id_idx": { + "name": "permission_group_workspace_workspace_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "permission_group_workspace_group_workspace_unique": { + "name": "permission_group_workspace_group_workspace_unique", + "columns": [ + { + "expression": "permission_group_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "permission_group_workspace_permission_group_id_permission_group_id_fk": { + "name": "permission_group_workspace_permission_group_id_permission_group_id_fk", + "tableFrom": "permission_group_workspace", + "tableTo": "permission_group", + "columnsFrom": ["permission_group_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "permission_group_workspace_workspace_id_workspace_id_fk": { + "name": "permission_group_workspace_workspace_id_workspace_id_fk", + "tableFrom": "permission_group_workspace", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "permission_group_workspace_organization_id_organization_id_fk": { + "name": "permission_group_workspace_organization_id_organization_id_fk", + "tableFrom": "permission_group_workspace", + "tableTo": "organization", + "columnsFrom": ["organization_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.permissions": { + "name": "permissions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "entity_type": { + "name": "entity_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "entity_id": { + "name": "entity_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "permission_type": { + "name": "permission_type", + "type": "permission_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "permissions_user_id_idx": { + "name": "permissions_user_id_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "permissions_entity_idx": { + "name": "permissions_entity_idx", + "columns": [ + { + "expression": "entity_type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "entity_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "permissions_user_entity_type_idx": { + "name": "permissions_user_entity_type_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "entity_type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "permissions_user_entity_permission_idx": { + "name": "permissions_user_entity_permission_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "entity_type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "permission_type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "permissions_user_entity_idx": { + "name": "permissions_user_entity_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "entity_type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "entity_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "permissions_unique_constraint": { + "name": "permissions_unique_constraint", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "entity_type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "entity_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "permissions_user_id_user_id_fk": { + "name": "permissions_user_id_user_id_fk", + "tableFrom": "permissions", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.public_share": { + "name": "public_share", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "resource_type": { + "name": "resource_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "auth_type": { + "name": "auth_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'public'" + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "allowed_emails": { + "name": "allowed_emails", + "type": "json", + "primaryKey": false, + "notNull": false, + "default": "'[]'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "public_share_token_unique": { + "name": "public_share_token_unique", + "columns": [ + { + "expression": "token", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "public_share_resource_unique": { + "name": "public_share_resource_unique", + "columns": [ + { + "expression": "resource_type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "public_share_resource_id_idx": { + "name": "public_share_resource_id_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "public_share_workspace_id_idx": { + "name": "public_share_workspace_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "public_share_workspace_id_workspace_id_fk": { + "name": "public_share_workspace_id_workspace_id_fk", + "tableFrom": "public_share", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "public_share_created_by_user_id_fk": { + "name": "public_share_created_by_user_id_fk", + "tableFrom": "public_share", + "tableTo": "user", + "columnsFrom": ["created_by"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.rate_limit_bucket": { + "name": "rate_limit_bucket", + "schema": "", + "columns": { + "key": { + "name": "key", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "tokens": { + "name": "tokens", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "last_refill_at": { + "name": "last_refill_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.resume_queue": { + "name": "resume_queue", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "paused_execution_id": { + "name": "paused_execution_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "parent_execution_id": { + "name": "parent_execution_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "new_execution_id": { + "name": "new_execution_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "context_id": { + "name": "context_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "resume_input": { + "name": "resume_input", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "queued_at": { + "name": "queued_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "claimed_at": { + "name": "claimed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "completed_at": { + "name": "completed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "failure_reason": { + "name": "failure_reason", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "resume_queue_parent_status_idx": { + "name": "resume_queue_parent_status_idx", + "columns": [ + { + "expression": "parent_execution_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "queued_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resume_queue_new_execution_idx": { + "name": "resume_queue_new_execution_idx", + "columns": [ + { + "expression": "new_execution_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "resume_queue_paused_execution_id_paused_executions_id_fk": { + "name": "resume_queue_paused_execution_id_paused_executions_id_fk", + "tableFrom": "resume_queue", + "tableTo": "paused_executions", + "columnsFrom": ["paused_execution_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.session": { + "name": "session", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "ip_address": { + "name": "ip_address", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "user_agent": { + "name": "user_agent", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "active_organization_id": { + "name": "active_organization_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "impersonated_by": { + "name": "impersonated_by", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "session_user_id_idx": { + "name": "session_user_id_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "session_token_idx": { + "name": "session_token_idx", + "columns": [ + { + "expression": "token", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "session_user_id_user_id_fk": { + "name": "session_user_id_user_id_fk", + "tableFrom": "session", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "session_active_organization_id_organization_id_fk": { + "name": "session_active_organization_id_organization_id_fk", + "tableFrom": "session", + "tableTo": "organization", + "columnsFrom": ["active_organization_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "session_token_unique": { + "name": "session_token_unique", + "nullsNotDistinct": false, + "columns": ["token"] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.settings": { + "name": "settings", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "theme": { + "name": "theme", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'system'" + }, + "auto_connect": { + "name": "auto_connect", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "telemetry_enabled": { + "name": "telemetry_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "email_preferences": { + "name": "email_preferences", + "type": "json", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "billing_usage_notifications_enabled": { + "name": "billing_usage_notifications_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "show_training_controls": { + "name": "show_training_controls", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "super_user_mode_enabled": { + "name": "super_user_mode_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "mothership_environment": { + "name": "mothership_environment", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'default'" + }, + "error_notifications_enabled": { + "name": "error_notifications_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "snap_to_grid_size": { + "name": "snap_to_grid_size", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "show_action_bar": { + "name": "show_action_bar", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "timezone": { + "name": "timezone", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "copilot_enabled_models": { + "name": "copilot_enabled_models", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "copilot_auto_allowed_tools": { + "name": "copilot_auto_allowed_tools", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'[]'" + }, + "last_active_workspace_id": { + "name": "last_active_workspace_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": { + "settings_user_id_user_id_fk": { + "name": "settings_user_id_user_id_fk", + "tableFrom": "settings", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "settings_user_id_unique": { + "name": "settings_user_id_unique", + "nullsNotDistinct": false, + "columns": ["user_id"] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.sim_trigger_state": { + "name": "sim_trigger_state", + "schema": "", + "columns": { + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "block_id": { + "name": "block_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "scope_key": { + "name": "scope_key", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "last_fired_at": { + "name": "last_fired_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": { + "sim_trigger_state_workflow_id_workflow_id_fk": { + "name": "sim_trigger_state_workflow_id_workflow_id_fk", + "tableFrom": "sim_trigger_state", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "sim_trigger_state_workflow_id_block_id_scope_key_pk": { + "name": "sim_trigger_state_workflow_id_block_id_scope_key_pk", + "columns": ["workflow_id", "block_id", "scope_key"] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.skill": { + "name": "skill", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "content": { + "name": "content", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "skill_workspace_name_unique": { + "name": "skill_workspace_name_unique", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "skill_workspace_id_workspace_id_fk": { + "name": "skill_workspace_id_workspace_id_fk", + "tableFrom": "skill", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "skill_user_id_user_id_fk": { + "name": "skill_user_id_user_id_fk", + "tableFrom": "skill", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.sso_provider": { + "name": "sso_provider", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "issuer": { + "name": "issuer", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "domain": { + "name": "domain", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "oidc_config": { + "name": "oidc_config", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "saml_config": { + "name": "saml_config", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "provider_id": { + "name": "provider_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "sso_provider_provider_id_idx": { + "name": "sso_provider_provider_id_idx", + "columns": [ + { + "expression": "provider_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "sso_provider_domain_idx": { + "name": "sso_provider_domain_idx", + "columns": [ + { + "expression": "domain", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "sso_provider_user_id_idx": { + "name": "sso_provider_user_id_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "sso_provider_organization_id_idx": { + "name": "sso_provider_organization_id_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "sso_provider_user_id_user_id_fk": { + "name": "sso_provider_user_id_user_id_fk", + "tableFrom": "sso_provider", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "sso_provider_organization_id_organization_id_fk": { + "name": "sso_provider_organization_id_organization_id_fk", + "tableFrom": "sso_provider", + "tableTo": "organization", + "columnsFrom": ["organization_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.subscription": { + "name": "subscription", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "plan": { + "name": "plan", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "reference_id": { + "name": "reference_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "stripe_customer_id": { + "name": "stripe_customer_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "stripe_subscription_id": { + "name": "stripe_subscription_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "period_start": { + "name": "period_start", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "period_end": { + "name": "period_end", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "cancel_at_period_end": { + "name": "cancel_at_period_end", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "cancel_at": { + "name": "cancel_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "canceled_at": { + "name": "canceled_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "ended_at": { + "name": "ended_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "seats": { + "name": "seats", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "trial_start": { + "name": "trial_start", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "trial_end": { + "name": "trial_end", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "billing_interval": { + "name": "billing_interval", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "stripe_schedule_id": { + "name": "stripe_schedule_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "metadata": { + "name": "metadata", + "type": "json", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "subscription_reference_status_idx": { + "name": "subscription_reference_status_idx", + "columns": [ + { + "expression": "reference_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": { + "check_enterprise_metadata": { + "name": "check_enterprise_metadata", + "value": "plan != 'enterprise' OR metadata IS NOT NULL" + } + }, + "isRLSEnabled": false + }, + "public.table_jobs": { + "name": "table_jobs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "table_id": { + "name": "table_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'running'" + }, + "payload": { + "name": "payload", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "rows_processed": { + "name": "rows_processed", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "error": { + "name": "error", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "started_at": { + "name": "started_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "completed_at": { + "name": "completed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "table_jobs_one_active_per_table": { + "name": "table_jobs_one_active_per_table", + "columns": [ + { + "expression": "table_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "\"table_jobs\".\"status\" = 'running' AND \"table_jobs\".\"type\" <> 'export'", + "concurrently": false, + "method": "btree", + "with": {} + }, + "table_jobs_watchdog_idx": { + "name": "table_jobs_watchdog_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "table_jobs_table_started_idx": { + "name": "table_jobs_table_started_idx", + "columns": [ + { + "expression": "table_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "started_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "table_jobs_table_id_user_table_definitions_id_fk": { + "name": "table_jobs_table_id_user_table_definitions_id_fk", + "tableFrom": "table_jobs", + "tableTo": "user_table_definitions", + "columnsFrom": ["table_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "table_jobs_workspace_id_workspace_id_fk": { + "name": "table_jobs_workspace_id_workspace_id_fk", + "tableFrom": "table_jobs", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.table_row_executions": { + "name": "table_row_executions", + "schema": "", + "columns": { + "table_id": { + "name": "table_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "row_id": { + "name": "row_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "group_id": { + "name": "group_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "execution_id": { + "name": "execution_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "job_id": { + "name": "job_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "error": { + "name": "error", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "running_block_ids": { + "name": "running_block_ids", + "type": "text[]", + "primaryKey": false, + "notNull": true, + "default": "'{}'::text[]" + }, + "block_errors": { + "name": "block_errors", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'::jsonb" + }, + "cancelled_at": { + "name": "cancelled_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "enrichment_details": { + "name": "enrichment_details", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "table_row_executions_table_status_idx": { + "name": "table_row_executions_table_status_idx", + "columns": [ + { + "expression": "table_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"table_row_executions\".\"status\" IN ('queued', 'running', 'pending')", + "concurrently": false, + "method": "btree", + "with": {} + }, + "table_row_executions_execution_id_idx": { + "name": "table_row_executions_execution_id_idx", + "columns": [ + { + "expression": "execution_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"table_row_executions\".\"execution_id\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "table_row_executions_table_group_idx": { + "name": "table_row_executions_table_group_idx", + "columns": [ + { + "expression": "table_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "group_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "table_row_executions_table_id_user_table_definitions_id_fk": { + "name": "table_row_executions_table_id_user_table_definitions_id_fk", + "tableFrom": "table_row_executions", + "tableTo": "user_table_definitions", + "columnsFrom": ["table_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "table_row_executions_row_id_user_table_rows_id_fk": { + "name": "table_row_executions_row_id_user_table_rows_id_fk", + "tableFrom": "table_row_executions", + "tableTo": "user_table_rows", + "columnsFrom": ["row_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "table_row_executions_row_id_group_id_pk": { + "name": "table_row_executions_row_id_group_id_pk", + "columns": ["row_id", "group_id"] + } + }, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.table_run_dispatches": { + "name": "table_run_dispatches", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "table_id": { + "name": "table_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "request_id": { + "name": "request_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "mode": { + "name": "mode", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "scope": { + "name": "scope", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "cursor": { + "name": "cursor", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "limit": { + "name": "limit", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "processed_count": { + "name": "processed_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "is_manual_run": { + "name": "is_manual_run", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "triggered_by_user_id": { + "name": "triggered_by_user_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "requested_at": { + "name": "requested_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "completed_at": { + "name": "completed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "cancelled_at": { + "name": "cancelled_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "table_run_dispatches_active_idx": { + "name": "table_run_dispatches_active_idx", + "columns": [ + { + "expression": "table_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "table_run_dispatches_watchdog_idx": { + "name": "table_run_dispatches_watchdog_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "requested_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "table_run_dispatches_table_id_user_table_definitions_id_fk": { + "name": "table_run_dispatches_table_id_user_table_definitions_id_fk", + "tableFrom": "table_run_dispatches", + "tableTo": "user_table_definitions", + "columnsFrom": ["table_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "table_run_dispatches_workspace_id_workspace_id_fk": { + "name": "table_run_dispatches_workspace_id_workspace_id_fk", + "tableFrom": "table_run_dispatches", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "table_run_dispatches_triggered_by_user_id_user_id_fk": { + "name": "table_run_dispatches_triggered_by_user_id_user_id_fk", + "tableFrom": "table_run_dispatches", + "tableTo": "user", + "columnsFrom": ["triggered_by_user_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.usage_log": { + "name": "usage_log", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "category": { + "name": "category", + "type": "usage_log_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "source": { + "name": "source", + "type": "usage_log_source", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "metadata": { + "name": "metadata", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "cost": { + "name": "cost", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "event_key": { + "name": "event_key", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "billing_entity_type": { + "name": "billing_entity_type", + "type": "billing_entity_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "billing_entity_id": { + "name": "billing_entity_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "billing_period_start": { + "name": "billing_period_start", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "billing_period_end": { + "name": "billing_period_end", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "execution_id": { + "name": "execution_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "usage_log_user_created_at_idx": { + "name": "usage_log_user_created_at_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "usage_log_source_idx": { + "name": "usage_log_source_idx", + "columns": [ + { + "expression": "source", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "usage_log_workspace_id_idx": { + "name": "usage_log_workspace_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "usage_log_workflow_id_idx": { + "name": "usage_log_workflow_id_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "usage_log_event_key_unique": { + "name": "usage_log_event_key_unique", + "columns": [ + { + "expression": "event_key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "\"usage_log\".\"event_key\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "usage_log_billing_entity_period_idx": { + "name": "usage_log_billing_entity_period_idx", + "columns": [ + { + "expression": "billing_entity_type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "billing_entity_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "billing_period_start", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "billing_period_end", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"usage_log\".\"billing_entity_type\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "usage_log_workspace_created_at_idx": { + "name": "usage_log_workspace_created_at_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "usage_log_execution_id_idx": { + "name": "usage_log_execution_id_idx", + "columns": [ + { + "expression": "execution_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "usage_log_user_id_user_id_fk": { + "name": "usage_log_user_id_user_id_fk", + "tableFrom": "usage_log", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "usage_log_workspace_id_workspace_id_fk": { + "name": "usage_log_workspace_id_workspace_id_fk", + "tableFrom": "usage_log", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "usage_log_workflow_id_workflow_id_fk": { + "name": "usage_log_workflow_id_workflow_id_fk", + "tableFrom": "usage_log", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": { + "usage_log_billing_scope_all_or_none": { + "name": "usage_log_billing_scope_all_or_none", + "value": "(\n (\"usage_log\".\"billing_entity_type\" IS NULL AND \"usage_log\".\"billing_entity_id\" IS NULL AND \"usage_log\".\"billing_period_start\" IS NULL AND \"usage_log\".\"billing_period_end\" IS NULL)\n OR\n (\"usage_log\".\"billing_entity_type\" IS NOT NULL AND \"usage_log\".\"billing_entity_id\" IS NOT NULL AND \"usage_log\".\"billing_period_start\" IS NOT NULL AND \"usage_log\".\"billing_period_end\" IS NOT NULL AND \"usage_log\".\"billing_period_start\" < \"usage_log\".\"billing_period_end\")\n )" + } + }, + "isRLSEnabled": false + }, + "public.user": { + "name": "user", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "normalized_email": { + "name": "normalized_email", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "email_verified": { + "name": "email_verified", + "type": "boolean", + "primaryKey": false, + "notNull": true + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "stripe_customer_id": { + "name": "stripe_customer_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'user'" + }, + "banned": { + "name": "banned", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ban_reason": { + "name": "ban_reason", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "ban_expires": { + "name": "ban_expires", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "user_email_unique": { + "name": "user_email_unique", + "nullsNotDistinct": false, + "columns": ["email"] + }, + "user_normalized_email_unique": { + "name": "user_normalized_email_unique", + "nullsNotDistinct": false, + "columns": ["normalized_email"] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.user_stats": { + "name": "user_stats", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "total_manual_executions": { + "name": "total_manual_executions", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "total_api_calls": { + "name": "total_api_calls", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "total_webhook_triggers": { + "name": "total_webhook_triggers", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "total_scheduled_executions": { + "name": "total_scheduled_executions", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "total_chat_executions": { + "name": "total_chat_executions", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "total_mcp_executions": { + "name": "total_mcp_executions", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "total_tokens_used": { + "name": "total_tokens_used", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "total_cost": { + "name": "total_cost", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": "'0'" + }, + "current_usage_limit": { + "name": "current_usage_limit", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": "'5'" + }, + "usage_limit_updated_at": { + "name": "usage_limit_updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false, + "default": "now()" + }, + "current_period_cost": { + "name": "current_period_cost", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": "'0'" + }, + "last_period_cost": { + "name": "last_period_cost", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": "'0'" + }, + "billed_overage_this_period": { + "name": "billed_overage_this_period", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": "'0'" + }, + "pro_period_cost_snapshot": { + "name": "pro_period_cost_snapshot", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": "'0'" + }, + "pro_period_cost_snapshot_at": { + "name": "pro_period_cost_snapshot_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "credit_balance": { + "name": "credit_balance", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": "'0'" + }, + "total_copilot_cost": { + "name": "total_copilot_cost", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": "'0'" + }, + "current_period_copilot_cost": { + "name": "current_period_copilot_cost", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": "'0'" + }, + "last_period_copilot_cost": { + "name": "last_period_copilot_cost", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": "'0'" + }, + "total_copilot_tokens": { + "name": "total_copilot_tokens", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "total_copilot_calls": { + "name": "total_copilot_calls", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "total_mcp_copilot_calls": { + "name": "total_mcp_copilot_calls", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "total_mcp_copilot_cost": { + "name": "total_mcp_copilot_cost", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": "'0'" + }, + "current_period_mcp_copilot_cost": { + "name": "current_period_mcp_copilot_cost", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": "'0'" + }, + "storage_used_bytes": { + "name": "storage_used_bytes", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "last_active": { + "name": "last_active", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "billing_blocked": { + "name": "billing_blocked", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "billing_blocked_reason": { + "name": "billing_blocked_reason", + "type": "billing_blocked_reason", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "limit_notifications": { + "name": "limit_notifications", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'::jsonb" + } + }, + "indexes": {}, + "foreignKeys": { + "user_stats_user_id_user_id_fk": { + "name": "user_stats_user_id_user_id_fk", + "tableFrom": "user_stats", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "user_stats_user_id_unique": { + "name": "user_stats_user_id_unique", + "nullsNotDistinct": false, + "columns": ["user_id"] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.user_table_definitions": { + "name": "user_table_definitions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "schema": { + "name": "schema", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "metadata": { + "name": "metadata", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "max_rows": { + "name": "max_rows", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 10000 + }, + "row_count": { + "name": "row_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "rows_version": { + "name": "rows_version", + "type": "bigint", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "archived_at": { + "name": "archived_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "user_table_def_workspace_id_idx": { + "name": "user_table_def_workspace_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "user_table_def_workspace_name_unique": { + "name": "user_table_def_workspace_name_unique", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "\"user_table_definitions\".\"archived_at\" IS NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "user_table_def_archived_at_idx": { + "name": "user_table_def_archived_at_idx", + "columns": [ + { + "expression": "archived_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "user_table_def_workspace_archived_partial_idx": { + "name": "user_table_def_workspace_archived_partial_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "archived_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"user_table_definitions\".\"archived_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "user_table_definitions_workspace_id_workspace_id_fk": { + "name": "user_table_definitions_workspace_id_workspace_id_fk", + "tableFrom": "user_table_definitions", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "user_table_definitions_created_by_user_id_fk": { + "name": "user_table_definitions_created_by_user_id_fk", + "tableFrom": "user_table_definitions", + "tableTo": "user", + "columnsFrom": ["created_by"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.user_table_rows": { + "name": "user_table_rows", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "table_id": { + "name": "table_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "data": { + "name": "data", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "position": { + "name": "position", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "order_key": { + "name": "order_key", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "user_table_rows_tenant_data_gin_idx": { + "name": "user_table_rows_tenant_data_gin_idx", + "columns": [ + { + "expression": "table_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "\"data\" jsonb_path_ops", + "asc": true, + "isExpression": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "gin", + "with": {} + }, + "user_table_rows_workspace_table_idx": { + "name": "user_table_rows_workspace_table_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "table_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "user_table_rows_table_position_idx": { + "name": "user_table_rows_table_position_idx", + "columns": [ + { + "expression": "table_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "position", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "user_table_rows_table_order_key_idx": { + "name": "user_table_rows_table_order_key_idx", + "columns": [ + { + "expression": "table_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "order_key", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "user_table_rows_table_id_id_idx": { + "name": "user_table_rows_table_id_id_idx", + "columns": [ + { + "expression": "table_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "user_table_rows_table_id_user_table_definitions_id_fk": { + "name": "user_table_rows_table_id_user_table_definitions_id_fk", + "tableFrom": "user_table_rows", + "tableTo": "user_table_definitions", + "columnsFrom": ["table_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "user_table_rows_workspace_id_workspace_id_fk": { + "name": "user_table_rows_workspace_id_workspace_id_fk", + "tableFrom": "user_table_rows", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "user_table_rows_created_by_user_id_fk": { + "name": "user_table_rows_created_by_user_id_fk", + "tableFrom": "user_table_rows", + "tableTo": "user", + "columnsFrom": ["created_by"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.verification": { + "name": "verification", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "identifier": { + "name": "identifier", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "verification_identifier_idx": { + "name": "verification_identifier_idx", + "columns": [ + { + "expression": "identifier", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "verification_expires_at_idx": { + "name": "verification_expires_at_idx", + "columns": [ + { + "expression": "expires_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.waitlist": { + "name": "waitlist", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "waitlist_email_unique": { + "name": "waitlist_email_unique", + "nullsNotDistinct": false, + "columns": ["email"] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.webhook": { + "name": "webhook", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "deployment_version_id": { + "name": "deployment_version_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "block_id": { + "name": "block_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "path": { + "name": "path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "provider": { + "name": "provider", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "provider_config": { + "name": "provider_config", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "failed_count": { + "name": "failed_count", + "type": "integer", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "last_failed_at": { + "name": "last_failed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "archived_at": { + "name": "archived_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "path_deployment_unique": { + "name": "path_deployment_unique", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "deployment_version_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "\"webhook\".\"archived_at\" IS NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "webhook_workflow_deployment_idx": { + "name": "webhook_workflow_deployment_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "deployment_version_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "webhook_archived_at_partial_idx": { + "name": "webhook_archived_at_partial_idx", + "columns": [ + { + "expression": "archived_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"webhook\".\"archived_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "idx_webhook_on_provider_is_active_workflow_id_deploym_bdeed5468": { + "name": "idx_webhook_on_provider_is_active_workflow_id_deploym_bdeed5468", + "columns": [ + { + "expression": "provider", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "is_active", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "deployment_version_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "idx_webhook_on_workflow_id_block_id_updated_at_desc": { + "name": "idx_webhook_on_workflow_id_block_id_updated_at_desc", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "block_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "updated_at", + "isExpression": false, + "asc": false, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "webhook_workflow_id_workflow_id_fk": { + "name": "webhook_workflow_id_workflow_id_fk", + "tableFrom": "webhook", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "webhook_deployment_version_id_workflow_deployment_version_id_fk": { + "name": "webhook_deployment_version_id_workflow_deployment_version_id_fk", + "tableFrom": "webhook", + "tableTo": "workflow_deployment_version", + "columnsFrom": ["deployment_version_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workflow": { + "name": "workflow", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "folder_id": { + "name": "folder_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sort_order": { + "name": "sort_order", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "last_synced": { + "name": "last_synced", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "is_deployed": { + "name": "is_deployed", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "deployed_at": { + "name": "deployed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "is_public_api": { + "name": "is_public_api", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "locked": { + "name": "locked", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "run_count": { + "name": "run_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "last_run_at": { + "name": "last_run_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "variables": { + "name": "variables", + "type": "json", + "primaryKey": false, + "notNull": false, + "default": "'{}'" + }, + "archived_at": { + "name": "archived_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "workflow_user_id_idx": { + "name": "workflow_user_id_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_workspace_id_idx": { + "name": "workflow_workspace_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_user_workspace_idx": { + "name": "workflow_user_workspace_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_workspace_folder_name_active_unique": { + "name": "workflow_workspace_folder_name_active_unique", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "coalesce(\"folder_id\", '')", + "asc": true, + "isExpression": true, + "nulls": "last" + }, + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "\"workflow\".\"archived_at\" IS NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_folder_sort_idx": { + "name": "workflow_folder_sort_idx", + "columns": [ + { + "expression": "folder_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "sort_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_archived_at_idx": { + "name": "workflow_archived_at_idx", + "columns": [ + { + "expression": "archived_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_workspace_archived_partial_idx": { + "name": "workflow_workspace_archived_partial_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "archived_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"workflow\".\"archived_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workflow_user_id_user_id_fk": { + "name": "workflow_user_id_user_id_fk", + "tableFrom": "workflow", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workflow_workspace_id_workspace_id_fk": { + "name": "workflow_workspace_id_workspace_id_fk", + "tableFrom": "workflow", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workflow_folder_id_workflow_folder_id_fk": { + "name": "workflow_folder_id_workflow_folder_id_fk", + "tableFrom": "workflow", + "tableTo": "workflow_folder", + "columnsFrom": ["folder_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workflow_blocks": { + "name": "workflow_blocks", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "position_x": { + "name": "position_x", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "position_y": { + "name": "position_y", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "horizontal_handles": { + "name": "horizontal_handles", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "is_wide": { + "name": "is_wide", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "advanced_mode": { + "name": "advanced_mode", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "trigger_mode": { + "name": "trigger_mode", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "locked": { + "name": "locked", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": "'0'" + }, + "sub_blocks": { + "name": "sub_blocks", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "outputs": { + "name": "outputs", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "data": { + "name": "data", + "type": "jsonb", + "primaryKey": false, + "notNull": false, + "default": "'{}'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workflow_blocks_workflow_id_idx": { + "name": "workflow_blocks_workflow_id_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_blocks_type_idx": { + "name": "workflow_blocks_type_idx", + "columns": [ + { + "expression": "type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workflow_blocks_workflow_id_workflow_id_fk": { + "name": "workflow_blocks_workflow_id_workflow_id_fk", + "tableFrom": "workflow_blocks", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workflow_checkpoints": { + "name": "workflow_checkpoints", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "uuid", + "primaryKey": true, + "notNull": true, + "default": "gen_random_uuid()" + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "chat_id": { + "name": "chat_id", + "type": "uuid", + "primaryKey": false, + "notNull": true + }, + "message_id": { + "name": "message_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "workflow_state": { + "name": "workflow_state", + "type": "json", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workflow_checkpoints_user_id_idx": { + "name": "workflow_checkpoints_user_id_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_checkpoints_workflow_id_idx": { + "name": "workflow_checkpoints_workflow_id_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_checkpoints_chat_id_idx": { + "name": "workflow_checkpoints_chat_id_idx", + "columns": [ + { + "expression": "chat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_checkpoints_message_id_idx": { + "name": "workflow_checkpoints_message_id_idx", + "columns": [ + { + "expression": "message_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_checkpoints_user_workflow_idx": { + "name": "workflow_checkpoints_user_workflow_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_checkpoints_workflow_chat_idx": { + "name": "workflow_checkpoints_workflow_chat_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "chat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_checkpoints_created_at_idx": { + "name": "workflow_checkpoints_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_checkpoints_chat_created_at_idx": { + "name": "workflow_checkpoints_chat_created_at_idx", + "columns": [ + { + "expression": "chat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workflow_checkpoints_user_id_user_id_fk": { + "name": "workflow_checkpoints_user_id_user_id_fk", + "tableFrom": "workflow_checkpoints", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workflow_checkpoints_workflow_id_workflow_id_fk": { + "name": "workflow_checkpoints_workflow_id_workflow_id_fk", + "tableFrom": "workflow_checkpoints", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workflow_checkpoints_chat_id_copilot_chats_id_fk": { + "name": "workflow_checkpoints_chat_id_copilot_chats_id_fk", + "tableFrom": "workflow_checkpoints", + "tableTo": "copilot_chats", + "columnsFrom": ["chat_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workflow_deployment_version": { + "name": "workflow_deployment_version", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "version": { + "name": "version", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "state": { + "name": "state", + "type": "json", + "primaryKey": false, + "notNull": true + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "workflow_deployment_version_workflow_version_unique": { + "name": "workflow_deployment_version_workflow_version_unique", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "version", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_deployment_version_workflow_active_idx": { + "name": "workflow_deployment_version_workflow_active_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "is_active", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_deployment_version_created_at_idx": { + "name": "workflow_deployment_version_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workflow_deployment_version_workflow_id_workflow_id_fk": { + "name": "workflow_deployment_version_workflow_id_workflow_id_fk", + "tableFrom": "workflow_deployment_version", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workflow_edges": { + "name": "workflow_edges", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "source_block_id": { + "name": "source_block_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "target_block_id": { + "name": "target_block_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "source_handle": { + "name": "source_handle", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "target_handle": { + "name": "target_handle", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workflow_edges_workflow_id_idx": { + "name": "workflow_edges_workflow_id_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_edges_workflow_source_idx": { + "name": "workflow_edges_workflow_source_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "source_block_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_edges_workflow_target_idx": { + "name": "workflow_edges_workflow_target_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "target_block_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workflow_edges_workflow_id_workflow_id_fk": { + "name": "workflow_edges_workflow_id_workflow_id_fk", + "tableFrom": "workflow_edges", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workflow_edges_source_block_id_workflow_blocks_id_fk": { + "name": "workflow_edges_source_block_id_workflow_blocks_id_fk", + "tableFrom": "workflow_edges", + "tableTo": "workflow_blocks", + "columnsFrom": ["source_block_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workflow_edges_target_block_id_workflow_blocks_id_fk": { + "name": "workflow_edges_target_block_id_workflow_blocks_id_fk", + "tableFrom": "workflow_edges", + "tableTo": "workflow_blocks", + "columnsFrom": ["target_block_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workflow_execution_logs": { + "name": "workflow_execution_logs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "execution_id": { + "name": "execution_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "state_snapshot_id": { + "name": "state_snapshot_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "deployment_version_id": { + "name": "deployment_version_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "level": { + "name": "level", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'running'" + }, + "trigger": { + "name": "trigger", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "started_at": { + "name": "started_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true + }, + "ended_at": { + "name": "ended_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "total_duration_ms": { + "name": "total_duration_ms", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "execution_data": { + "name": "execution_data", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "cost": { + "name": "cost", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "cost_total": { + "name": "cost_total", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "models_used": { + "name": "models_used", + "type": "text[]", + "primaryKey": false, + "notNull": false + }, + "files": { + "name": "files", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workflow_execution_logs_workflow_id_idx": { + "name": "workflow_execution_logs_workflow_id_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_execution_logs_state_snapshot_id_idx": { + "name": "workflow_execution_logs_state_snapshot_id_idx", + "columns": [ + { + "expression": "state_snapshot_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_execution_logs_deployment_version_id_idx": { + "name": "workflow_execution_logs_deployment_version_id_idx", + "columns": [ + { + "expression": "deployment_version_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_execution_logs_trigger_idx": { + "name": "workflow_execution_logs_trigger_idx", + "columns": [ + { + "expression": "trigger", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_execution_logs_level_idx": { + "name": "workflow_execution_logs_level_idx", + "columns": [ + { + "expression": "level", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_execution_logs_started_at_idx": { + "name": "workflow_execution_logs_started_at_idx", + "columns": [ + { + "expression": "started_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_execution_logs_execution_id_unique": { + "name": "workflow_execution_logs_execution_id_unique", + "columns": [ + { + "expression": "execution_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_execution_logs_workflow_started_at_idx": { + "name": "workflow_execution_logs_workflow_started_at_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "started_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_execution_logs_workspace_started_at_idx": { + "name": "workflow_execution_logs_workspace_started_at_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "started_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_execution_logs_workspace_started_at_id_desc_idx": { + "name": "workflow_execution_logs_workspace_started_at_id_desc_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "\"started_at\" DESC NULLS LAST", + "asc": true, + "isExpression": true, + "nulls": "last" + }, + { + "expression": "\"id\" DESC", + "asc": true, + "isExpression": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_execution_logs_workspace_cost_total_idx": { + "name": "workflow_execution_logs_workspace_cost_total_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "cost_total", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_execution_logs_models_used_idx": { + "name": "workflow_execution_logs_models_used_idx", + "columns": [ + { + "expression": "models_used", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "gin", + "with": {} + }, + "workflow_execution_logs_workspace_ended_at_id_idx": { + "name": "workflow_execution_logs_workspace_ended_at_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "date_trunc('milliseconds', \"ended_at\")", + "asc": true, + "isExpression": true, + "nulls": "last" + }, + { + "expression": "id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_execution_logs_running_started_at_idx": { + "name": "workflow_execution_logs_running_started_at_idx", + "columns": [ + { + "expression": "started_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "status = 'running'", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workflow_execution_logs_workflow_id_workflow_id_fk": { + "name": "workflow_execution_logs_workflow_id_workflow_id_fk", + "tableFrom": "workflow_execution_logs", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "workflow_execution_logs_workspace_id_workspace_id_fk": { + "name": "workflow_execution_logs_workspace_id_workspace_id_fk", + "tableFrom": "workflow_execution_logs", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workflow_execution_logs_state_snapshot_id_workflow_execution_snapshots_id_fk": { + "name": "workflow_execution_logs_state_snapshot_id_workflow_execution_snapshots_id_fk", + "tableFrom": "workflow_execution_logs", + "tableTo": "workflow_execution_snapshots", + "columnsFrom": ["state_snapshot_id"], + "columnsTo": ["id"], + "onDelete": "no action", + "onUpdate": "no action" + }, + "workflow_execution_logs_deployment_version_id_workflow_deployment_version_id_fk": { + "name": "workflow_execution_logs_deployment_version_id_workflow_deployment_version_id_fk", + "tableFrom": "workflow_execution_logs", + "tableTo": "workflow_deployment_version", + "columnsFrom": ["deployment_version_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workflow_execution_snapshots": { + "name": "workflow_execution_snapshots", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "state_hash": { + "name": "state_hash", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "state_data": { + "name": "state_data", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workflow_snapshots_workflow_id_idx": { + "name": "workflow_snapshots_workflow_id_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_snapshots_hash_idx": { + "name": "workflow_snapshots_hash_idx", + "columns": [ + { + "expression": "state_hash", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_snapshots_workflow_hash_idx": { + "name": "workflow_snapshots_workflow_hash_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "state_hash", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_snapshots_created_at_idx": { + "name": "workflow_snapshots_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workflow_execution_snapshots_workflow_id_workflow_id_fk": { + "name": "workflow_execution_snapshots_workflow_id_workflow_id_fk", + "tableFrom": "workflow_execution_snapshots", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workflow_folder": { + "name": "workflow_folder", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "color": { + "name": "color", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "'#6B7280'" + }, + "is_expanded": { + "name": "is_expanded", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "locked": { + "name": "locked", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "sort_order": { + "name": "sort_order", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "archived_at": { + "name": "archived_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "workflow_folder_user_idx": { + "name": "workflow_folder_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_folder_workspace_parent_idx": { + "name": "workflow_folder_workspace_parent_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_folder_parent_sort_idx": { + "name": "workflow_folder_parent_sort_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "sort_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_folder_archived_at_idx": { + "name": "workflow_folder_archived_at_idx", + "columns": [ + { + "expression": "archived_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_folder_workspace_archived_partial_idx": { + "name": "workflow_folder_workspace_archived_partial_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "archived_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"workflow_folder\".\"archived_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workflow_folder_user_id_user_id_fk": { + "name": "workflow_folder_user_id_user_id_fk", + "tableFrom": "workflow_folder", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workflow_folder_workspace_id_workspace_id_fk": { + "name": "workflow_folder_workspace_id_workspace_id_fk", + "tableFrom": "workflow_folder", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workflow_mcp_server": { + "name": "workflow_mcp_server", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "is_public": { + "name": "is_public", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workflow_mcp_server_workspace_id_idx": { + "name": "workflow_mcp_server_workspace_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_mcp_server_created_by_idx": { + "name": "workflow_mcp_server_created_by_idx", + "columns": [ + { + "expression": "created_by", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_mcp_server_deleted_at_idx": { + "name": "workflow_mcp_server_deleted_at_idx", + "columns": [ + { + "expression": "deleted_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_mcp_server_workspace_deleted_partial_idx": { + "name": "workflow_mcp_server_workspace_deleted_partial_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "deleted_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"workflow_mcp_server\".\"deleted_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workflow_mcp_server_workspace_id_workspace_id_fk": { + "name": "workflow_mcp_server_workspace_id_workspace_id_fk", + "tableFrom": "workflow_mcp_server", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workflow_mcp_server_created_by_user_id_fk": { + "name": "workflow_mcp_server_created_by_user_id_fk", + "tableFrom": "workflow_mcp_server", + "tableTo": "user", + "columnsFrom": ["created_by"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workflow_mcp_tool": { + "name": "workflow_mcp_tool", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "server_id": { + "name": "server_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "tool_name": { + "name": "tool_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "tool_description": { + "name": "tool_description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "parameter_schema": { + "name": "parameter_schema", + "type": "json", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "parameter_description_overrides": { + "name": "parameter_description_overrides", + "type": "json", + "primaryKey": false, + "notNull": true, + "default": "'{}'::json" + }, + "archived_at": { + "name": "archived_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workflow_mcp_tool_server_id_idx": { + "name": "workflow_mcp_tool_server_id_idx", + "columns": [ + { + "expression": "server_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_mcp_tool_workflow_id_idx": { + "name": "workflow_mcp_tool_workflow_id_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_mcp_tool_server_workflow_unique": { + "name": "workflow_mcp_tool_server_workflow_unique", + "columns": [ + { + "expression": "server_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "\"workflow_mcp_tool\".\"archived_at\" IS NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_mcp_tool_archived_at_partial_idx": { + "name": "workflow_mcp_tool_archived_at_partial_idx", + "columns": [ + { + "expression": "archived_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"workflow_mcp_tool\".\"archived_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workflow_mcp_tool_server_id_workflow_mcp_server_id_fk": { + "name": "workflow_mcp_tool_server_id_workflow_mcp_server_id_fk", + "tableFrom": "workflow_mcp_tool", + "tableTo": "workflow_mcp_server", + "columnsFrom": ["server_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workflow_mcp_tool_workflow_id_workflow_id_fk": { + "name": "workflow_mcp_tool_workflow_id_workflow_id_fk", + "tableFrom": "workflow_mcp_tool", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workflow_schedule": { + "name": "workflow_schedule", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "deployment_version_id": { + "name": "deployment_version_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "block_id": { + "name": "block_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "cron_expression": { + "name": "cron_expression", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "next_run_at": { + "name": "next_run_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "last_ran_at": { + "name": "last_ran_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "last_queued_at": { + "name": "last_queued_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "trigger_type": { + "name": "trigger_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "timezone": { + "name": "timezone", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'UTC'" + }, + "failed_count": { + "name": "failed_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "infra_retry_count": { + "name": "infra_retry_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'active'" + }, + "last_failed_at": { + "name": "last_failed_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "source_type": { + "name": "source_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'workflow'" + }, + "job_title": { + "name": "job_title", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "prompt": { + "name": "prompt", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "lifecycle": { + "name": "lifecycle", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'persistent'" + }, + "success_condition": { + "name": "success_condition", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "max_runs": { + "name": "max_runs", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "run_count": { + "name": "run_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "source_chat_id": { + "name": "source_chat_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "source_task_name": { + "name": "source_task_name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "source_user_id": { + "name": "source_user_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "source_workspace_id": { + "name": "source_workspace_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "job_history": { + "name": "job_history", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "contexts": { + "name": "contexts", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "excluded_dates": { + "name": "excluded_dates", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "ends_at": { + "name": "ends_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "archived_at": { + "name": "archived_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workflow_schedule_workflow_block_deployment_unique": { + "name": "workflow_schedule_workflow_block_deployment_unique", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "block_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "deployment_version_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "\"workflow_schedule\".\"archived_at\" IS NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_schedule_workflow_deployment_idx": { + "name": "workflow_schedule_workflow_deployment_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "deployment_version_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_schedule_archived_at_partial_idx": { + "name": "workflow_schedule_archived_at_partial_idx", + "columns": [ + { + "expression": "archived_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"workflow_schedule\".\"archived_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "idx_workflow_schedule_on_source_workspace_id_source_t_c07f3bba6": { + "name": "idx_workflow_schedule_on_source_workspace_id_source_t_c07f3bba6", + "columns": [ + { + "expression": "source_workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "source_type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "archived_at", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_schedule_due_workflow_idx": { + "name": "workflow_schedule_due_workflow_idx", + "columns": [ + { + "expression": "next_run_at", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "last_queued_at", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "deployment_version_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"workflow_schedule\".\"archived_at\" IS NULL AND \"workflow_schedule\".\"status\" NOT IN ('disabled', 'completed') AND (\"workflow_schedule\".\"source_type\" = 'workflow' OR \"workflow_schedule\".\"source_type\" IS NULL)", + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_schedule_due_job_idx": { + "name": "workflow_schedule_due_job_idx", + "columns": [ + { + "expression": "next_run_at", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "last_queued_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"workflow_schedule\".\"archived_at\" IS NULL AND \"workflow_schedule\".\"status\" NOT IN ('disabled', 'completed') AND \"workflow_schedule\".\"source_type\" = 'job'", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workflow_schedule_workflow_id_workflow_id_fk": { + "name": "workflow_schedule_workflow_id_workflow_id_fk", + "tableFrom": "workflow_schedule", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workflow_schedule_deployment_version_id_workflow_deployment_version_id_fk": { + "name": "workflow_schedule_deployment_version_id_workflow_deployment_version_id_fk", + "tableFrom": "workflow_schedule", + "tableTo": "workflow_deployment_version", + "columnsFrom": ["deployment_version_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workflow_schedule_source_user_id_user_id_fk": { + "name": "workflow_schedule_source_user_id_user_id_fk", + "tableFrom": "workflow_schedule", + "tableTo": "user", + "columnsFrom": ["source_user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workflow_schedule_source_workspace_id_workspace_id_fk": { + "name": "workflow_schedule_source_workspace_id_workspace_id_fk", + "tableFrom": "workflow_schedule", + "tableTo": "workspace", + "columnsFrom": ["source_workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workflow_subflows": { + "name": "workflow_subflows", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "config": { + "name": "config", + "type": "jsonb", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workflow_subflows_workflow_id_idx": { + "name": "workflow_subflows_workflow_id_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workflow_subflows_workflow_type_idx": { + "name": "workflow_subflows_workflow_type_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workflow_subflows_workflow_id_workflow_id_fk": { + "name": "workflow_subflows_workflow_id_workflow_id_fk", + "tableFrom": "workflow_subflows", + "tableTo": "workflow", + "columnsFrom": ["workflow_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workspace": { + "name": "workspace", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "color": { + "name": "color", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'#33C482'" + }, + "logo_url": { + "name": "logo_url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "owner_id": { + "name": "owner_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "workspace_mode": { + "name": "workspace_mode", + "type": "workspace_mode", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'grandfathered_shared'" + }, + "billed_account_user_id": { + "name": "billed_account_user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "allow_personal_api_keys": { + "name": "allow_personal_api_keys", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "inbox_enabled": { + "name": "inbox_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "inbox_address": { + "name": "inbox_address", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "inbox_provider_id": { + "name": "inbox_provider_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "archived_at": { + "name": "archived_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "forked_from_workspace_id": { + "name": "forked_from_workspace_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workspace_owner_id_idx": { + "name": "workspace_owner_id_idx", + "columns": [ + { + "expression": "owner_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_organization_id_idx": { + "name": "workspace_organization_id_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_mode_idx": { + "name": "workspace_mode_idx", + "columns": [ + { + "expression": "workspace_mode", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_forked_from_workspace_id_idx": { + "name": "workspace_forked_from_workspace_id_idx", + "columns": [ + { + "expression": "forked_from_workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workspace_owner_id_user_id_fk": { + "name": "workspace_owner_id_user_id_fk", + "tableFrom": "workspace", + "tableTo": "user", + "columnsFrom": ["owner_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workspace_organization_id_organization_id_fk": { + "name": "workspace_organization_id_organization_id_fk", + "tableFrom": "workspace", + "tableTo": "organization", + "columnsFrom": ["organization_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "workspace_billed_account_user_id_user_id_fk": { + "name": "workspace_billed_account_user_id_user_id_fk", + "tableFrom": "workspace", + "tableTo": "user", + "columnsFrom": ["billed_account_user_id"], + "columnsTo": ["id"], + "onDelete": "no action", + "onUpdate": "no action" + }, + "workspace_forked_from_workspace_id_workspace_id_fk": { + "name": "workspace_forked_from_workspace_id_workspace_id_fk", + "tableFrom": "workspace", + "tableTo": "workspace", + "columnsFrom": ["forked_from_workspace_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workspace_byok_keys": { + "name": "workspace_byok_keys", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "provider_id": { + "name": "provider_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "encrypted_api_key": { + "name": "encrypted_api_key", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workspace_byok_workspace_provider_idx": { + "name": "workspace_byok_workspace_provider_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "provider_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workspace_byok_keys_workspace_id_workspace_id_fk": { + "name": "workspace_byok_keys_workspace_id_workspace_id_fk", + "tableFrom": "workspace_byok_keys", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workspace_byok_keys_created_by_user_id_fk": { + "name": "workspace_byok_keys_created_by_user_id_fk", + "tableFrom": "workspace_byok_keys", + "tableTo": "user", + "columnsFrom": ["created_by"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workspace_environment": { + "name": "workspace_environment", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "variables": { + "name": "variables", + "type": "json", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workspace_environment_workspace_unique": { + "name": "workspace_environment_workspace_unique", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workspace_environment_workspace_id_workspace_id_fk": { + "name": "workspace_environment_workspace_id_workspace_id_fk", + "tableFrom": "workspace_environment", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workspace_file": { + "name": "workspace_file", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "key": { + "name": "key", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "size": { + "name": "size", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "uploaded_by": { + "name": "uploaded_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "uploaded_at": { + "name": "uploaded_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workspace_file_workspace_id_idx": { + "name": "workspace_file_workspace_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_file_key_idx": { + "name": "workspace_file_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_file_deleted_at_idx": { + "name": "workspace_file_deleted_at_idx", + "columns": [ + { + "expression": "deleted_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_file_workspace_deleted_partial_idx": { + "name": "workspace_file_workspace_deleted_partial_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "deleted_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"workspace_file\".\"deleted_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workspace_file_workspace_id_workspace_id_fk": { + "name": "workspace_file_workspace_id_workspace_id_fk", + "tableFrom": "workspace_file", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workspace_file_uploaded_by_user_id_fk": { + "name": "workspace_file_uploaded_by_user_id_fk", + "tableFrom": "workspace_file", + "tableTo": "user", + "columnsFrom": ["uploaded_by"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "workspace_file_key_unique": { + "name": "workspace_file_key_unique", + "nullsNotDistinct": false, + "columns": ["key"] + } + }, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workspace_file_folders": { + "name": "workspace_file_folders", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sort_order": { + "name": "sort_order", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workspace_file_folders_workspace_parent_idx": { + "name": "workspace_file_folders_workspace_parent_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_file_folders_parent_sort_idx": { + "name": "workspace_file_folders_parent_sort_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "sort_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_file_folders_deleted_at_idx": { + "name": "workspace_file_folders_deleted_at_idx", + "columns": [ + { + "expression": "deleted_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_file_folders_workspace_deleted_partial_idx": { + "name": "workspace_file_folders_workspace_deleted_partial_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "deleted_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"workspace_file_folders\".\"deleted_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_file_folders_workspace_parent_name_active_unique": { + "name": "workspace_file_folders_workspace_parent_name_active_unique", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "coalesce(\"parent_id\", '')", + "asc": true, + "isExpression": true, + "nulls": "last" + }, + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "\"workspace_file_folders\".\"deleted_at\" IS NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workspace_file_folders_user_id_user_id_fk": { + "name": "workspace_file_folders_user_id_user_id_fk", + "tableFrom": "workspace_file_folders", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workspace_file_folders_workspace_id_workspace_id_fk": { + "name": "workspace_file_folders_workspace_id_workspace_id_fk", + "tableFrom": "workspace_file_folders", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workspace_file_folders_parent_id_workspace_file_folders_id_fk": { + "name": "workspace_file_folders_parent_id_workspace_file_folders_id_fk", + "tableFrom": "workspace_file_folders", + "tableTo": "workspace_file_folders", + "columnsFrom": ["parent_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workspace_files": { + "name": "workspace_files", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "key": { + "name": "key", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workspace_id": { + "name": "workspace_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "folder_id": { + "name": "folder_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "context": { + "name": "context", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "chat_id": { + "name": "chat_id", + "type": "uuid", + "primaryKey": false, + "notNull": false + }, + "original_name": { + "name": "original_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "display_name": { + "name": "display_name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "content_type": { + "name": "content_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "size": { + "name": "size", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "uploaded_at": { + "name": "uploaded_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workspace_files_key_active_unique": { + "name": "workspace_files_key_active_unique", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "\"workspace_files\".\"deleted_at\" IS NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_files_workspace_folder_name_active_unique": { + "name": "workspace_files_workspace_folder_name_active_unique", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "coalesce(\"folder_id\", '')", + "asc": true, + "isExpression": true, + "nulls": "last" + }, + { + "expression": "original_name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "\"workspace_files\".\"deleted_at\" IS NULL AND \"workspace_files\".\"context\" = 'workspace' AND \"workspace_files\".\"workspace_id\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_files_chat_display_name_unique": { + "name": "workspace_files_chat_display_name_unique", + "columns": [ + { + "expression": "chat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "display_name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "where": "\"workspace_files\".\"context\" = 'mothership' AND \"workspace_files\".\"chat_id\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_files_key_idx": { + "name": "workspace_files_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_files_user_id_idx": { + "name": "workspace_files_user_id_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_files_workspace_id_idx": { + "name": "workspace_files_workspace_id_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_files_folder_id_idx": { + "name": "workspace_files_folder_id_idx", + "columns": [ + { + "expression": "folder_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_files_context_idx": { + "name": "workspace_files_context_idx", + "columns": [ + { + "expression": "context", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_files_chat_id_idx": { + "name": "workspace_files_chat_id_idx", + "columns": [ + { + "expression": "chat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_files_deleted_at_idx": { + "name": "workspace_files_deleted_at_idx", + "columns": [ + { + "expression": "deleted_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_files_workspace_deleted_partial_idx": { + "name": "workspace_files_workspace_deleted_partial_idx", + "columns": [ + { + "expression": "workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "deleted_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "where": "\"workspace_files\".\"deleted_at\" IS NOT NULL", + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workspace_files_user_id_user_id_fk": { + "name": "workspace_files_user_id_user_id_fk", + "tableFrom": "workspace_files", + "tableTo": "user", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workspace_files_workspace_id_workspace_id_fk": { + "name": "workspace_files_workspace_id_workspace_id_fk", + "tableFrom": "workspace_files", + "tableTo": "workspace", + "columnsFrom": ["workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workspace_files_folder_id_workspace_file_folders_id_fk": { + "name": "workspace_files_folder_id_workspace_file_folders_id_fk", + "tableFrom": "workspace_files", + "tableTo": "workspace_file_folders", + "columnsFrom": ["folder_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "workspace_files_chat_id_copilot_chats_id_fk": { + "name": "workspace_files_chat_id_copilot_chats_id_fk", + "tableFrom": "workspace_files", + "tableTo": "copilot_chats", + "columnsFrom": ["chat_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workspace_fork_block_map": { + "name": "workspace_fork_block_map", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "child_workspace_id": { + "name": "child_workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "parent_workflow_id": { + "name": "parent_workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "parent_block_id": { + "name": "parent_block_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "child_workflow_id": { + "name": "child_workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "child_block_id": { + "name": "child_block_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workspace_fork_block_map_child_ws_parent_unique": { + "name": "workspace_fork_block_map_child_ws_parent_unique", + "columns": [ + { + "expression": "child_workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "parent_block_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_fork_block_map_child_ws_child_unique": { + "name": "workspace_fork_block_map_child_ws_child_unique", + "columns": [ + { + "expression": "child_workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "child_block_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_fork_block_map_child_ws_parent_wf_idx": { + "name": "workspace_fork_block_map_child_ws_parent_wf_idx", + "columns": [ + { + "expression": "child_workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "parent_workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_fork_block_map_child_ws_child_wf_idx": { + "name": "workspace_fork_block_map_child_ws_child_wf_idx", + "columns": [ + { + "expression": "child_workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "child_workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workspace_fork_block_map_child_workspace_id_workspace_id_fk": { + "name": "workspace_fork_block_map_child_workspace_id_workspace_id_fk", + "tableFrom": "workspace_fork_block_map", + "tableTo": "workspace", + "columnsFrom": ["child_workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workspace_fork_dependent_value": { + "name": "workspace_fork_dependent_value", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "child_workspace_id": { + "name": "child_workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "target_workflow_id": { + "name": "target_workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "target_block_id": { + "name": "target_block_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "sub_block_key": { + "name": "sub_block_key", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workspace_fork_dependent_value_child_ws_wf_idx": { + "name": "workspace_fork_dependent_value_child_ws_wf_idx", + "columns": [ + { + "expression": "child_workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "target_workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_fork_dependent_value_field_unique": { + "name": "workspace_fork_dependent_value_field_unique", + "columns": [ + { + "expression": "child_workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "target_workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "target_block_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "sub_block_key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workspace_fork_dependent_value_child_workspace_id_workspace_id_fk": { + "name": "workspace_fork_dependent_value_child_workspace_id_workspace_id_fk", + "tableFrom": "workspace_fork_dependent_value", + "tableTo": "workspace", + "columnsFrom": ["child_workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workspace_fork_promote_run": { + "name": "workspace_fork_promote_run", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "child_workspace_id": { + "name": "child_workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "source_workspace_id": { + "name": "source_workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "target_workspace_id": { + "name": "target_workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "direction": { + "name": "direction", + "type": "workspace_fork_promote_direction", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "snapshot": { + "name": "snapshot", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workspace_fork_promote_run_child_ws_target_unique": { + "name": "workspace_fork_promote_run_child_ws_target_unique", + "columns": [ + { + "expression": "child_workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "target_workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_fork_promote_run_target_ws_idx": { + "name": "workspace_fork_promote_run_target_ws_idx", + "columns": [ + { + "expression": "target_workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workspace_fork_promote_run_child_workspace_id_workspace_id_fk": { + "name": "workspace_fork_promote_run_child_workspace_id_workspace_id_fk", + "tableFrom": "workspace_fork_promote_run", + "tableTo": "workspace", + "columnsFrom": ["child_workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workspace_fork_promote_run_created_by_user_id_fk": { + "name": "workspace_fork_promote_run_created_by_user_id_fk", + "tableFrom": "workspace_fork_promote_run", + "tableTo": "user", + "columnsFrom": ["created_by"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.workspace_fork_resource_map": { + "name": "workspace_fork_resource_map", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "child_workspace_id": { + "name": "child_workspace_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "resource_type": { + "name": "resource_type", + "type": "workspace_fork_resource_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "parent_resource_id": { + "name": "parent_resource_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "child_resource_id": { + "name": "child_resource_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "workspace_fork_resource_map_child_ws_idx": { + "name": "workspace_fork_resource_map_child_ws_idx", + "columns": [ + { + "expression": "child_workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_fork_resource_map_child_ws_type_idx": { + "name": "workspace_fork_resource_map_child_ws_type_idx", + "columns": [ + { + "expression": "child_workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "resource_type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "workspace_fork_resource_map_child_type_parent_unique": { + "name": "workspace_fork_resource_map_child_type_parent_unique", + "columns": [ + { + "expression": "child_workspace_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "resource_type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "parent_resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "workspace_fork_resource_map_child_workspace_id_workspace_id_fk": { + "name": "workspace_fork_resource_map_child_workspace_id_workspace_id_fk", + "tableFrom": "workspace_fork_resource_map", + "tableTo": "workspace", + "columnsFrom": ["child_workspace_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "workspace_fork_resource_map_created_by_user_id_fk": { + "name": "workspace_fork_resource_map_created_by_user_id_fk", + "tableFrom": "workspace_fork_resource_map", + "tableTo": "user", + "columnsFrom": ["created_by"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": { + "public.academy_cert_status": { + "name": "academy_cert_status", + "schema": "public", + "values": ["active", "revoked", "expired"] + }, + "public.background_work_kind": { + "name": "background_work_kind", + "schema": "public", + "values": ["deployment_side_effects", "fork_content_copy", "fork_sync", "fork_rollback"] + }, + "public.background_work_status_value": { + "name": "background_work_status_value", + "schema": "public", + "values": ["pending", "processing", "completed", "completed_with_warnings", "failed"] + }, + "public.billing_blocked_reason": { + "name": "billing_blocked_reason", + "schema": "public", + "values": ["payment_failed", "dispute"] + }, + "public.billing_entity_type": { + "name": "billing_entity_type", + "schema": "public", + "values": ["user", "organization"] + }, + "public.chat_type": { + "name": "chat_type", + "schema": "public", + "values": ["mothership", "copilot"] + }, + "public.copilot_async_tool_status": { + "name": "copilot_async_tool_status", + "schema": "public", + "values": ["pending", "running", "completed", "failed", "cancelled", "delivered"] + }, + "public.copilot_run_status": { + "name": "copilot_run_status", + "schema": "public", + "values": ["active", "paused_waiting_for_tool", "resuming", "complete", "error", "cancelled"] + }, + "public.credential_member_role": { + "name": "credential_member_role", + "schema": "public", + "values": ["admin", "member"] + }, + "public.credential_member_status": { + "name": "credential_member_status", + "schema": "public", + "values": ["active", "pending", "revoked"] + }, + "public.credential_type": { + "name": "credential_type", + "schema": "public", + "values": ["oauth", "env_workspace", "env_personal", "service_account"] + }, + "public.data_drain_cadence": { + "name": "data_drain_cadence", + "schema": "public", + "values": ["hourly", "daily"] + }, + "public.data_drain_destination": { + "name": "data_drain_destination", + "schema": "public", + "values": ["s3", "gcs", "azure_blob", "datadog", "bigquery", "snowflake", "webhook"] + }, + "public.data_drain_run_status": { + "name": "data_drain_run_status", + "schema": "public", + "values": ["running", "success", "failed"] + }, + "public.data_drain_run_trigger": { + "name": "data_drain_run_trigger", + "schema": "public", + "values": ["cron", "manual"] + }, + "public.data_drain_source": { + "name": "data_drain_source", + "schema": "public", + "values": ["workflow_logs", "job_logs", "audit_logs", "copilot_chats", "copilot_runs"] + }, + "public.execution_large_value_reference_source": { + "name": "execution_large_value_reference_source", + "schema": "public", + "values": ["execution_log", "paused_snapshot"] + }, + "public.invitation_kind": { + "name": "invitation_kind", + "schema": "public", + "values": ["organization", "workspace"] + }, + "public.invitation_membership_intent": { + "name": "invitation_membership_intent", + "schema": "public", + "values": ["internal", "external"] + }, + "public.invitation_status": { + "name": "invitation_status", + "schema": "public", + "values": ["pending", "accepted", "rejected", "cancelled", "expired"] + }, + "public.permission_type": { + "name": "permission_type", + "schema": "public", + "values": ["admin", "write", "read"] + }, + "public.usage_log_category": { + "name": "usage_log_category", + "schema": "public", + "values": ["model", "fixed", "tool"] + }, + "public.usage_log_source": { + "name": "usage_log_source", + "schema": "public", + "values": [ + "workflow", + "wand", + "copilot", + "workspace-chat", + "mcp_copilot", + "mothership_block", + "knowledge-base", + "voice-input", + "enrichment" + ] + }, + "public.workspace_fork_promote_direction": { + "name": "workspace_fork_promote_direction", + "schema": "public", + "values": ["push", "pull"] + }, + "public.workspace_fork_resource_type": { + "name": "workspace_fork_resource_type", + "schema": "public", + "values": [ + "workflow", + "oauth_credential", + "service_account_credential", + "env_var", + "table", + "knowledge_base", + "knowledge_document", + "file", + "mcp_server", + "workflow_mcp_server", + "custom_tool", + "skill" + ] + }, + "public.workspace_mode": { + "name": "workspace_mode", + "schema": "public", + "values": ["personal", "organization", "grandfathered_shared"] + } + }, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} diff --git a/packages/db/migrations/meta/_journal.json b/packages/db/migrations/meta/_journal.json index c3b64dc1f5b..b457b88600c 100644 --- a/packages/db/migrations/meta/_journal.json +++ b/packages/db/migrations/meta/_journal.json @@ -1793,6 +1793,13 @@ "when": 1783392614134, "tag": "0256_custom_block_inputs", "breakpoints": true + }, + { + "idx": 257, + "version": "7", + "when": 1783531236677, + "tag": "0257_majestic_chat", + "breakpoints": true } ] } diff --git a/packages/db/schema.ts b/packages/db/schema.ts index c46ffa265ec..62bf0b5d806 100644 --- a/packages/db/schema.ts +++ b/packages/db/schema.ts @@ -1364,6 +1364,8 @@ export const workspaceForkResourceTypeEnum = pgEnum('workspace_fork_resource_typ 'knowledge_document', 'file', 'mcp_server', + /** Workflow-publishing MCP server identity (fork shell copy), for attachment sync. */ + 'workflow_mcp_server', 'custom_tool', 'skill', ]) @@ -1572,6 +1574,14 @@ export const backgroundWorkStatus = pgTable( table.workflowId, table.status ), + // Expression indexes for listSurfacedBackgroundWork's metadata legs: `->>` equality can't + // use a GIN index, and one unindexable leg in its `or()` forces a full-table scan. + metaChildWorkspaceIdx: index('background_work_status_meta_child_ws_idx').on( + sql`(${table.metadata} ->> 'childWorkspaceId')` + ), + metaOtherWorkspaceIdx: index('background_work_status_meta_other_ws_idx').on( + sql`(${table.metadata} ->> 'otherWorkspaceId')` + ), }) ) diff --git a/packages/testing/src/mocks/audit.mock.ts b/packages/testing/src/mocks/audit.mock.ts index 65685d9237d..8cfb3b7373d 100644 --- a/packages/testing/src/mocks/audit.mock.ts +++ b/packages/testing/src/mocks/audit.mock.ts @@ -151,6 +151,7 @@ export const auditMock = { WORKSPACE_FORKED: 'workspace.forked', WORKSPACE_FORK_PROMOTED: 'workspace.fork_promoted', WORKSPACE_FORK_ROLLED_BACK: 'workspace.fork_rolled_back', + WORKSPACE_FORK_UNLINKED: 'workspace.fork_unlinked', }, AuditResourceType: { API_KEY: 'api_key', diff --git a/packages/testing/src/mocks/schema.mock.ts b/packages/testing/src/mocks/schema.mock.ts index 4d52742a3a5..c90f7d3ba06 100644 --- a/packages/testing/src/mocks/schema.mock.ts +++ b/packages/testing/src/mocks/schema.mock.ts @@ -481,9 +481,23 @@ export const schemaMock = { inboxAddress: 'inboxAddress', inboxProviderId: 'inboxProviderId', archivedAt: 'archivedAt', + forkedFromWorkspaceId: 'forkedFromWorkspaceId', createdAt: 'createdAt', updatedAt: 'updatedAt', }, + backgroundWorkStatus: { + id: 'id', + workspaceId: 'workspaceId', + workflowId: 'workflowId', + kind: 'kind', + status: 'status', + message: 'message', + error: 'error', + metadata: 'metadata', + startedAt: 'startedAt', + completedAt: 'completedAt', + updatedAt: 'updatedAt', + }, workspaceFileFolder: { id: 'id', name: 'name', @@ -1171,6 +1185,36 @@ export const schemaMock = { createdAt: 'createdAt', updatedAt: 'updatedAt', }, + workspaceForkResourceMap: { + id: 'id', + childWorkspaceId: 'childWorkspaceId', + resourceType: 'resourceType', + parentResourceId: 'parentResourceId', + childResourceId: 'childResourceId', + createdBy: 'createdBy', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + }, + workspaceForkBlockMap: { + id: 'id', + childWorkspaceId: 'childWorkspaceId', + parentWorkflowId: 'parentWorkflowId', + parentBlockId: 'parentBlockId', + childWorkflowId: 'childWorkflowId', + childBlockId: 'childBlockId', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + }, + workspaceForkPromoteRun: { + id: 'id', + childWorkspaceId: 'childWorkspaceId', + sourceWorkspaceId: 'sourceWorkspaceId', + targetWorkspaceId: 'targetWorkspaceId', + direction: 'direction', + snapshot: 'snapshot', + createdBy: 'createdBy', + createdAt: 'createdAt', + }, /** Custom type export for tsvector */ tsvector: 'tsvector', } diff --git a/scripts/check-api-validation-contracts.ts b/scripts/check-api-validation-contracts.ts index 436d4081dec..1aa4dc0495d 100644 --- a/scripts/check-api-validation-contracts.ts +++ b/scripts/check-api-validation-contracts.ts @@ -9,8 +9,8 @@ const QUERY_HOOKS_DIR = path.join(ROOT, 'apps/sim/hooks/queries') const SELECTOR_HOOKS_DIR = path.join(ROOT, 'apps/sim/hooks/selectors') const BASELINE = { - totalRoutes: 917, - zodRoutes: 917, + totalRoutes: 919, + zodRoutes: 919, nonZodRoutes: 0, } as const From 4cd1461b9e4ab10c643dae9edfe2fd27ecd7008e Mon Sep 17 00:00:00 2001 From: Theodore Li Date: Wed, 8 Jul 2026 13:51:17 -0700 Subject: [PATCH 10/27] feat(custom-blocks): org-member visibility, workspace-admin-gated management (#5507) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(settings): let workspace admins reach the Custom blocks settings page The Custom blocks page lives in the Enterprise nav section, which the sidebar filter hides unless the user is an org admin/owner. But the server authz for managing custom blocks is source-workspace admin (hasWorkspaceAdminAccess), not org admin — so a workspace admin who could manage a block via the API couldn't even reach the page. Add an `allowNonOrgAdmin` nav flag that exempts an item from the org admin/owner requirement (the plan/hosted entitlement still applies; the page enforces its own per-resource authz), and set it on custom-blocks. Other Enterprise items (access control, audit logs, SSO, data retention/drains, whitelabeling) stay org-admin-only. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_017ddpeoz81CSqYQ73Dzf7yo * feat(custom-blocks): any org member views; create gated on workspace admin Split visibility from management to match the org-wide nature of custom blocks: - View: any org member (the nav item is now plan-gated, not org-admin). - Create: the "Create block" action shows only when the user is admin of a workspace in the current org, matching the publish route's source-workspace admin authz. - Source picker: lists only workspaces the user administers (in the current org); the default selection snaps to an eligible workspace when the current one isn't one they can publish from. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_017ddpeoz81CSqYQ73Dzf7yo * feat(custom-blocks): read-only detail for non-managers + fill image icon - Add the source workspaceId to the block wire type and gate the detail view on it: a viewer who isn't an admin of the block's source workspace gets a read-only view — no Save/Discard, no Delete, all fields disabled. Matches the server authz (edit/delete require source-workspace admin), so the UI no longer dangles buttons that 403. - SettingsResourceRow: add an opt-in `iconFill` so uploaded image icons fill the tile edge-to-edge instead of clamping to 20px; glyph svgs still normalize to 20px. Custom blocks list opts in. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_017ddpeoz81CSqYQ73Dzf7yo * fix(custom-blocks): include workspaceId in publishCustomBlock return The publish path builds a CustomBlockWithInputs literal; it was missing the workspaceId field added to the interface, breaking the type check. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_017ddpeoz81CSqYQ73Dzf7yo * fix(custom-blocks): don't flag create as dirty when source auto-snaps The create dirty-check compared selectedWorkspaceId against the URL workspace, but the source picker now auto-snaps to the first workspace the user can publish from — which may differ. Compare against that eligible default so opening/discarding the create flow doesn't show a false unsaved-changes state. (Bugbot) Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_017ddpeoz81CSqYQ73Dzf7yo --------- Co-authored-by: Claude Opus 4.8 (1M context) --- apps/sim/app/api/custom-blocks/route.ts | 1 + .../settings-resource-row.tsx | 18 +++-- .../[workspaceId]/settings/navigation.ts | 9 +++ .../settings-sidebar/settings-sidebar.tsx | 6 +- .../components/custom-block-detail.tsx | 70 ++++++++++++++----- .../components/custom-blocks.tsx | 40 ++++++++--- apps/sim/lib/api/contracts/custom-blocks.ts | 2 + .../lib/workflows/custom-blocks/operations.ts | 13 +++- 8 files changed, 124 insertions(+), 35 deletions(-) diff --git a/apps/sim/app/api/custom-blocks/route.ts b/apps/sim/app/api/custom-blocks/route.ts index 99b6319aa3d..7c3c964b1dd 100644 --- a/apps/sim/app/api/custom-blocks/route.ts +++ b/apps/sim/app/api/custom-blocks/route.ts @@ -29,6 +29,7 @@ function toWire(block: CustomBlockWithInputs) { organizationId: block.organizationId, workflowId: block.workflowId, workflowName: block.workflowName, + workspaceId: block.workspaceId, workspaceName: block.workspaceName, type: block.type, name: block.name, diff --git a/apps/sim/app/workspace/[workspaceId]/settings/components/settings-resource-row/settings-resource-row.tsx b/apps/sim/app/workspace/[workspaceId]/settings/components/settings-resource-row/settings-resource-row.tsx index 51a7dbd9619..88d9365e65a 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/components/settings-resource-row/settings-resource-row.tsx +++ b/apps/sim/app/workspace/[workspaceId]/settings/components/settings-resource-row/settings-resource-row.tsx @@ -1,4 +1,5 @@ import type { ReactNode } from 'react' +import { cn } from '@sim/emcn' /** * The canonical settings "resource row": a rounded-bordered icon tile, a @@ -11,8 +12,14 @@ import type { ReactNode } from 'react' * contains to 20px, so callers pass their raw icon node without pre-sizing it. */ interface SettingsResourceRowProps { - /** Icon node centered in the tile; any ``/`` is normalized to 20px. */ + /** Icon node centered in the tile; a `` is normalized to 20px, an `` to 20px (or the full tile when `iconFill`). */ icon: ReactNode + /** + * Let an image icon fill the tile edge-to-edge instead of clamping to 20px. + * Use for uploaded image/logo icons (e.g. custom blocks); glyph ``s still + * normalize to 20px so a fallback icon doesn't balloon. + */ + iconFill?: boolean /** Primary line — truncates. */ title: ReactNode /** Secondary muted line — truncates. */ @@ -21,11 +28,12 @@ interface SettingsResourceRowProps { trailing?: ReactNode } -const TILE_CLASS = - 'flex size-9 flex-shrink-0 items-center justify-center overflow-hidden rounded-xl border border-[var(--border-1)] bg-[var(--bg)] [&_img]:size-5 [&_svg]:size-5' +const TILE_BASE = + 'flex size-9 flex-shrink-0 items-center justify-center overflow-hidden rounded-xl border border-[var(--border-1)] bg-[var(--bg)] [&_svg]:size-5' export function SettingsResourceRow({ icon, + iconFill = false, title, description, trailing, @@ -33,7 +41,9 @@ export function SettingsResourceRow({ return (
-
{icon}
+
+ {icon} +
{title} {description != null && ( diff --git a/apps/sim/app/workspace/[workspaceId]/settings/navigation.ts b/apps/sim/app/workspace/[workspaceId]/settings/navigation.ts index 813993070f0..e7951972817 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/navigation.ts +++ b/apps/sim/app/workspace/[workspaceId]/settings/navigation.ts @@ -70,6 +70,14 @@ export interface NavigationItem { selfHostedOverride?: boolean requiresSuperUser?: boolean requiresAdminRole?: boolean + /** + * Exempt this item from the org admin/owner requirement that `requiresTeam` / + * `requiresEnterprise` otherwise impose in the sidebar. The plan/hosted + * entitlement still applies; the page enforces its own per-resource authz. Use + * for workspace-admin-managed features (e.g. custom blocks) that live in the + * Enterprise section but aren't org-admin concerns. + */ + allowNonOrgAdmin?: boolean /** Show in the sidebar even when the user lacks the required plan, with an upgrade badge. */ showWhenLocked?: boolean /** Hide for enterprise plans, which manage billing out-of-band. */ @@ -283,6 +291,7 @@ export const allNavigationItems: NavigationItem[] = [ section: 'enterprise', requiresHosted: true, requiresEnterprise: true, + allowNonOrgAdmin: true, selfHostedOverride: isCustomBlocksEnabled, }, { diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-sidebar/settings-sidebar.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-sidebar/settings-sidebar.tsx index dc93cfef58b..40f99677ef2 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-sidebar/settings-sidebar.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-sidebar/settings-sidebar.tsx @@ -136,13 +136,15 @@ export function SettingsSidebar({ return true } - if (item.requiresTeam && (!hasTeamPlan || !isOrgAdminOrOwner)) { + const orgAdminSatisfied = isOrgAdminOrOwner || item.allowNonOrgAdmin + + if (item.requiresTeam && (!hasTeamPlan || !orgAdminSatisfied)) { return false } if ( item.requiresEnterprise && - (!hasEnterprisePlan || !isOrgAdminOrOwner) && + (!hasEnterprisePlan || !orgAdminSatisfied) && !item.showWhenLocked ) { return false diff --git a/apps/sim/ee/custom-blocks/components/custom-block-detail.tsx b/apps/sim/ee/custom-blocks/components/custom-block-detail.tsx index 8ecf826e15f..d9d48a99eed 100644 --- a/apps/sim/ee/custom-blocks/components/custom-block-detail.tsx +++ b/apps/sim/ee/custom-blocks/components/custom-block-detail.tsx @@ -82,8 +82,15 @@ export function CustomBlockDetail({ blockId, workspaceId, onBack }: CustomBlockD const update = useUpdateCustomBlock(workspaceId) const remove = useDeleteCustomBlock(workspaceId) - // Source picker (create only). Editing a block never re-points its source. - const { data: workspaces = [] } = useWorkspacesQuery(isCreate) + // Needed in both modes: the source picker (create) and the manage gate (edit). + const { data: workspaces = [] } = useWorkspacesQuery() + + // A block is manageable only by an admin of its SOURCE workspace — the same authz + // the publish/update/delete routes enforce. Everyone else gets a read-only view + // (no Save/Discard, no Delete, disabled fields). Create is always manageable: the + // list gates the entry on workspace-admin and the picker only offers admin workspaces. + const canManageBlock = + isCreate || workspaces.some((w) => w.id === existing?.workspaceId && w.permissions === 'admin') // Custom blocks are org-scoped and the settings list only shows the current org's // blocks, so a block published to another org's workspace would silently never // appear here. Restrict the picker to workspaces in the current workspace's org. @@ -91,11 +98,32 @@ export function CustomBlockDetail({ blockId, workspaceId, onBack }: CustomBlockD () => workspaces.find((w) => w.id === workspaceId)?.organizationId ?? null, [workspaces, workspaceId] ) + // Only workspaces the user can publish from (admin) — the publish route requires + // admin on the source workspace, so a member/read workspace can never be a source. const orgWorkspaces = useMemo( - () => (currentOrgId ? workspaces.filter((w) => w.organizationId === currentOrgId) : []), + () => + currentOrgId + ? workspaces.filter((w) => w.organizationId === currentOrgId && w.permissions === 'admin') + : [], [workspaces, currentOrgId] ) + const eligibleDefaultWorkspaceId = useMemo( + () => + orgWorkspaces.some((w) => w.id === workspaceId) + ? workspaceId + : (orgWorkspaces[0]?.id ?? workspaceId), + [orgWorkspaces, workspaceId] + ) const [selectedWorkspaceId, setSelectedWorkspaceId] = useState(workspaceId) + // Once the eligible list loads, snap an ineligible selection (e.g. the current + // workspace when the user isn't its admin) to the first workspace they can publish from. + if ( + isCreate && + orgWorkspaces.length > 0 && + !orgWorkspaces.some((w) => w.id === selectedWorkspaceId) + ) { + setSelectedWorkspaceId(eligibleDefaultWorkspaceId) + } const [selectedWorkflowId, setSelectedWorkflowId] = useState('') const { data: workflows = [] } = useWorkflows(isCreate ? selectedWorkspaceId : undefined) @@ -235,7 +263,7 @@ export function CustomBlockDetail({ blockId, workspaceId, onBack }: CustomBlockD name.trim() || description.trim() || selectedWorkflowId || - selectedWorkspaceId !== workspaceId || + selectedWorkspaceId !== eligibleDefaultWorkspaceId || iconUrl || visibleOutputs.length > 0 || visibleInputs.some((i) => i.placeholder?.trim()) @@ -286,7 +314,7 @@ export function CustomBlockDetail({ blockId, workspaceId, onBack }: CustomBlockD function handleDiscard() { if (isCreate) { - setSelectedWorkspaceId(workspaceId) + setSelectedWorkspaceId(eligibleDefaultWorkspaceId) setSelectedWorkflowId('') } setName(existing?.name ?? '') @@ -366,14 +394,16 @@ export function CustomBlockDetail({ blockId, workspaceId, onBack }: CustomBlockD title={existing?.name || 'New block'} description='Publish a deployed workflow as a reusable, org-wide block.' actions={[ - ...saveDiscardActions({ - dirty, - saving, - onSave: handleSave, - onDiscard: handleDiscard, - saveDisabled, - }), - ...(existing + ...(canManageBlock + ? saveDiscardActions({ + dirty, + saving, + onSave: handleSave, + onDiscard: handleDiscard, + saveDisabled, + }) + : []), + ...(existing && canManageBlock ? [ { text: remove.isPending ? 'Deleting...' : 'Delete', @@ -446,11 +476,11 @@ export function CustomBlockDetail({ blockId, workspaceId, onBack }: CustomBlockD
- + {}}>
@@ -602,7 +635,7 @@ export function CustomBlockDetail({ blockId, workspaceId, onBack }: CustomBlockD className='w-full' dropdownWidth='trigger' maxHeight={280} - disabled={deployed.isLoading || outputGroups.length === 0} + disabled={deployed.isLoading || outputGroups.length === 0 || !canManageBlock} emptyMessage={deployed.isLoading ? 'Loading workflow…' : 'No outputs found.'} options={[]} groups={outputGroups} @@ -634,6 +667,7 @@ export function CustomBlockDetail({ blockId, workspaceId, onBack }: CustomBlockD placeholder='name' className='w-[140px]' maxLength={60} + disabled={!canManageBlock} />
) diff --git a/apps/sim/ee/custom-blocks/components/custom-blocks.tsx b/apps/sim/ee/custom-blocks/components/custom-blocks.tsx index 036d2aa9f56..f7534c9bf3f 100644 --- a/apps/sim/ee/custom-blocks/components/custom-blocks.tsx +++ b/apps/sim/ee/custom-blocks/components/custom-blocks.tsx @@ -12,6 +12,7 @@ import { getCustomBlockIcon } from '@/blocks/custom/custom-block-icon' import { CustomBlockDetail } from '@/ee/custom-blocks/components/custom-block-detail' import { useWhitelabelSettings } from '@/ee/whitelabeling/hooks/whitelabel' import { useCanPublishCustomBlock, useCustomBlocks } from '@/hooks/queries/custom-blocks' +import { useWorkspacesQuery } from '@/hooks/queries/workspace' export function CustomBlocks() { const params = useParams() @@ -19,6 +20,20 @@ export function CustomBlocks() { const { data: canManage = false, isLoading } = useCanPublishCustomBlock(workspaceId) const { data: blocks = [] } = useCustomBlocks(workspaceId) + const { data: workspaces = [] } = useWorkspacesQuery() + + // Any org member can view the org's blocks, but publishing requires admin on a + // source workspace — the publish route enforces admin on the picked workspace. + const currentOrgId = useMemo( + () => workspaces.find((w) => w.id === workspaceId)?.organizationId ?? null, + [workspaces, workspaceId] + ) + const canCreate = useMemo( + () => + !!currentOrgId && + workspaces.some((w) => w.organizationId === currentOrgId && w.permissions === 'admin'), + [workspaces, currentOrgId] + ) const { data: whitelabel } = useWhitelabelSettings(blocks[0]?.organizationId) const fallbackIconUrl = whitelabel?.logoUrl ?? null @@ -59,19 +74,25 @@ export function CustomBlocks() { onChange: setSearchTerm, placeholder: 'Search custom blocks...', }} - actions={[ - { - text: 'Create block', - icon: Plus, - variant: 'primary', - onSelect: () => setSelected('new'), - }, - ]} + actions={ + canCreate + ? [ + { + text: 'Create block', + icon: Plus, + variant: 'primary', + onSelect: () => setSelected('new'), + }, + ] + : [] + } > {blocks.length === 0 ? ( - No custom blocks yet. Click "Create block" to publish a workflow as a block. + {canCreate + ? 'No custom blocks yet. Click "Create block" to publish a workflow as a block.' + : 'No custom blocks yet.'} ) : filtered.length === 0 ? ( @@ -90,6 +111,7 @@ export function CustomBlocks() { > } + iconFill title={cb.name} description={cb.description || undefined} trailing={ diff --git a/apps/sim/lib/api/contracts/custom-blocks.ts b/apps/sim/lib/api/contracts/custom-blocks.ts index baf18abeaf4..95d0915bca2 100644 --- a/apps/sim/lib/api/contracts/custom-blocks.ts +++ b/apps/sim/lib/api/contracts/custom-blocks.ts @@ -39,6 +39,8 @@ export const customBlockSchema = z.object({ workflowId: z.string(), /** Name of the bound source workflow (for display; the source can't be changed). */ workflowName: z.string(), + /** Source workflow's home workspace id — used client-side to gate manage affordances. */ + workspaceId: z.string().nullable(), /** Name of the source workflow's home workspace (display only). */ workspaceName: z.string().nullable(), type: z.string(), diff --git a/apps/sim/lib/workflows/custom-blocks/operations.ts b/apps/sim/lib/workflows/custom-blocks/operations.ts index 83df77525ca..28d7dc5af35 100644 --- a/apps/sim/lib/workflows/custom-blocks/operations.ts +++ b/apps/sim/lib/workflows/custom-blocks/operations.ts @@ -34,6 +34,8 @@ export interface CustomBlockWithInputs { organizationId: string workflowId: string workflowName: string + /** Source workflow's home workspace id — used client-side to gate manage affordances. */ + workspaceId: string | null workspaceName: string | null type: string name: string @@ -162,18 +164,24 @@ export async function listCustomBlocksWithInputs( organizationId: string ): Promise { const rows = await db - .select({ block: customBlock, workflowName: workflow.name, workspaceName: workspace.name }) + .select({ + block: customBlock, + workflowName: workflow.name, + workspaceId: workflow.workspaceId, + workspaceName: workspace.name, + }) .from(customBlock) .innerJoin(workflow, eq(workflow.id, customBlock.workflowId)) .leftJoin(workspace, eq(workspace.id, workflow.workspaceId)) .where(eq(customBlock.organizationId, organizationId)) return Promise.all( - rows.map(async ({ block: row, workflowName, workspaceName }) => ({ + rows.map(async ({ block: row, workflowName, workspaceId, workspaceName }) => ({ id: row.id, organizationId: row.organizationId, workflowId: row.workflowId, workflowName, + workspaceId, workspaceName, type: row.type, name: row.name, @@ -381,6 +389,7 @@ export async function publishCustomBlock(params: { organizationId, workflowId, workflowName: wf.name, + workspaceId: wf.workspaceId, workspaceName: ws?.name ?? null, type, name, From 004955d9342cf7e08ae2b8983dbb1cb0f6c6763d Mon Sep 17 00:00:00 2001 From: Waleed Date: Wed, 8 Jul 2026 13:55:54 -0700 Subject: [PATCH 11/27] refactor(blog): split AEO/GEO content into a new /library section (#5516) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor(blog): split AEO/GEO content into a new /library section Blog was mixing hand-written editorial posts with listicle/comparison/how-to posts optimized for answer engines. Extract a generic content engine (lib/content) shared by both sections, move the 6 AEO/GEO posts into a new /library route tree, and keep /blog editorial-only. - lib/content: generic registry factory, MDX components, SEO builders - lib/blog + lib/library: thin per-section instantiations over the shared engine - app/(landing)/library: mirrors the blog route tree via shared Content*Page components - app/sitemap.ts, app/robots.ts, navbar: updated for the new section - next.config.ts: permanent redirects from moved /blog/ URLs to /library/ * fix(blog): thread route id through buildAuthorMetadata for canonical URL Author pages for unknown/unmatched ids fell back to author?.id, which is undefined when no post matches — collapsing canonical/OG URLs to {basePath}/authors/ instead of {basePath}/authors/{id}. Pass the route id explicitly so canonical always resolves correctly. * fix(blog): address Greptile review — RSS lastBuildDate, shared author cache, dead-export docs - RSS lastBuildDate now uses updated ?? date so edits after publication are reflected, matching the per-item pubDate semantics (blog + library) - Author JSON is now cached once per authorsDir at module scope instead of once per registry instantiation, since blog and library point at the same directory - Documented getNavPosts as reserved-but-unwired, matching the existing PLATFORM_MENU/SOLUTIONS_MENU convention in the navbar * fix(blog): dedupe featured posts from ContentIndexPage pagination pool A featured post older than POSTS_PER_PAGE would appear both on page 1's featured row (sorted to the front) and again on its natural date-sorted page, since only page 1 excluded featured posts from the remaining list. Carve featured posts out of the paginated pool up front so pagination stays consistent and duplicate-free across all pages. * fix(blog): RSS lastBuildDate reflects the whole feed, not just the newest item lastBuildDate only looked at items[0]'s updated/date, so revising an older post already in the feed wouldn't advance it. Extract the max-across-posts logic sitemap.ts already had into a shared lib/content/utils helper (latestModified) and use it in both RSS routes and the sitemap, so a revision to any feed item is reflected. --- apps/sim/app/(landing)/CLAUDE.md | 4 +- .../sim/app/(landing)/blog/[slug]/loading.tsx | 53 +-- apps/sim/app/(landing)/blog/[slug]/page.tsx | 160 +------- .../(landing)/blog/authors/[id]/loading.tsx | 24 +- .../app/(landing)/blog/authors/[id]/page.tsx | 118 +----- apps/sim/app/(landing)/blog/loading.tsx | 56 +-- apps/sim/app/(landing)/blog/page.tsx | 243 +----------- apps/sim/app/(landing)/blog/rss.xml/route.ts | 4 +- apps/sim/app/(landing)/blog/tags/loading.tsx | 19 +- apps/sim/app/(landing)/blog/tags/page.tsx | 58 +-- .../content-author-loading.tsx | 26 ++ .../content-author-page.tsx | 76 ++++ .../components/content-author-page/index.ts | 2 + .../content-image/content-image.tsx} | 16 +- .../components/content-image/index.ts | 1 + .../content-index-loading.tsx | 57 +++ .../content-index-page/content-index-page.tsx | 207 ++++++++++ .../components/content-index-page/index.ts | 2 + .../content-post-loading.tsx | 55 +++ .../content-post-page/content-post-page.tsx | 178 +++++++++ .../components/content-post-page/index.ts | 2 + .../content-tags-loading.tsx | 21 + .../content-tags-page/content-tags-page.tsx | 34 ++ .../components/content-tags-page/index.ts | 2 + apps/sim/app/(landing)/components/index.ts | 7 + .../(landing)/components/lightbox/index.ts | 1 + .../lightbox}/lightbox.tsx | 0 .../components/nav-menu-chip/constants.ts | 7 +- .../components/share-button/index.ts | 1 + .../share-button}/share-button.tsx | 0 .../app/(landing)/library/[slug]/loading.tsx | 5 + .../sim/app/(landing)/library/[slug]/page.tsx | 41 ++ .../library/authors/[id]/loading.tsx | 5 + .../(landing)/library/authors/[id]/page.tsx | 32 ++ apps/sim/app/(landing)/library/layout.tsx | 11 + apps/sim/app/(landing)/library/loading.tsx | 5 + apps/sim/app/(landing)/library/page.tsx | 41 ++ .../app/(landing)/library/rss.xml/route.ts | 49 +++ .../library/sitemap-images.xml/route.ts | 31 ++ .../app/(landing)/library/tags/loading.tsx | 5 + apps/sim/app/(landing)/library/tags/page.tsx | 17 + apps/sim/app/robots.ts | 6 +- apps/sim/app/sitemap.ts | 71 ++-- apps/sim/content/authors/emir.json | 2 +- apps/sim/content/authors/sid.json | 2 +- apps/sim/content/authors/vik.json | 2 +- apps/sim/content/authors/waleed.json | 2 +- .../ai-agent-ideas/index.mdx | 4 +- .../ai-agent-vs-chatbot/index.mdx | 4 +- .../ai-agents-vs-rpa/index.mdx | 4 +- .../best-zapier-alternatives/index.mdx | 4 +- .../how-to-create-an-ai-agent/index.mdx | 4 +- .../openai-vs-n8n-vs-sim/index.mdx | 16 +- apps/sim/lib/blog/registry.ts | 229 +---------- apps/sim/lib/blog/seo.ts | 196 ++-------- apps/sim/lib/blog/utils.ts | 27 -- apps/sim/lib/{blog => content}/code.tsx | 2 +- apps/sim/lib/{blog => content}/faq.tsx | 4 +- apps/sim/lib/{blog => content}/mdx.tsx | 30 +- apps/sim/lib/content/registry-factory.ts | 276 +++++++++++++ apps/sim/lib/{blog => content}/schema.ts | 14 +- apps/sim/lib/content/seo.ts | 366 ++++++++++++++++++ apps/sim/lib/content/utils.ts | 24 ++ .../lib/execution/sandbox/bundles/docx.cjs | 63 +-- .../execution/sandbox/bundles/pptxgenjs.cjs | 40 +- apps/sim/lib/library/registry.ts | 17 + apps/sim/lib/library/seo.ts | 51 +++ apps/sim/next.config.ts | 20 + apps/sim/public/{blog => }/authors/emir.jpg | Bin apps/sim/public/{blog => }/authors/sid.jpg | Bin apps/sim/public/{blog => }/authors/vik.jpg | Bin apps/sim/public/{blog => }/authors/waleed.jpg | Bin .../ai-agent-ideas/cover.jpg | Bin .../ai-agent-ideas/cover.png | Bin .../ai-agent-vs-chatbot/cover.jpg | Bin .../ai-agent-vs-chatbot/cover.png | Bin .../ai-agents-vs-rpa/cover.jpg | Bin .../ai-agents-vs-rpa/cover.png | Bin .../best-zapier-alternatives/cover.jpg | Bin .../best-zapier-alternatives/cover.png | Bin .../how-to-create-an-ai-agent/cover.jpg | Bin .../how-to-create-an-ai-agent/cover.png | Bin .../openai-vs-n8n-vs-sim/copilot.png | Bin .../openai-vs-n8n-vs-sim/cover.jpg | Bin .../openai-vs-n8n-vs-sim/cover.png | Bin .../openai-vs-n8n-vs-sim/logs.png | Bin .../openai-vs-n8n-vs-sim/n8n.png | Bin .../openai-vs-n8n-vs-sim/openai.png | Bin .../openai-vs-n8n-vs-sim/sim.png | Bin .../openai-vs-n8n-vs-sim/templates.png | Bin .../openai-vs-n8n-vs-sim/widgets.png | Bin 91 files changed, 1957 insertions(+), 1199 deletions(-) create mode 100644 apps/sim/app/(landing)/components/content-author-page/content-author-loading.tsx create mode 100644 apps/sim/app/(landing)/components/content-author-page/content-author-page.tsx create mode 100644 apps/sim/app/(landing)/components/content-author-page/index.ts rename apps/sim/app/(landing)/{blog/components/blog-image.tsx => components/content-image/content-image.tsx} (68%) create mode 100644 apps/sim/app/(landing)/components/content-image/index.ts create mode 100644 apps/sim/app/(landing)/components/content-index-page/content-index-loading.tsx create mode 100644 apps/sim/app/(landing)/components/content-index-page/content-index-page.tsx create mode 100644 apps/sim/app/(landing)/components/content-index-page/index.ts create mode 100644 apps/sim/app/(landing)/components/content-post-page/content-post-loading.tsx create mode 100644 apps/sim/app/(landing)/components/content-post-page/content-post-page.tsx create mode 100644 apps/sim/app/(landing)/components/content-post-page/index.ts create mode 100644 apps/sim/app/(landing)/components/content-tags-page/content-tags-loading.tsx create mode 100644 apps/sim/app/(landing)/components/content-tags-page/content-tags-page.tsx create mode 100644 apps/sim/app/(landing)/components/content-tags-page/index.ts create mode 100644 apps/sim/app/(landing)/components/lightbox/index.ts rename apps/sim/app/(landing)/{blog/components => components/lightbox}/lightbox.tsx (100%) create mode 100644 apps/sim/app/(landing)/components/share-button/index.ts rename apps/sim/app/(landing)/{blog/[slug] => components/share-button}/share-button.tsx (100%) create mode 100644 apps/sim/app/(landing)/library/[slug]/loading.tsx create mode 100644 apps/sim/app/(landing)/library/[slug]/page.tsx create mode 100644 apps/sim/app/(landing)/library/authors/[id]/loading.tsx create mode 100644 apps/sim/app/(landing)/library/authors/[id]/page.tsx create mode 100644 apps/sim/app/(landing)/library/layout.tsx create mode 100644 apps/sim/app/(landing)/library/loading.tsx create mode 100644 apps/sim/app/(landing)/library/page.tsx create mode 100644 apps/sim/app/(landing)/library/rss.xml/route.ts create mode 100644 apps/sim/app/(landing)/library/sitemap-images.xml/route.ts create mode 100644 apps/sim/app/(landing)/library/tags/loading.tsx create mode 100644 apps/sim/app/(landing)/library/tags/page.tsx rename apps/sim/content/{blog => library}/ai-agent-ideas/index.mdx (99%) rename apps/sim/content/{blog => library}/ai-agent-vs-chatbot/index.mdx (99%) rename apps/sim/content/{blog => library}/ai-agents-vs-rpa/index.mdx (99%) rename apps/sim/content/{blog => library}/best-zapier-alternatives/index.mdx (99%) rename apps/sim/content/{blog => library}/how-to-create-an-ai-agent/index.mdx (99%) rename apps/sim/content/{blog => library}/openai-vs-n8n-vs-sim/index.mdx (95%) delete mode 100644 apps/sim/lib/blog/utils.ts rename apps/sim/lib/{blog => content}/code.tsx (87%) rename apps/sim/lib/{blog => content}/faq.tsx (86%) rename apps/sim/lib/{blog => content}/mdx.tsx (77%) create mode 100644 apps/sim/lib/content/registry-factory.ts rename apps/sim/lib/{blog => content}/schema.ts (79%) create mode 100644 apps/sim/lib/content/seo.ts create mode 100644 apps/sim/lib/content/utils.ts create mode 100644 apps/sim/lib/library/registry.ts create mode 100644 apps/sim/lib/library/seo.ts rename apps/sim/public/{blog => }/authors/emir.jpg (100%) rename apps/sim/public/{blog => }/authors/sid.jpg (100%) rename apps/sim/public/{blog => }/authors/vik.jpg (100%) rename apps/sim/public/{blog => }/authors/waleed.jpg (100%) rename apps/sim/public/{blog => library}/ai-agent-ideas/cover.jpg (100%) rename apps/sim/public/{blog => library}/ai-agent-ideas/cover.png (100%) rename apps/sim/public/{blog => library}/ai-agent-vs-chatbot/cover.jpg (100%) rename apps/sim/public/{blog => library}/ai-agent-vs-chatbot/cover.png (100%) rename apps/sim/public/{blog => library}/ai-agents-vs-rpa/cover.jpg (100%) rename apps/sim/public/{blog => library}/ai-agents-vs-rpa/cover.png (100%) rename apps/sim/public/{blog => library}/best-zapier-alternatives/cover.jpg (100%) rename apps/sim/public/{blog => library}/best-zapier-alternatives/cover.png (100%) rename apps/sim/public/{blog => library}/how-to-create-an-ai-agent/cover.jpg (100%) rename apps/sim/public/{blog => library}/how-to-create-an-ai-agent/cover.png (100%) rename apps/sim/public/{blog => library}/openai-vs-n8n-vs-sim/copilot.png (100%) rename apps/sim/public/{blog => library}/openai-vs-n8n-vs-sim/cover.jpg (100%) rename apps/sim/public/{blog => library}/openai-vs-n8n-vs-sim/cover.png (100%) rename apps/sim/public/{blog => library}/openai-vs-n8n-vs-sim/logs.png (100%) rename apps/sim/public/{blog => library}/openai-vs-n8n-vs-sim/n8n.png (100%) rename apps/sim/public/{blog => library}/openai-vs-n8n-vs-sim/openai.png (100%) rename apps/sim/public/{blog => library}/openai-vs-n8n-vs-sim/sim.png (100%) rename apps/sim/public/{blog => library}/openai-vs-n8n-vs-sim/templates.png (100%) rename apps/sim/public/{blog => library}/openai-vs-n8n-vs-sim/widgets.png (100%) diff --git a/apps/sim/app/(landing)/CLAUDE.md b/apps/sim/app/(landing)/CLAUDE.md index e7dd7fe7534..81d447fb09d 100644 --- a/apps/sim/app/(landing)/CLAUDE.md +++ b/apps/sim/app/(landing)/CLAUDE.md @@ -1,6 +1,8 @@ # Landing Page - Build & Optimization Instructions -This route group owns `/` and the entire public marketing surface - the home page, platform/solutions pages, pricing, legal, and the marketing subroutes (`/blog`, `/models`, `/integrations`, `/demo`, `/partners`, `/changelog`). Read this file in full before adding or changing anything here. Positioning and language rules live in `.claude/rules/constitution.md`; SEO/GEO rules in `.claude/rules/landing-seo-geo.md`. Both apply to every file in this directory. +This route group owns `/` and the entire public marketing surface - the home page, platform/solutions pages, pricing, legal, and the marketing subroutes (`/blog`, `/library`, `/models`, `/integrations`, `/demo`, `/partners`, `/changelog`). Read this file in full before adding or changing anything here. Positioning and language rules live in `.claude/rules/constitution.md`; SEO/GEO rules in `.claude/rules/landing-seo-geo.md`. Both apply to every file in this directory. + +`/blog` (editorial/company-voice posts) and `/library` (AEO/GEO content - listicles, comparisons, how-tos) are two separate route trees over one shared engine: `apps/sim/lib/content/` (generic registry factory, MDX components, SEO builders) instantiated per-section by the thin `apps/sim/lib/blog/` and `apps/sim/lib/library/` modules, rendered through the shared `Content*Page` components in `components/`. Content lives in `apps/sim/content/blog/` and `apps/sim/content/library/`; both share `apps/sim/content/authors/`. Adding a post to either section, or adding a new content section entirely, must reuse this engine - never hand-roll a divergent registry or page layout. Every new marketing subroute (including any future content section) needs `app/sitemap.ts` and `app/robots.ts` updated, same as `/blog` and `/library` were. ## What this is diff --git a/apps/sim/app/(landing)/blog/[slug]/loading.tsx b/apps/sim/app/(landing)/blog/[slug]/loading.tsx index accf7788da3..4bda1f47c0f 100644 --- a/apps/sim/app/(landing)/blog/[slug]/loading.tsx +++ b/apps/sim/app/(landing)/blog/[slug]/loading.tsx @@ -1,54 +1,5 @@ -import { Skeleton } from '@sim/emcn' +import { ContentPostLoading } from '@/app/(landing)/components' export default function BlogPostLoading() { - return ( -
-
-
- -
-
-
- -
-
-
- - - - -
-
- -
- - -
-
-
-
-
- -
- -
-
-
-
- - - - - - - - -
-
-
-
- -
-
- ) + return } diff --git a/apps/sim/app/(landing)/blog/[slug]/page.tsx b/apps/sim/app/(landing)/blog/[slug]/page.tsx index afd7f32a439..2e8b50b2dd5 100644 --- a/apps/sim/app/(landing)/blog/[slug]/page.tsx +++ b/apps/sim/app/(landing)/blog/[slug]/page.tsx @@ -1,14 +1,8 @@ -import { Avatar, AvatarFallback, AvatarImage } from '@sim/emcn' import type { Metadata } from 'next' -import Image from 'next/image' -import Link from 'next/link' -import { FAQ } from '@/lib/blog/faq' import { getAllPostMeta, getPostBySlug, getRelatedPosts } from '@/lib/blog/registry' -import { buildPostGraphJsonLd, buildPostMetadata } from '@/lib/blog/seo' +import { BLOG_SECTION, buildPostGraphJsonLd, buildPostMetadata } from '@/lib/blog/seo' import { getBaseUrl } from '@/lib/core/utils/urls' -import { ShareButton } from '@/app/(landing)/blog/[slug]/share-button' -import { BackLink } from '@/app/(landing)/components' -import { JsonLd } from '@/app/(landing)/components/json-ld' +import { ContentPostPage } from '@/app/(landing)/components' export const dynamicParams = false @@ -32,150 +26,16 @@ export const revalidate = 86400 export default async function Page({ params }: { params: Promise<{ slug: string }> }) { const { slug } = await params const post = await getPostBySlug(slug) - const Article = post.Content - const graphJsonLd = buildPostGraphJsonLd(post) const related = await getRelatedPosts(slug, 3) return ( -
- -
-
- -
- -
-
-
- {post.title} -
-
-
-
-

- {post.title} -

-

- {post.description} -

-
-
- - -
- {(post.authors || [post.author]).map((a) => ( -
- {a?.avatarUrl ? ( - - - {a.name.slice(0, 2)} - - ) : null} - - {a?.name} - -
- ))} -
-
- -
-
-
-
-
- -
- -
-
-
-
-
- {post.faq && post.faq.length > 0 ? : null} -
-
- - {related.length > 0 && ( - <> -
- - - )} -
-
- -
- - - - - {post.wordCount && } -
+ ) } diff --git a/apps/sim/app/(landing)/blog/authors/[id]/loading.tsx b/apps/sim/app/(landing)/blog/authors/[id]/loading.tsx index bf0e6b5f5d9..315e1bad6d0 100644 --- a/apps/sim/app/(landing)/blog/authors/[id]/loading.tsx +++ b/apps/sim/app/(landing)/blog/authors/[id]/loading.tsx @@ -1,25 +1,5 @@ -import { Skeleton } from '@sim/emcn' - -const SKELETON_POST_COUNT = 4 +import { ContentAuthorLoading } from '@/app/(landing)/components' export default function AuthorLoading() { - return ( -
-
- - -
-
- {Array.from({ length: SKELETON_POST_COUNT }).map((_, i) => ( -
- -
- - -
-
- ))} -
-
- ) + return } diff --git a/apps/sim/app/(landing)/blog/authors/[id]/page.tsx b/apps/sim/app/(landing)/blog/authors/[id]/page.tsx index 7055eee586c..302b843cae6 100644 --- a/apps/sim/app/(landing)/blog/authors/[id]/page.tsx +++ b/apps/sim/app/(landing)/blog/authors/[id]/page.tsx @@ -1,9 +1,7 @@ import type { Metadata } from 'next' -import Image from 'next/image' -import Link from 'next/link' import { getAllPostMeta } from '@/lib/blog/registry' -import { SITE_URL } from '@/lib/core/utils/urls' -import { JsonLd } from '@/app/(landing)/components/json-ld' +import { BLOG_SECTION, buildAuthorGraphJsonLd, buildAuthorMetadata } from '@/lib/blog/seo' +import { ContentAuthorPage } from '@/app/(landing)/components' export const revalidate = 3600 @@ -14,115 +12,21 @@ export async function generateMetadata({ }): Promise { const { id } = await params const posts = (await getAllPostMeta()).filter((p) => p.author.id === id) - const author = posts[0]?.author - const name = author?.name ?? 'Author' - return { - title: `${name} | Sim Blog`, - description: `Read articles by ${name} on the Sim blog.`, - alternates: { canonical: `${SITE_URL}/blog/authors/${id}` }, - openGraph: { - title: `${name} | Sim Blog`, - description: `Read articles by ${name} on the Sim blog.`, - url: `${SITE_URL}/blog/authors/${id}`, - siteName: 'Sim', - type: 'profile', - ...(author?.avatarUrl - ? { images: [{ url: author.avatarUrl, width: 400, height: 400, alt: name }] } - : {}), - }, - twitter: { - card: 'summary', - title: `${name} | Sim Blog`, - description: `Read articles by ${name} on the Sim blog.`, - site: '@simdotai', - ...(author?.xHandle ? { creator: `@${author.xHandle}` } : {}), - }, - } + return buildAuthorMetadata(id, posts[0]?.author) } export default async function AuthorPage({ params }: { params: Promise<{ id: string }> }) { const { id } = await params const posts = (await getAllPostMeta()).filter((p) => p.author.id === id) const author = posts[0]?.author - if (!author) { - return ( -
-

Author not found

-
- ) - } - const graphJsonLd = { - '@context': 'https://schema.org', - '@graph': [ - { - '@type': 'Person', - name: author.name, - url: `${SITE_URL}/blog/authors/${author.id}`, - sameAs: author.url ? [author.url] : [], - image: author.avatarUrl, - worksFor: { - '@type': 'Organization', - name: 'Sim', - url: SITE_URL, - }, - }, - { - '@type': 'BreadcrumbList', - itemListElement: [ - { '@type': 'ListItem', position: 1, name: 'Home', item: SITE_URL }, - { '@type': 'ListItem', position: 2, name: 'Blog', item: `${SITE_URL}/blog` }, - { - '@type': 'ListItem', - position: 3, - name: author.name, - item: `${SITE_URL}/blog/authors/${author.id}`, - }, - ], - }, - ], - } + return ( -
- -
- {author.avatarUrl ? ( - {author.name} - ) : null} -

{author.name}

-
-
- {posts.map((p) => ( - -
- {p.title} -
-
- {new Date(p.date).toLocaleDateString('en-US', { - month: 'short', - day: 'numeric', - year: 'numeric', - })} -
-
{p.title}
-
-
- - ))} -
-
+ ) } diff --git a/apps/sim/app/(landing)/blog/loading.tsx b/apps/sim/app/(landing)/blog/loading.tsx index f99f2c60c4a..ff8439df978 100644 --- a/apps/sim/app/(landing)/blog/loading.tsx +++ b/apps/sim/app/(landing)/blog/loading.tsx @@ -1,57 +1,5 @@ -import { Skeleton } from '@sim/emcn' +import { ContentIndexLoading } from '@/app/(landing)/components' export default function BlogLoading() { - return ( -
-
- {/* Header skeleton */} -
- -
- - -
-
- - {/* Content area with vertical border rails */} -
-
- - {/* Featured skeleton */} -
- {Array.from({ length: 3 }).map((_, i) => ( -
- -
- - - -
-
- ))} -
- -
- - {/* List skeleton */} - {Array.from({ length: 5 }).map((_, i) => ( -
-
- -
- - -
- -
-
-
- ))} -
-
-
- ) + return } diff --git a/apps/sim/app/(landing)/blog/page.tsx b/apps/sim/app/(landing)/blog/page.tsx index 5d5c0d6172d..80ce791204b 100644 --- a/apps/sim/app/(landing)/blog/page.tsx +++ b/apps/sim/app/(landing)/blog/page.tsx @@ -1,20 +1,12 @@ -import { ChipLink } from '@sim/emcn' import type { Metadata } from 'next' -import Image from 'next/image' -import Link from 'next/link' import { getAllPostMeta } from '@/lib/blog/registry' -import { buildCollectionPageJsonLd } from '@/lib/blog/seo' -import { SITE_URL } from '@/lib/core/utils/urls' -import { withFilteredNoindex } from '@/lib/landing/seo' -import { Cta } from '@/app/(landing)/components' -import { JsonLd } from '@/app/(landing)/components/json-ld' +import { BLOG_SECTION, buildCollectionPageJsonLd, buildIndexMetadata } from '@/lib/blog/seo' +import { ContentIndexPage } from '@/app/(landing)/components' /** * Filtered/paginated variants render genuinely different lists, but only the - * bare index is indexable — same policy as the integrations and models - * catalogs — so canonical always points at the unfiltered page and the - * variant itself is noindexed rather than asking Google to index every - * tag/page permutation. + * bare index is indexable — see `buildIndexMetadata` in `@/lib/content/seo` + * for the shared noindex policy. */ export async function generateMetadata({ searchParams, @@ -23,49 +15,7 @@ export async function generateMetadata({ }): Promise { const { page, tag } = await searchParams const pageNum = Math.max(1, Number(page || 1)) - - const titleParts = ['Blog'] - if (tag) titleParts.push(tag) - if (pageNum > 1) titleParts.push(`Page ${pageNum}`) - const title = titleParts.join(' | ') - - const description = tag - ? `Sim blog posts tagged "${tag}": insights and guides for building AI agents.` - : 'Announcements, insights, and guides from Sim, the open-source AI workspace, for building, deploying, and managing AI agents.' - - const canonical = `${SITE_URL}/blog` - const isFiltered = Boolean(tag) || pageNum > 1 - - return withFilteredNoindex( - { - title, - description, - alternates: { canonical }, - openGraph: { - title: `${title} | Sim`, - description, - url: canonical, - siteName: 'Sim', - locale: 'en_US', - type: 'website', - images: [ - { - url: `${SITE_URL}/logo/primary/medium.png`, - width: 1200, - height: 630, - alt: 'Sim Blog', - }, - ], - }, - twitter: { - card: 'summary_large_image', - title: `${title} | Sim`, - description, - site: '@simdotai', - }, - }, - isFiltered - ) + return buildIndexMetadata({ tag, pageNum }) } export default async function BlogIndex({ @@ -75,180 +25,17 @@ export default async function BlogIndex({ }) { const { page, tag } = await searchParams const pageNum = Math.max(1, Number(page || 1)) - const perPage = 20 - - const all = await getAllPostMeta() - const filtered = tag ? all.filter((p) => p.tags.includes(tag)) : all - - const sorted = - pageNum === 1 - ? filtered.sort((a, b) => { - if (a.featured && !b.featured) return -1 - if (!a.featured && b.featured) return 1 - return new Date(b.date).getTime() - new Date(a.date).getTime() - }) - : filtered - - const totalPages = Math.max(1, Math.ceil(sorted.length / perPage)) - const start = (pageNum - 1) * perPage - const posts = sorted.slice(start, start + perPage) - const featured = pageNum === 1 ? posts.slice(0, 3) : [] - const remaining = pageNum === 1 ? posts.slice(3) : posts - - const collectionJsonLd = buildCollectionPageJsonLd() + const posts = await getAllPostMeta() return ( - <> -
- - - {/* Section header */} -
-
-

- Latest from Sim -

-

- Announcements, insights, and guides for building AI agents. -

-
-
- - {/* Full-width top line */} -
- - {/* Content area with vertical border rails */} -
-
- {/* Featured posts */} - {featured.length > 0 && ( - <> - - -
- - )} - - {remaining.map((p) => ( -
- - {/* Date */} - - {new Date(p.date).toLocaleDateString('en-US', { - month: 'short', - day: 'numeric', - year: 'numeric', - })} - - - {/* Title + description */} -
- - {new Date(p.date).toLocaleDateString('en-US', { - month: 'short', - day: 'numeric', - year: 'numeric', - })} - -

- {p.title} -

-

- {p.description} -

-
- - {/* Image */} -
- {p.title} -
- -
-
- ))} - - {/* Pagination */} - {totalPages > 1 && ( - - )} -
-
- - {/* Full-width bottom line - overlaps last inner divider to avoid double border */} -
-
- -
- -
- + ) } diff --git a/apps/sim/app/(landing)/blog/rss.xml/route.ts b/apps/sim/app/(landing)/blog/rss.xml/route.ts index 6460e032216..0ddbbdab7a1 100644 --- a/apps/sim/app/(landing)/blog/rss.xml/route.ts +++ b/apps/sim/app/(landing)/blog/rss.xml/route.ts @@ -1,5 +1,6 @@ import { NextResponse } from 'next/server' import { getAllPostMeta } from '@/lib/blog/registry' +import { latestModified } from '@/lib/content/utils' import { SITE_URL } from '@/lib/core/utils/urls' export const revalidate = 3600 @@ -8,8 +9,7 @@ export async function GET() { const posts = await getAllPostMeta() const items = posts.slice(0, 50) const site = SITE_URL - const lastBuildDate = - items.length > 0 ? new Date(items[0].date).toUTCString() : new Date().toUTCString() + const lastBuildDate = (latestModified(items) ?? new Date()).toUTCString() const xml = ` diff --git a/apps/sim/app/(landing)/blog/tags/loading.tsx b/apps/sim/app/(landing)/blog/tags/loading.tsx index 0ab53a285bd..1fbabbbd995 100644 --- a/apps/sim/app/(landing)/blog/tags/loading.tsx +++ b/apps/sim/app/(landing)/blog/tags/loading.tsx @@ -1,20 +1,5 @@ -import { Skeleton } from '@sim/emcn' - -const SKELETON_TAG_COUNT = 12 +import { ContentTagsLoading } from '@/app/(landing)/components' export default function TagsLoading() { - return ( -
- -
- {Array.from({ length: SKELETON_TAG_COUNT }).map((_, i) => ( - - ))} -
-
- ) + return } diff --git a/apps/sim/app/(landing)/blog/tags/page.tsx b/apps/sim/app/(landing)/blog/tags/page.tsx index 9f04edac3ca..8cbf0e3bbb7 100644 --- a/apps/sim/app/(landing)/blog/tags/page.tsx +++ b/apps/sim/app/(landing)/blog/tags/page.tsx @@ -1,59 +1,17 @@ -import { ChipLink } from '@sim/emcn' import type { Metadata } from 'next' import { getAllTags } from '@/lib/blog/registry' -import { SITE_URL } from '@/lib/core/utils/urls' -import { JsonLd } from '@/app/(landing)/components/json-ld' +import { BLOG_SECTION, buildTagsBreadcrumbJsonLd, buildTagsMetadata } from '@/lib/blog/seo' +import { ContentTagsPage } from '@/app/(landing)/components' -export const metadata: Metadata = { - title: 'Tags', - description: 'Browse Sim blog posts by topic: AI agents, workflows, integrations, and more.', - alternates: { canonical: `${SITE_URL}/blog/tags` }, - openGraph: { - title: 'Blog Tags | Sim', - description: 'Browse Sim blog posts by topic: AI agents, workflows, integrations, and more.', - url: `${SITE_URL}/blog/tags`, - siteName: 'Sim', - locale: 'en_US', - type: 'website', - }, - twitter: { - card: 'summary', - title: 'Blog Tags | Sim', - description: 'Browse Sim blog posts by topic: AI agents, workflows, integrations, and more.', - site: '@simdotai', - }, -} - -const breadcrumbJsonLd = { - '@context': 'https://schema.org', - '@type': 'BreadcrumbList', - itemListElement: [ - { '@type': 'ListItem', position: 1, name: 'Home', item: SITE_URL }, - { '@type': 'ListItem', position: 2, name: 'Blog', item: `${SITE_URL}/blog` }, - { '@type': 'ListItem', position: 3, name: 'Tags', item: `${SITE_URL}/blog/tags` }, - ], -} +export const metadata: Metadata = buildTagsMetadata() export default async function TagsIndex() { const tags = await getAllTags() return ( -
- -

Browse by tag

-
- - All - - {tags.map((t) => ( - - {t.tag} ({t.count}) - - ))} -
-
+ ) } diff --git a/apps/sim/app/(landing)/components/content-author-page/content-author-loading.tsx b/apps/sim/app/(landing)/components/content-author-page/content-author-loading.tsx new file mode 100644 index 00000000000..0d40831d37a --- /dev/null +++ b/apps/sim/app/(landing)/components/content-author-page/content-author-loading.tsx @@ -0,0 +1,26 @@ +import { Skeleton } from '@sim/emcn' + +const AUTHOR_POST_SKELETON_COUNT = 4 + +/** Shared loading skeleton for a content section's author-profile route. */ +export function ContentAuthorLoading() { + return ( +
+
+ + +
+
+ {Array.from({ length: AUTHOR_POST_SKELETON_COUNT }).map((_, i) => ( +
+ +
+ + +
+
+ ))} +
+
+ ) +} diff --git a/apps/sim/app/(landing)/components/content-author-page/content-author-page.tsx b/apps/sim/app/(landing)/components/content-author-page/content-author-page.tsx new file mode 100644 index 00000000000..e57ad9e3c64 --- /dev/null +++ b/apps/sim/app/(landing)/components/content-author-page/content-author-page.tsx @@ -0,0 +1,76 @@ +import Image from 'next/image' +import Link from 'next/link' +import type { ContentMeta } from '@/lib/content/schema' +import { JsonLd } from '@/app/(landing)/components/json-ld' + +interface ContentAuthorPageProps { + /** Route base path, e.g. `/blog` or `/library`. */ + basePath: string + authorName?: string + authorAvatarUrl?: string + /** Posts already filtered down to this author. */ + posts: ContentMeta[] + graphJsonLd?: Record +} + +/** Shared author-profile layout for a content section. */ +export function ContentAuthorPage({ + basePath, + authorName, + authorAvatarUrl, + posts, + graphJsonLd, +}: ContentAuthorPageProps) { + if (!authorName) { + return ( +
+

Author not found

+
+ ) + } + + return ( +
+ {graphJsonLd && } +
+ {authorAvatarUrl ? ( + {authorName} + ) : null} +

{authorName}

+
+
+ {posts.map((p) => ( + +
+ {p.title} +
+
+ {new Date(p.date).toLocaleDateString('en-US', { + month: 'short', + day: 'numeric', + year: 'numeric', + })} +
+
{p.title}
+
+
+ + ))} +
+
+ ) +} diff --git a/apps/sim/app/(landing)/components/content-author-page/index.ts b/apps/sim/app/(landing)/components/content-author-page/index.ts new file mode 100644 index 00000000000..edd4641ac67 --- /dev/null +++ b/apps/sim/app/(landing)/components/content-author-page/index.ts @@ -0,0 +1,2 @@ +export { ContentAuthorLoading } from './content-author-loading' +export { ContentAuthorPage } from './content-author-page' diff --git a/apps/sim/app/(landing)/blog/components/blog-image.tsx b/apps/sim/app/(landing)/components/content-image/content-image.tsx similarity index 68% rename from apps/sim/app/(landing)/blog/components/blog-image.tsx rename to apps/sim/app/(landing)/components/content-image/content-image.tsx index bbb41e22cc4..001430c7a4a 100644 --- a/apps/sim/app/(landing)/blog/components/blog-image.tsx +++ b/apps/sim/app/(landing)/components/content-image/content-image.tsx @@ -3,9 +3,9 @@ import { useState } from 'react' import { cn } from '@sim/emcn' import NextImage from 'next/image' -import { Lightbox } from '@/app/(landing)/blog/components/lightbox' +import { Lightbox } from '@/app/(landing)/components/lightbox' -interface BlogImageProps { +interface ContentImageProps { src: string alt?: string width?: number @@ -13,7 +13,17 @@ interface BlogImageProps { className?: string } -export function BlogImage({ src, alt = '', width = 800, height = 450, className }: BlogImageProps) { +/** + * Click-to-zoom image renderer used by MDX content (blog and library posts + * both compile through the same `mdxComponents` map in `@/lib/content/mdx`). + */ +export function ContentImage({ + src, + alt = '', + width = 800, + height = 450, + className, +}: ContentImageProps) { const [isLightboxOpen, setIsLightboxOpen] = useState(false) return ( diff --git a/apps/sim/app/(landing)/components/content-image/index.ts b/apps/sim/app/(landing)/components/content-image/index.ts new file mode 100644 index 00000000000..5ddcaddcb6f --- /dev/null +++ b/apps/sim/app/(landing)/components/content-image/index.ts @@ -0,0 +1 @@ +export { ContentImage } from './content-image' diff --git a/apps/sim/app/(landing)/components/content-index-page/content-index-loading.tsx b/apps/sim/app/(landing)/components/content-index-page/content-index-loading.tsx new file mode 100644 index 00000000000..c5242b158b6 --- /dev/null +++ b/apps/sim/app/(landing)/components/content-index-page/content-index-loading.tsx @@ -0,0 +1,57 @@ +import { Skeleton } from '@sim/emcn' + +const FEATURED_SKELETON_COUNT = 3 +const LIST_SKELETON_COUNT = 5 + +/** Shared loading skeleton for a content section's index/list route. */ +export function ContentIndexLoading() { + return ( +
+
+
+ +
+ + +
+
+ +
+
+ +
+ {Array.from({ length: FEATURED_SKELETON_COUNT }).map((_, i) => ( +
+ +
+ + + +
+
+ ))} +
+ +
+ + {Array.from({ length: LIST_SKELETON_COUNT }).map((_, i) => ( +
+
+ +
+ + +
+ +
+
+
+ ))} +
+
+
+ ) +} diff --git a/apps/sim/app/(landing)/components/content-index-page/content-index-page.tsx b/apps/sim/app/(landing)/components/content-index-page/content-index-page.tsx new file mode 100644 index 00000000000..3e304e9b5be --- /dev/null +++ b/apps/sim/app/(landing)/components/content-index-page/content-index-page.tsx @@ -0,0 +1,207 @@ +import { ChipLink } from '@sim/emcn' +import Image from 'next/image' +import Link from 'next/link' +import type { ContentMeta } from '@/lib/content/schema' +import { Cta } from '@/app/(landing)/components/cta/cta' +import { JsonLd } from '@/app/(landing)/components/json-ld' + +const POSTS_PER_PAGE = 20 +const FEATURED_COUNT = 3 + +interface ContentIndexPageProps { + /** Route base path, e.g. `/blog` or `/library`. */ + basePath: string + heading: string + subheading: string + /** All published posts for the section, unfiltered and unsorted. */ + posts: ContentMeta[] + page: number + tag?: string + collectionJsonLd: Record +} + +/** + * Shared index/list layout for a content section (blog or library): section + * header, featured-post row, remaining posts list, and pagination. Both + * sections render this exact layout, parameterized by `basePath` and copy — + * see `.claude/rules/landing-seo-geo.md` for the filtered/paginated noindex + * policy this pairs with (`buildIndexMetadata` in `@/lib/content/seo`). + */ +export function ContentIndexPage({ + basePath, + heading, + subheading, + posts, + page, + tag, + collectionJsonLd, +}: ContentIndexPageProps) { + const filtered = tag ? posts.filter((p) => p.tags.includes(tag)) : posts + const dateSorted = [...filtered].sort( + (a, b) => new Date(b.date).getTime() - new Date(a.date).getTime() + ) + + // Featured posts render once, in the page-1 featured row, regardless of + // where their date would otherwise place them — so they're carved out of + // the paginated pool up front rather than re-sorted to the front of page 1 + // (which left them still reachable, and duplicated, on a later page). + const explicitlyFeatured = dateSorted.filter((p) => p.featured).slice(0, FEATURED_COUNT) + const featuredPosts = + explicitlyFeatured.length > 0 ? explicitlyFeatured : dateSorted.slice(0, FEATURED_COUNT) + const featuredSlugs = new Set(featuredPosts.map((p) => p.slug)) + const paginated = dateSorted.filter((p) => !featuredSlugs.has(p.slug)) + + const totalPages = Math.max(1, Math.ceil(paginated.length / POSTS_PER_PAGE)) + const start = (page - 1) * POSTS_PER_PAGE + const featured = page === 1 ? featuredPosts : [] + const remaining = paginated.slice(start, start + POSTS_PER_PAGE) + + const pageHref = (targetPage: number) => + `${basePath}?page=${targetPage}${tag ? `&tag=${encodeURIComponent(tag)}` : ''}` + + return ( + <> +
+ + +
+
+

+ {heading} +

+

+ {subheading} +

+
+
+ +
+ +
+
+ {featured.length > 0 && ( + <> + + +
+ + )} + + {remaining.map((p) => ( +
+ + + {new Date(p.date).toLocaleDateString('en-US', { + month: 'short', + day: 'numeric', + year: 'numeric', + })} + + +
+ + {new Date(p.date).toLocaleDateString('en-US', { + month: 'short', + day: 'numeric', + year: 'numeric', + })} + +

+ {p.title} +

+

+ {p.description} +

+
+ +
+ {p.title} +
+ +
+
+ ))} + + {totalPages > 1 && ( + + )} +
+
+ +
+
+ +
+ +
+ + ) +} diff --git a/apps/sim/app/(landing)/components/content-index-page/index.ts b/apps/sim/app/(landing)/components/content-index-page/index.ts new file mode 100644 index 00000000000..58fb2b32d2b --- /dev/null +++ b/apps/sim/app/(landing)/components/content-index-page/index.ts @@ -0,0 +1,2 @@ +export { ContentIndexLoading } from './content-index-loading' +export { ContentIndexPage } from './content-index-page' diff --git a/apps/sim/app/(landing)/components/content-post-page/content-post-loading.tsx b/apps/sim/app/(landing)/components/content-post-page/content-post-loading.tsx new file mode 100644 index 00000000000..fcffa86e95a --- /dev/null +++ b/apps/sim/app/(landing)/components/content-post-page/content-post-loading.tsx @@ -0,0 +1,55 @@ +import { Skeleton } from '@sim/emcn' + +/** Shared loading skeleton for a content section's post-detail route. */ +export function ContentPostLoading() { + return ( +
+
+
+ +
+
+
+ +
+
+
+ + + + +
+
+ +
+ + +
+
+
+
+
+ +
+ +
+
+
+
+ + + + + + + + +
+
+
+
+ +
+
+ ) +} diff --git a/apps/sim/app/(landing)/components/content-post-page/content-post-page.tsx b/apps/sim/app/(landing)/components/content-post-page/content-post-page.tsx new file mode 100644 index 00000000000..358ec8a1416 --- /dev/null +++ b/apps/sim/app/(landing)/components/content-post-page/content-post-page.tsx @@ -0,0 +1,178 @@ +import { Avatar, AvatarFallback, AvatarImage } from '@sim/emcn' +import Image from 'next/image' +import Link from 'next/link' +import { FAQ } from '@/lib/content/faq' +import type { ContentMeta, ContentPost } from '@/lib/content/schema' +import { BackLink } from '@/app/(landing)/components/back-link' +import { JsonLd } from '@/app/(landing)/components/json-ld' +import { ShareButton } from '@/app/(landing)/components/share-button' + +interface ContentPostPageProps { + /** Route base path, e.g. `/blog` or `/library`. */ + basePath: string + /** Label for the back-to-index link, e.g. "Back to Blog". */ + backLabel: string + post: ContentPost + related: ContentMeta[] + graphJsonLd: Record + shareUrl: string +} + +/** + * Shared post-detail layout for a content section (blog or library): header + * with cover image/title/authors/share, MDX article body + FAQ, and related + * posts. Both sections render this exact layout, parameterized by `basePath`. + */ +export function ContentPostPage({ + basePath, + backLabel, + post, + related, + graphJsonLd, + shareUrl, +}: ContentPostPageProps) { + const Article = post.Content + + return ( +
+ +
+
+ +
+ +
+
+
+ {post.title} +
+
+
+
+

+ {post.title} +

+

+ {post.description} +

+
+
+ + +
+ {(post.authors || [post.author]).map((a) => ( +
+ {a?.avatarUrl ? ( + + + {a.name.slice(0, 2)} + + ) : null} + + {a?.name} + +
+ ))} +
+
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ {post.faq && post.faq.length > 0 ? : null} +
+
+ + {related.length > 0 && ( + <> +
+ + + )} +
+
+ +
+ + + + + {post.wordCount && } +
+ ) +} diff --git a/apps/sim/app/(landing)/components/content-post-page/index.ts b/apps/sim/app/(landing)/components/content-post-page/index.ts new file mode 100644 index 00000000000..dde5612e99f --- /dev/null +++ b/apps/sim/app/(landing)/components/content-post-page/index.ts @@ -0,0 +1,2 @@ +export { ContentPostLoading } from './content-post-loading' +export { ContentPostPage } from './content-post-page' diff --git a/apps/sim/app/(landing)/components/content-tags-page/content-tags-loading.tsx b/apps/sim/app/(landing)/components/content-tags-page/content-tags-loading.tsx new file mode 100644 index 00000000000..5a72c00dab6 --- /dev/null +++ b/apps/sim/app/(landing)/components/content-tags-page/content-tags-loading.tsx @@ -0,0 +1,21 @@ +import { Skeleton } from '@sim/emcn' + +const TAG_SKELETON_COUNT = 12 + +/** Shared loading skeleton for a content section's tags route. */ +export function ContentTagsLoading() { + return ( +
+ +
+ {Array.from({ length: TAG_SKELETON_COUNT }).map((_, i) => ( + + ))} +
+
+ ) +} diff --git a/apps/sim/app/(landing)/components/content-tags-page/content-tags-page.tsx b/apps/sim/app/(landing)/components/content-tags-page/content-tags-page.tsx new file mode 100644 index 00000000000..65f073ccdb2 --- /dev/null +++ b/apps/sim/app/(landing)/components/content-tags-page/content-tags-page.tsx @@ -0,0 +1,34 @@ +import { ChipLink } from '@sim/emcn' +import type { TagWithCount } from '@/lib/content/schema' +import { JsonLd } from '@/app/(landing)/components/json-ld' + +interface ContentTagsPageProps { + /** Route base path, e.g. `/blog` or `/library`. */ + basePath: string + tags: TagWithCount[] + breadcrumbJsonLd: Record +} + +/** Shared "browse by tag" layout for a content section. */ +export function ContentTagsPage({ basePath, tags, breadcrumbJsonLd }: ContentTagsPageProps) { + return ( +
+ +

Browse by tag

+
+ + All + + {tags.map((t) => ( + + {t.tag} ({t.count}) + + ))} +
+
+ ) +} diff --git a/apps/sim/app/(landing)/components/content-tags-page/index.ts b/apps/sim/app/(landing)/components/content-tags-page/index.ts new file mode 100644 index 00000000000..4411be701d5 --- /dev/null +++ b/apps/sim/app/(landing)/components/content-tags-page/index.ts @@ -0,0 +1,2 @@ +export { ContentTagsLoading } from './content-tags-loading' +export { ContentTagsPage } from './content-tags-page' diff --git a/apps/sim/app/(landing)/components/index.ts b/apps/sim/app/(landing)/components/index.ts index 2a2f7d32da8..91c35fb1e93 100644 --- a/apps/sim/app/(landing)/components/index.ts +++ b/apps/sim/app/(landing)/components/index.ts @@ -1,5 +1,10 @@ export { BackLink } from './back-link' export { ChevronArrow } from './chevron-arrow' +export { ContentAuthorLoading, ContentAuthorPage } from './content-author-page' +export { ContentImage } from './content-image' +export { ContentIndexLoading, ContentIndexPage } from './content-index-page' +export { ContentPostLoading, ContentPostPage } from './content-post-page' +export { ContentTagsLoading, ContentTagsPage } from './content-tags-page' export { Cta } from './cta/cta' export { Features } from './features' export { Footer } from './footer' @@ -9,6 +14,7 @@ export type { JsonLdData } from './json-ld' export { JsonLd } from './json-ld' export { LandingShell } from './landing-shell' export { Lifecycle } from './lifecycle' +export { Lightbox } from './lightbox' export { LogoShell } from './logo-shell' export { Mothership } from './mothership/mothership' export { Navbar } from './navbar' @@ -21,6 +27,7 @@ export type { } from './platform-page' export { PlatformPage } from './platform-page' export { ProductDemo } from './product-demo' +export { ShareButton } from './share-button' export { SiteStructuredData } from './site-structured-data' export type { SolutionsCardConfig, diff --git a/apps/sim/app/(landing)/components/lightbox/index.ts b/apps/sim/app/(landing)/components/lightbox/index.ts new file mode 100644 index 00000000000..1055bfa3ff7 --- /dev/null +++ b/apps/sim/app/(landing)/components/lightbox/index.ts @@ -0,0 +1 @@ +export { Lightbox } from './lightbox' diff --git a/apps/sim/app/(landing)/blog/components/lightbox.tsx b/apps/sim/app/(landing)/components/lightbox/lightbox.tsx similarity index 100% rename from apps/sim/app/(landing)/blog/components/lightbox.tsx rename to apps/sim/app/(landing)/components/lightbox/lightbox.tsx diff --git a/apps/sim/app/(landing)/components/navbar/components/nav-menu-chip/constants.ts b/apps/sim/app/(landing)/components/navbar/components/nav-menu-chip/constants.ts index 06b59cbcbd9..fc8bee83018 100644 --- a/apps/sim/app/(landing)/components/navbar/components/nav-menu-chip/constants.ts +++ b/apps/sim/app/(landing)/components/navbar/components/nav-menu-chip/constants.ts @@ -41,7 +41,7 @@ export const PLATFORM_MENU: NavMenu = { } /** - * The Resources menu - learning and reference surfaces. Five items in a + * The Resources menu - learning and reference surfaces. Six items in a * three-column grid. Docs is the one off-site link. */ export const RESOURCES_MENU: NavMenu = { @@ -58,6 +58,11 @@ export const RESOURCES_MENU: NavMenu = { description: 'Ideas, news, and deep dives', href: '/blog', }, + { + title: 'Library', + description: 'Comparisons, how-tos, and roundups', + href: '/library', + }, { title: 'Changelog', description: 'Everything we just shipped', diff --git a/apps/sim/app/(landing)/components/share-button/index.ts b/apps/sim/app/(landing)/components/share-button/index.ts new file mode 100644 index 00000000000..fe125f6b40c --- /dev/null +++ b/apps/sim/app/(landing)/components/share-button/index.ts @@ -0,0 +1 @@ +export { ShareButton } from './share-button' diff --git a/apps/sim/app/(landing)/blog/[slug]/share-button.tsx b/apps/sim/app/(landing)/components/share-button/share-button.tsx similarity index 100% rename from apps/sim/app/(landing)/blog/[slug]/share-button.tsx rename to apps/sim/app/(landing)/components/share-button/share-button.tsx diff --git a/apps/sim/app/(landing)/library/[slug]/loading.tsx b/apps/sim/app/(landing)/library/[slug]/loading.tsx new file mode 100644 index 00000000000..286bbb590ca --- /dev/null +++ b/apps/sim/app/(landing)/library/[slug]/loading.tsx @@ -0,0 +1,5 @@ +import { ContentPostLoading } from '@/app/(landing)/components' + +export default function LibraryPostLoading() { + return +} diff --git a/apps/sim/app/(landing)/library/[slug]/page.tsx b/apps/sim/app/(landing)/library/[slug]/page.tsx new file mode 100644 index 00000000000..bd8de683cc0 --- /dev/null +++ b/apps/sim/app/(landing)/library/[slug]/page.tsx @@ -0,0 +1,41 @@ +import type { Metadata } from 'next' +import { getBaseUrl } from '@/lib/core/utils/urls' +import { getAllPostMeta, getPostBySlug, getRelatedPosts } from '@/lib/library/registry' +import { buildPostGraphJsonLd, buildPostMetadata, LIBRARY_SECTION } from '@/lib/library/seo' +import { ContentPostPage } from '@/app/(landing)/components' + +export const dynamicParams = false + +export async function generateStaticParams() { + const posts = await getAllPostMeta() + return posts.map((p) => ({ slug: p.slug })) +} + +export async function generateMetadata({ + params, +}: { + params: Promise<{ slug: string }> +}): Promise { + const { slug } = await params + const post = await getPostBySlug(slug) + return buildPostMetadata(post) +} + +export const revalidate = 86400 + +export default async function Page({ params }: { params: Promise<{ slug: string }> }) { + const { slug } = await params + const post = await getPostBySlug(slug) + const related = await getRelatedPosts(slug, 3) + + return ( + + ) +} diff --git a/apps/sim/app/(landing)/library/authors/[id]/loading.tsx b/apps/sim/app/(landing)/library/authors/[id]/loading.tsx new file mode 100644 index 00000000000..315e1bad6d0 --- /dev/null +++ b/apps/sim/app/(landing)/library/authors/[id]/loading.tsx @@ -0,0 +1,5 @@ +import { ContentAuthorLoading } from '@/app/(landing)/components' + +export default function AuthorLoading() { + return +} diff --git a/apps/sim/app/(landing)/library/authors/[id]/page.tsx b/apps/sim/app/(landing)/library/authors/[id]/page.tsx new file mode 100644 index 00000000000..6462c378525 --- /dev/null +++ b/apps/sim/app/(landing)/library/authors/[id]/page.tsx @@ -0,0 +1,32 @@ +import type { Metadata } from 'next' +import { getAllPostMeta } from '@/lib/library/registry' +import { buildAuthorGraphJsonLd, buildAuthorMetadata, LIBRARY_SECTION } from '@/lib/library/seo' +import { ContentAuthorPage } from '@/app/(landing)/components' + +export const revalidate = 3600 + +export async function generateMetadata({ + params, +}: { + params: Promise<{ id: string }> +}): Promise { + const { id } = await params + const posts = (await getAllPostMeta()).filter((p) => p.author.id === id) + return buildAuthorMetadata(id, posts[0]?.author) +} + +export default async function AuthorPage({ params }: { params: Promise<{ id: string }> }) { + const { id } = await params + const posts = (await getAllPostMeta()).filter((p) => p.author.id === id) + const author = posts[0]?.author + + return ( + + ) +} diff --git a/apps/sim/app/(landing)/library/layout.tsx b/apps/sim/app/(landing)/library/layout.tsx new file mode 100644 index 00000000000..f2b8be62288 --- /dev/null +++ b/apps/sim/app/(landing)/library/layout.tsx @@ -0,0 +1,11 @@ +import type { ReactNode } from 'react' + +/** + * Library route segment. The shared landing layout owns the chrome (navbar, + * footer, site-wide JSON-LD, scroll port); this layout only provides the + * `
` landmark for every library page. Library pages emit their own + * page-specific JSON-LD. + */ +export default function LibraryLayout({ children }: { children: ReactNode }) { + return
{children}
+} diff --git a/apps/sim/app/(landing)/library/loading.tsx b/apps/sim/app/(landing)/library/loading.tsx new file mode 100644 index 00000000000..33e11cb90b6 --- /dev/null +++ b/apps/sim/app/(landing)/library/loading.tsx @@ -0,0 +1,5 @@ +import { ContentIndexLoading } from '@/app/(landing)/components' + +export default function LibraryLoading() { + return +} diff --git a/apps/sim/app/(landing)/library/page.tsx b/apps/sim/app/(landing)/library/page.tsx new file mode 100644 index 00000000000..7102cba4472 --- /dev/null +++ b/apps/sim/app/(landing)/library/page.tsx @@ -0,0 +1,41 @@ +import type { Metadata } from 'next' +import { getAllPostMeta } from '@/lib/library/registry' +import { buildCollectionPageJsonLd, buildIndexMetadata, LIBRARY_SECTION } from '@/lib/library/seo' +import { ContentIndexPage } from '@/app/(landing)/components' + +/** + * Filtered/paginated variants render genuinely different lists, but only the + * bare index is indexable — see `buildIndexMetadata` in `@/lib/content/seo` + * for the shared noindex policy. + */ +export async function generateMetadata({ + searchParams, +}: { + searchParams: Promise<{ page?: string; tag?: string }> +}): Promise { + const { page, tag } = await searchParams + const pageNum = Math.max(1, Number(page || 1)) + return buildIndexMetadata({ tag, pageNum }) +} + +export default async function LibraryIndex({ + searchParams, +}: { + searchParams: Promise<{ page?: string; tag?: string }> +}) { + const { page, tag } = await searchParams + const pageNum = Math.max(1, Number(page || 1)) + const posts = await getAllPostMeta() + + return ( + + ) +} diff --git a/apps/sim/app/(landing)/library/rss.xml/route.ts b/apps/sim/app/(landing)/library/rss.xml/route.ts new file mode 100644 index 00000000000..4e96968c270 --- /dev/null +++ b/apps/sim/app/(landing)/library/rss.xml/route.ts @@ -0,0 +1,49 @@ +import { NextResponse } from 'next/server' +import { latestModified } from '@/lib/content/utils' +import { SITE_URL } from '@/lib/core/utils/urls' +import { getAllPostMeta } from '@/lib/library/registry' +import { LIBRARY_SECTION } from '@/lib/library/seo' + +export const revalidate = 3600 + +export async function GET() { + const posts = await getAllPostMeta() + const items = posts.slice(0, 50) + const site = SITE_URL + const lastBuildDate = (latestModified(items) ?? new Date()).toUTCString() + + const xml = ` + + + Sim ${LIBRARY_SECTION.name} + ${site} + ${LIBRARY_SECTION.description} + en-us + ${lastBuildDate} + + ${items + .map( + (p) => ` + + <![CDATA[${p.title}]]> + ${p.canonical} + ${p.canonical} + ${new Date(p.date).toUTCString()} + + ${(p.authors || [p.author]) + .map((a) => ``) + .join('\n')} + ${p.tags.map((t) => ``).join('\n ')} + ` + ) + .join('')} + +` + + return new NextResponse(xml, { + headers: { + 'Content-Type': 'application/xml; charset=utf-8', + 'Cache-Control': 'public, s-maxage=3600, stale-while-revalidate=86400', + }, + }) +} diff --git a/apps/sim/app/(landing)/library/sitemap-images.xml/route.ts b/apps/sim/app/(landing)/library/sitemap-images.xml/route.ts new file mode 100644 index 00000000000..d97c02b2734 --- /dev/null +++ b/apps/sim/app/(landing)/library/sitemap-images.xml/route.ts @@ -0,0 +1,31 @@ +import { NextResponse } from 'next/server' +import { SITE_URL } from '@/lib/core/utils/urls' +import { getAllPostMeta } from '@/lib/library/registry' + +export const revalidate = 3600 + +export async function GET() { + const posts = await getAllPostMeta() + const base = SITE_URL + const xml = ` + +${posts + .map( + (p) => ` + ${p.canonical} + + ${p.ogImage.startsWith('http') ? p.ogImage : `${base}${p.ogImage}`} + + + +` + ) + .join('\n')} +` + return new NextResponse(xml, { + headers: { + 'Content-Type': 'application/xml; charset=utf-8', + 'Cache-Control': 'public, s-maxage=3600, stale-while-revalidate=86400', + }, + }) +} diff --git a/apps/sim/app/(landing)/library/tags/loading.tsx b/apps/sim/app/(landing)/library/tags/loading.tsx new file mode 100644 index 00000000000..1fbabbbd995 --- /dev/null +++ b/apps/sim/app/(landing)/library/tags/loading.tsx @@ -0,0 +1,5 @@ +import { ContentTagsLoading } from '@/app/(landing)/components' + +export default function TagsLoading() { + return +} diff --git a/apps/sim/app/(landing)/library/tags/page.tsx b/apps/sim/app/(landing)/library/tags/page.tsx new file mode 100644 index 00000000000..d676392e229 --- /dev/null +++ b/apps/sim/app/(landing)/library/tags/page.tsx @@ -0,0 +1,17 @@ +import type { Metadata } from 'next' +import { getAllTags } from '@/lib/library/registry' +import { buildTagsBreadcrumbJsonLd, buildTagsMetadata, LIBRARY_SECTION } from '@/lib/library/seo' +import { ContentTagsPage } from '@/app/(landing)/components' + +export const metadata: Metadata = buildTagsMetadata() + +export default async function TagsIndex() { + const tags = await getAllTags() + return ( + + ) +} diff --git a/apps/sim/app/robots.ts b/apps/sim/app/robots.ts index ca4b523265f..291cf1c8a46 100644 --- a/apps/sim/app/robots.ts +++ b/apps/sim/app/robots.ts @@ -16,6 +16,10 @@ const DISALLOWED_PATHS = [ export default function robots(): MetadataRoute.Robots { return { rules: { userAgent: '*', allow: '/', disallow: DISALLOWED_PATHS }, - sitemap: [`${SITE_URL}/sitemap.xml`, `${SITE_URL}/blog/sitemap-images.xml`], + sitemap: [ + `${SITE_URL}/sitemap.xml`, + `${SITE_URL}/blog/sitemap-images.xml`, + `${SITE_URL}/library/sitemap-images.xml`, + ], } } diff --git a/apps/sim/app/sitemap.ts b/apps/sim/app/sitemap.ts index b012c01d4b0..30f3c91042c 100644 --- a/apps/sim/app/sitemap.ts +++ b/apps/sim/app/sitemap.ts @@ -1,7 +1,10 @@ import type { MetadataRoute } from 'next' -import { getAllPostMeta } from '@/lib/blog/registry' +import { getAllPostMeta as getAllBlogPostMeta } from '@/lib/blog/registry' +import type { ContentMeta } from '@/lib/content/schema' +import { latestModified } from '@/lib/content/utils' import { SITE_URL } from '@/lib/core/utils/urls' import { INTEGRATIONS, INTEGRATIONS_UPDATED_AT } from '@/lib/integrations' +import { getAllPostMeta as getAllLibraryPostMeta } from '@/lib/library/registry' import { ALL_COMPETITORS, getLatestVerifiedDate, @@ -9,22 +12,38 @@ import { } from '@/app/(landing)/comparison/utils' import { ALL_CATALOG_MODELS, MODEL_PROVIDERS_WITH_CATALOGS } from '@/app/(landing)/models/utils' +/** One sitemap entry per author, timestamped by their most recently updated post. */ +function buildAuthorPages(posts: ContentMeta[], basePath: string): MetadataRoute.Sitemap { + const authorsMap = new Map() + for (const p of posts) { + for (const author of p.authors ?? [p.author]) { + const postDate = new Date(p.updated ?? p.date) + const existing = authorsMap.get(author.id) + if (!existing || postDate > existing) { + authorsMap.set(author.id, postDate) + } + } + } + return [...authorsMap.entries()].map(([id, date]) => ({ + url: `${SITE_URL}${basePath}/authors/${id}`, + lastModified: date, + })) +} + /** * Generate the public sitemap by composing static landing pages with the - * dynamic catalogs (blog posts, authors, integrations, model providers, and - * individual models). Per-integration entries are emitted under - * `/integrations/{slug}` to match the landing route at + * dynamic catalogs (blog posts, library posts, authors, integrations, model + * providers, and individual models). Per-integration entries are emitted + * under `/integrations/{slug}` to match the landing route at * `app/(landing)/integrations/[slug]`; slugs are guaranteed unique * by the catalog generator in `scripts/generate-docs.ts`. */ export default async function sitemap(): Promise { const baseUrl = SITE_URL - const posts = await getAllPostMeta() + const [posts, libraryPosts] = await Promise.all([getAllBlogPostMeta(), getAllLibraryPostMeta()]) - const latestPostDate = - posts.length > 0 - ? new Date(Math.max(...posts.map((p) => new Date(p.updated ?? p.date).getTime()))) - : undefined + const latestPostDateValue = latestModified(posts) + const latestLibraryPostDate = latestModified(libraryPosts) const modelTimes = MODEL_PROVIDERS_WITH_CATALOGS.flatMap((provider) => provider.models.map((model) => new Date(model.pricing.updatedAt).getTime()) @@ -72,15 +91,23 @@ export default async function sitemap(): Promise { }, { url: `${baseUrl}/blog`, - lastModified: latestPostDate, + lastModified: latestPostDateValue, }, { url: `${baseUrl}/blog/tags`, - lastModified: latestPostDate, + lastModified: latestPostDateValue, + }, + { + url: `${baseUrl}/library`, + lastModified: latestLibraryPostDate, + }, + { + url: `${baseUrl}/library/tags`, + lastModified: latestLibraryPostDate, }, { url: `${baseUrl}/changelog`, - lastModified: latestPostDate, + lastModified: latestPostDateValue, }, { url: `${baseUrl}/integrations`, @@ -104,21 +131,13 @@ export default async function sitemap(): Promise { url: p.canonical, lastModified: new Date(p.updated ?? p.date), })) + const authorPages = buildAuthorPages(posts, '/blog') - const authorsMap = new Map() - for (const p of posts) { - for (const author of p.authors ?? [p.author]) { - const postDate = new Date(p.updated ?? p.date) - const existing = authorsMap.get(author.id) - if (!existing || postDate > existing) { - authorsMap.set(author.id, postDate) - } - } - } - const authorPages: MetadataRoute.Sitemap = [...authorsMap.entries()].map(([id, date]) => ({ - url: `${baseUrl}/blog/authors/${id}`, - lastModified: date, + const libraryPages: MetadataRoute.Sitemap = libraryPosts.map((p) => ({ + url: p.canonical, + lastModified: new Date(p.updated ?? p.date), })) + const libraryAuthorPages = buildAuthorPages(libraryPosts, '/library') const integrationPages: MetadataRoute.Sitemap = INTEGRATIONS.map((integration) => ({ url: `${baseUrl}/integrations/${integration.slug}`, @@ -164,6 +183,8 @@ export default async function sitemap(): Promise { ...staticPages, ...blogPages, ...authorPages, + ...libraryPages, + ...libraryAuthorPages, ...integrationPages, ...providerPages, ...modelEntries, diff --git a/apps/sim/content/authors/emir.json b/apps/sim/content/authors/emir.json index 38d2fb84fc1..02839fe94e9 100644 --- a/apps/sim/content/authors/emir.json +++ b/apps/sim/content/authors/emir.json @@ -3,5 +3,5 @@ "name": "Emir Karabeg", "url": "https://x.com/emkara", "xHandle": "emkara", - "avatarUrl": "/blog/authors/emir.jpg" + "avatarUrl": "/authors/emir.jpg" } diff --git a/apps/sim/content/authors/sid.json b/apps/sim/content/authors/sid.json index e799abd0151..46f4a1f907b 100644 --- a/apps/sim/content/authors/sid.json +++ b/apps/sim/content/authors/sid.json @@ -3,5 +3,5 @@ "name": "Siddharth", "url": "https://x.com/sidganesan", "xHandle": "sidganesan", - "avatarUrl": "/blog/authors/sid.jpg" + "avatarUrl": "/authors/sid.jpg" } diff --git a/apps/sim/content/authors/vik.json b/apps/sim/content/authors/vik.json index 5b514fd51a2..cf3d231bc7a 100644 --- a/apps/sim/content/authors/vik.json +++ b/apps/sim/content/authors/vik.json @@ -3,5 +3,5 @@ "name": "Vikhyath Mondreti", "url": "https://github.com/icecrasher321", "xHandle": "icecrasher321", - "avatarUrl": "/blog/authors/vik.jpg" + "avatarUrl": "/authors/vik.jpg" } diff --git a/apps/sim/content/authors/waleed.json b/apps/sim/content/authors/waleed.json index 4fe2ca33554..23bcea3d5c5 100644 --- a/apps/sim/content/authors/waleed.json +++ b/apps/sim/content/authors/waleed.json @@ -3,5 +3,5 @@ "name": "Waleed Latif", "url": "https://x.com/typingwala", "xHandle": "typingwala", - "avatarUrl": "/blog/authors/waleed.jpg" + "avatarUrl": "/authors/waleed.jpg" } diff --git a/apps/sim/content/blog/ai-agent-ideas/index.mdx b/apps/sim/content/library/ai-agent-ideas/index.mdx similarity index 99% rename from apps/sim/content/blog/ai-agent-ideas/index.mdx rename to apps/sim/content/library/ai-agent-ideas/index.mdx index fc73b0171dd..575a830fc22 100644 --- a/apps/sim/content/blog/ai-agent-ideas/index.mdx +++ b/apps/sim/content/library/ai-agent-ideas/index.mdx @@ -8,8 +8,8 @@ authors: - emir readingTime: 14 tags: [AI Agents, Use Cases, Automation, Sim] -ogImage: /blog/ai-agent-ideas/cover.jpg -canonical: https://www.sim.ai/blog/ai-agent-ideas +ogImage: /library/ai-agent-ideas/cover.jpg +canonical: https://www.sim.ai/library/ai-agent-ideas draft: false --- diff --git a/apps/sim/content/blog/ai-agent-vs-chatbot/index.mdx b/apps/sim/content/library/ai-agent-vs-chatbot/index.mdx similarity index 99% rename from apps/sim/content/blog/ai-agent-vs-chatbot/index.mdx rename to apps/sim/content/library/ai-agent-vs-chatbot/index.mdx index 3190acf3c83..3467e946268 100644 --- a/apps/sim/content/blog/ai-agent-vs-chatbot/index.mdx +++ b/apps/sim/content/library/ai-agent-vs-chatbot/index.mdx @@ -8,8 +8,8 @@ authors: - emir readingTime: 13 tags: [AI Agents, Chatbots, AI Workspace, Sim] -ogImage: /blog/ai-agent-vs-chatbot/cover.jpg -canonical: https://www.sim.ai/blog/ai-agent-vs-chatbot +ogImage: /library/ai-agent-vs-chatbot/cover.jpg +canonical: https://www.sim.ai/library/ai-agent-vs-chatbot draft: false --- diff --git a/apps/sim/content/blog/ai-agents-vs-rpa/index.mdx b/apps/sim/content/library/ai-agents-vs-rpa/index.mdx similarity index 99% rename from apps/sim/content/blog/ai-agents-vs-rpa/index.mdx rename to apps/sim/content/library/ai-agents-vs-rpa/index.mdx index 18728ceac4d..9c5122f30fb 100644 --- a/apps/sim/content/blog/ai-agents-vs-rpa/index.mdx +++ b/apps/sim/content/library/ai-agents-vs-rpa/index.mdx @@ -8,8 +8,8 @@ authors: - emir readingTime: 13 tags: [AI Agents, RPA, Enterprise Automation, Sim] -ogImage: /blog/ai-agents-vs-rpa/cover.jpg -canonical: https://www.sim.ai/blog/ai-agents-vs-rpa +ogImage: /library/ai-agents-vs-rpa/cover.jpg +canonical: https://www.sim.ai/library/ai-agents-vs-rpa draft: false --- diff --git a/apps/sim/content/blog/best-zapier-alternatives/index.mdx b/apps/sim/content/library/best-zapier-alternatives/index.mdx similarity index 99% rename from apps/sim/content/blog/best-zapier-alternatives/index.mdx rename to apps/sim/content/library/best-zapier-alternatives/index.mdx index ff175bf9161..357095ce1a7 100644 --- a/apps/sim/content/blog/best-zapier-alternatives/index.mdx +++ b/apps/sim/content/library/best-zapier-alternatives/index.mdx @@ -8,8 +8,8 @@ authors: - emir readingTime: 14 tags: [Zapier Alternatives, Workflow Automation, AI Agents, Sim] -ogImage: /blog/best-zapier-alternatives/cover.jpg -canonical: https://www.sim.ai/blog/best-zapier-alternatives +ogImage: /library/best-zapier-alternatives/cover.jpg +canonical: https://www.sim.ai/library/best-zapier-alternatives draft: false --- diff --git a/apps/sim/content/blog/how-to-create-an-ai-agent/index.mdx b/apps/sim/content/library/how-to-create-an-ai-agent/index.mdx similarity index 99% rename from apps/sim/content/blog/how-to-create-an-ai-agent/index.mdx rename to apps/sim/content/library/how-to-create-an-ai-agent/index.mdx index a28cd2e28e9..5bf70e1c60a 100644 --- a/apps/sim/content/blog/how-to-create-an-ai-agent/index.mdx +++ b/apps/sim/content/library/how-to-create-an-ai-agent/index.mdx @@ -8,8 +8,8 @@ authors: - waleed readingTime: 13 tags: [AI Agents, Tutorial, No-Code, Sim, Workflow Automation] -ogImage: /blog/how-to-create-an-ai-agent/cover.jpg -canonical: https://www.sim.ai/blog/how-to-create-an-ai-agent +ogImage: /library/how-to-create-an-ai-agent/cover.jpg +canonical: https://www.sim.ai/library/how-to-create-an-ai-agent draft: false --- diff --git a/apps/sim/content/blog/openai-vs-n8n-vs-sim/index.mdx b/apps/sim/content/library/openai-vs-n8n-vs-sim/index.mdx similarity index 95% rename from apps/sim/content/blog/openai-vs-n8n-vs-sim/index.mdx rename to apps/sim/content/library/openai-vs-n8n-vs-sim/index.mdx index 86b071ab6cb..49f47b4daae 100644 --- a/apps/sim/content/blog/openai-vs-n8n-vs-sim/index.mdx +++ b/apps/sim/content/library/openai-vs-n8n-vs-sim/index.mdx @@ -8,8 +8,8 @@ authors: - emir readingTime: 9 tags: [AI Agents, Workflow Automation, OpenAI AgentKit, n8n, Sim, MCP] -ogImage: /blog/openai-vs-n8n-vs-sim/cover.jpg -canonical: https://www.sim.ai/blog/openai-vs-n8n-vs-sim +ogImage: /library/openai-vs-n8n-vs-sim/cover.jpg +canonical: https://www.sim.ai/library/openai-vs-n8n-vs-sim draft: false --- @@ -19,7 +19,7 @@ When building AI agent workflows, developers often evaluate multiple platforms t OpenAI AgentKit is a set of building blocks designed to help developers take AI agents from prototype to production. Built on top of the OpenAI Responses API, it provides a structured approach to building and deploying intelligent agents. -![OpenAI AgentKit workflow interface](/blog/openai-vs-n8n-vs-sim/openai.png) +![OpenAI AgentKit workflow interface](/library/openai-vs-n8n-vs-sim/openai.png) ### Core Features @@ -31,7 +31,7 @@ AgentKit provides a visual canvas where developers can design and build agents. ChatKit enables developers to embed chat interfaces to run workflows directly within their applications. It includes custom widgets that you can create and integrate, with the ability to preview interfaces right in the workflow builder before deployment. -![OpenAI AgentKit custom widgets interface](/blog/openai-vs-n8n-vs-sim/widgets.png) +![OpenAI AgentKit custom widgets interface](/library/openai-vs-n8n-vs-sim/widgets.png) #### Comprehensive Evaluation System @@ -65,7 +65,7 @@ While AgentKit is powerful for building agents, it has some limitations: n8n is a workflow automation platform that excels at connecting various services and APIs together. While it started as a general automation tool, n8n has evolved to support AI agent workflows alongside its traditional integration capabilities. -![n8n workflow automation interface](/blog/openai-vs-n8n-vs-sim/n8n.png) +![n8n workflow automation interface](/library/openai-vs-n8n-vs-sim/n8n.png) ### Core Capabilities @@ -117,13 +117,13 @@ Sim is a fully open-source platform (Apache 2.0 license) specifically designed f Sim provides an intuitive drag-and-drop canvas where developers can build complex AI agent workflows visually. The platform supports sophisticated agent architectures, including multi-agent systems, conditional logic, loops, and parallel execution paths. Additionally, Sim's built-in AI Copilot can assist you directly in the editor, helping you build and modify workflows faster with intelligent suggestions and explanations. -![Sim visual workflow builder with AI agent blocks](/blog/openai-vs-n8n-vs-sim/sim.png) +![Sim visual workflow builder with AI agent blocks](/library/openai-vs-n8n-vs-sim/sim.png) #### AI Copilot for Workflow Building Sim includes an intelligent in-editor AI assistant that helps you build and edit workflows faster. Copilot can explain complex concepts, suggest best practices, and even make changes to your workflow when you approve them. Using the @ context menu, you can reference workflows, blocks, knowledge bases, documentation, and execution logs—giving Copilot the full context it needs to provide accurate, relevant assistance. This dramatically accelerates workflow development compared to building from scratch. -![Sim AI Copilot assisting with workflow development](/blog/openai-vs-n8n-vs-sim/copilot.png) +![Sim AI Copilot assisting with workflow development](/library/openai-vs-n8n-vs-sim/copilot.png) #### 80+ Built-in Integrations @@ -149,7 +149,7 @@ Sim's native knowledge base goes far beyond simple document storage. Powered by Sim provides enterprise-grade logging that captures every detail of workflow execution. Track workflow runs with execution IDs, view block-level logs with precise timing and duration metrics, monitor token usage and costs per execution, and debug failures with detailed error traces and trace spans. The logging system integrates with Copilot—you can reference execution logs directly in your Copilot conversations to understand what happened and troubleshoot issues. This level of observability is essential for production AI agents where understanding behavior and debugging issues quickly is critical. -![Sim execution logs and monitoring dashboard](/blog/openai-vs-n8n-vs-sim/logs.png) +![Sim execution logs and monitoring dashboard](/library/openai-vs-n8n-vs-sim/logs.png) #### Custom Integrations via MCP Protocol diff --git a/apps/sim/lib/blog/registry.ts b/apps/sim/lib/blog/registry.ts index 04b3b25cfa7..ff766e02d7f 100644 --- a/apps/sim/lib/blog/registry.ts +++ b/apps/sim/lib/blog/registry.ts @@ -1,221 +1,24 @@ -import fs from 'fs/promises' import path from 'path' -import { cache } from 'react' -import matter from 'gray-matter' -import { compileMDX } from 'next-mdx-remote/rsc' -import rehypeAutolinkHeadings from 'rehype-autolink-headings' -import rehypeSlug from 'rehype-slug' -import remarkGfm from 'remark-gfm' -import { mdxComponents } from '@/lib/blog/mdx' -import type { BlogMeta, BlogPost, TagWithCount } from '@/lib/blog/schema' -import { AuthorSchema, BlogFrontmatterSchema } from '@/lib/blog/schema' -import { AUTHORS_DIR, BLOG_DIR, byDateDesc, ensureContentDirs, toIsoDate } from '@/lib/blog/utils' +import { createContentRegistry } from '@/lib/content/registry-factory' -const postComponentsRegistry: Record> = {} +const BLOG_DIR = path.join(process.cwd(), 'content', 'blog') +const AUTHORS_DIR = path.join(process.cwd(), 'content', 'authors') -let cachedMeta: BlogMeta[] | null = null -let cachedAuthors: Record | null = null - -async function loadAuthors(): Promise> { - if (cachedAuthors) return cachedAuthors - await ensureContentDirs() - const files = await fs.readdir(AUTHORS_DIR).catch(() => []) - const authors: Record = {} - for (const file of files) { - if (!file.endsWith('.json')) continue - const raw = await fs.readFile(path.join(AUTHORS_DIR, file), 'utf-8') - const json = JSON.parse(raw) - const author = AuthorSchema.parse(json) - authors[author.id] = author - } - cachedAuthors = authors - return authors -} - -function slugify(text: string): string { - return text - .toLowerCase() - .trim() - .replace(/[^a-z0-9\s-]/g, '') - .replace(/\s+/g, '-') -} - -async function scanFrontmatters(): Promise { - if (cachedMeta) { - return cachedMeta - } - await ensureContentDirs() - const entries = await fs.readdir(BLOG_DIR).catch(() => []) - const authorsMap = await loadAuthors() - const results = await Promise.all( - entries.map(async (slug): Promise => { - const postDir = path.join(BLOG_DIR, slug) - const stat = await fs.stat(postDir).catch(() => null) - if (!stat || !stat.isDirectory()) return null - const mdxPath = path.join(postDir, 'index.mdx') - const hasMdx = await fs - .stat(mdxPath) - .then((s) => s.isFile()) - .catch(() => false) - if (!hasMdx) return null - const raw = await fs.readFile(mdxPath, 'utf-8') - const { data, content: mdxContent } = matter(raw) - const fm = BlogFrontmatterSchema.parse(data) - const wordCount = mdxContent - .replace(/```[\s\S]*?```/g, '') - .replace(/import\s+.*?from\s+['"].*?['"]/g, '') - .replace(/<[^>]+>/g, '') - .replace(/[#*_~`[\]()!|>-]/g, '') - .split(/\s+/) - .filter((w) => w.length > 0).length - const authors = fm.authors.map((id) => authorsMap[id]).filter(Boolean) - if (authors.length === 0) throw new Error(`Authors not found for "${slug}"`) - return { - slug: fm.slug, - title: fm.title, - description: fm.description, - date: toIsoDate(fm.date), - updated: fm.updated ? toIsoDate(fm.updated) : undefined, - author: authors[0], - authors, - readingTime: fm.readingTime, - tags: fm.tags, - ogImage: fm.ogImage, - canonical: fm.canonical, - ogAlt: fm.ogAlt, - about: fm.about, - timeRequired: fm.timeRequired, - faq: fm.faq, - wordCount, - draft: fm.draft, - featured: fm.featured ?? false, - } - }) - ) - cachedMeta = results.filter((result): result is BlogMeta => result !== null).sort(byDateDesc) - return cachedMeta -} - -export async function getAllPostMeta(): Promise { - return (await scanFrontmatters()).filter((p) => !p.draft) -} - -export const getNavBlogPosts = cache( - async (): Promise[]> => { - const allPosts = await getAllPostMeta() - const featuredPost = allPosts.find((p) => p.featured) ?? allPosts[0] - if (!featuredPost) return [] - const recentPosts = allPosts.filter((p) => p.slug !== featuredPost.slug).slice(0, 5) - return [featuredPost, ...recentPosts].map((p) => ({ - slug: p.slug, - title: p.title, - ogImage: p.ogImage, - })) - } -) - -export async function getAllTags(): Promise { - const posts = await getAllPostMeta() - const counts: Record = {} - for (const p of posts) { - for (const t of p.tags) counts[t] = (counts[t] || 0) + 1 - } - return Object.entries(counts) - .map(([tag, count]) => ({ tag, count })) - .sort((a, b) => b.count - a.count || a.tag.localeCompare(b.tag)) -} - -// eslint-disable-next-line @typescript-eslint/no-explicit-any -const BLOG_COMPONENT_LOADERS: Record< - string, - () => Promise>> -> = { +/** Posts that ship custom MDX component overrides alongside their content. */ +const BLOG_COMPONENT_LOADERS = { enterprise: () => import('@/content/blog/enterprise/components'), 'v0-5': () => import('@/content/blog/v0-5/components'), } -async function loadPostComponents(slug: string): Promise> { - if (postComponentsRegistry[slug]) { - return postComponentsRegistry[slug] - } - - const loader = BLOG_COMPONENT_LOADERS[slug] - if (!loader) { - postComponentsRegistry[slug] = {} - return {} - } - - try { - const postComponents = await loader() - postComponentsRegistry[slug] = postComponents - return postComponents - } catch { - postComponentsRegistry[slug] = {} - return {} - } -} - -export async function getPostBySlug(slug: string): Promise { - const meta = await scanFrontmatters() - const found = meta.find((m) => m.slug === slug) - if (!found) throw new Error(`Post not found: ${slug}`) - const mdxPath = path.join(BLOG_DIR, slug, 'index.mdx') - const raw = await fs.readFile(mdxPath, 'utf-8') - const { content, data } = matter(raw) - const fm = BlogFrontmatterSchema.parse(data) - - const postComponents = await loadPostComponents(slug) - const mergedComponents = { ...mdxComponents, ...postComponents } +const blogRegistry = createContentRegistry({ + contentDir: BLOG_DIR, + authorsDir: AUTHORS_DIR, + componentLoaders: BLOG_COMPONENT_LOADERS, +}) - const compiled = await compileMDX({ - source: content, - components: mergedComponents as any, - options: { - parseFrontmatter: false, - mdxOptions: { - remarkPlugins: [remarkGfm], - rehypePlugins: [ - rehypeSlug, - [rehypeAutolinkHeadings, { behavior: 'wrap', properties: { className: 'anchor' } }], - ], - }, - }, - }) - const headings: { text: string; id: string }[] = [] - const lines = content.split('\n') - for (const line of lines) { - const match = /^##\s+(.+)$/.exec(line.trim()) - if (match) { - const text = match[1].trim() - headings.push({ text, id: slugify(text) }) - } - } - return { - ...found, - Content: () => (compiled as any).content, - updated: fm.updated ? toIsoDate(fm.updated) : found.updated, - headings, - } -} - -export function invalidateBlogCaches() { - cachedMeta = null - cachedAuthors = null - Object.keys(postComponentsRegistry).forEach((key) => delete postComponentsRegistry[key]) -} - -export async function getRelatedPosts(slug: string, limit = 3): Promise { - const posts = await getAllPostMeta() - const current = posts.find((p) => p.slug === slug) - if (!current) return [] - const others = posts.filter((p) => p.slug !== slug) - const scored = others - .map((p) => ({ - post: p, - score: p.tags.filter((t) => current.tags.includes(t)).length, - })) - .sort((a, b) => b.score - a.score || byDateDesc(a.post, b.post)) - .slice(0, limit) - .map((x) => x.post) - return scored -} +export const getAllPostMeta = blogRegistry.getAllPostMeta +export const getPostBySlug = blogRegistry.getPostBySlug +export const getAllTags = blogRegistry.getAllTags +export const getRelatedPosts = blogRegistry.getRelatedPosts +export const getNavBlogPosts = blogRegistry.getNavPosts +export const invalidateBlogCaches = blogRegistry.invalidateCaches diff --git a/apps/sim/lib/blog/seo.ts b/apps/sim/lib/blog/seo.ts index a3fbd3f520e..3ed28831504 100644 --- a/apps/sim/lib/blog/seo.ts +++ b/apps/sim/lib/blog/seo.ts @@ -1,172 +1,50 @@ -import type { Metadata } from 'next' -import type { BlogMeta } from '@/lib/blog/schema' -import { SITE_URL } from '@/lib/core/utils/urls' - -export function buildPostMetadata(post: BlogMeta): Metadata { - const base = new URL(post.canonical) - const baseUrl = `${base.protocol}//${base.host}` - return { - title: post.title, - description: post.description, - keywords: post.tags, - authors: (post.authors && post.authors.length > 0 ? post.authors : [post.author]).map((a) => ({ - name: a.name, - url: a.url, - })), - creator: post.author.name, - publisher: 'Sim', - robots: post.draft - ? { index: false, follow: false, googleBot: { index: false, follow: false } } - : { index: true, follow: true, googleBot: { index: true, follow: true } }, - alternates: { canonical: post.canonical }, - openGraph: { - title: post.title, - description: post.description, - url: post.canonical, - siteName: 'Sim', - locale: 'en_US', - type: 'article', - publishedTime: post.date, - modifiedTime: post.updated ?? post.date, - authors: (post.authors && post.authors.length > 0 ? post.authors : [post.author]).map( - (a) => a.name - ), - tags: post.tags, - images: [ - { - url: post.ogImage.startsWith('http') ? post.ogImage : `${baseUrl}${post.ogImage}`, - width: 1200, - height: 630, - alt: post.ogAlt || post.title, - }, - ], - }, - twitter: { - card: 'summary_large_image', - title: post.title, - description: post.description, - images: [post.ogImage], - creator: post.author.url?.includes('x.com') ? `@${post.author.xHandle || ''}` : undefined, - site: '@simdotai', - }, - other: { - 'article:published_time': post.date, - 'article:modified_time': post.updated ?? post.date, - 'article:author': post.author.name, - 'article:section': 'Technology', - }, - } +import type { Author, ContentMeta } from '@/lib/content/schema' +import type { ContentSection } from '@/lib/content/seo' +import { + buildArticleJsonLd, + buildAuthorGraphJsonLd as buildAuthorGraphJsonLdGeneric, + buildAuthorMetadata as buildAuthorMetadataGeneric, + buildCollectionPageJsonLd as buildCollectionPageJsonLdGeneric, + buildFaqJsonLd, + buildIndexMetadata as buildIndexMetadataGeneric, + buildPostGraphJsonLd as buildPostGraphJsonLdGeneric, + buildPostMetadata, + buildTagsBreadcrumbJsonLd as buildTagsBreadcrumbJsonLdGeneric, + buildTagsMetadata as buildTagsMetadataGeneric, +} from '@/lib/content/seo' + +export const BLOG_SECTION: ContentSection = { + name: 'Blog', + basePath: '/blog', + description: 'Announcements, insights, and guides for building AI agents.', } -export function buildArticleJsonLd(post: BlogMeta) { - return { - '@type': 'TechArticle', - url: post.canonical, - headline: post.title, - description: post.description, - image: [ - { - '@type': 'ImageObject', - url: post.ogImage, - width: 1200, - height: 630, - caption: post.ogAlt || post.title, - }, - ], - datePublished: post.date, - dateModified: post.updated ?? post.date, - wordCount: post.wordCount, - proficiencyLevel: 'Beginner', - author: (post.authors && post.authors.length > 0 ? post.authors : [post.author]).map((a) => ({ - '@type': 'Person', - name: a.name, - url: a.url, - ...(a.url ? { sameAs: [a.url] } : {}), - })), - publisher: { - '@type': 'Organization', - name: 'Sim', - url: SITE_URL, - logo: { - '@type': 'ImageObject', - url: `${SITE_URL}/logo/primary/medium.png`, - }, - }, - mainEntityOfPage: { - '@type': 'WebPage', - '@id': post.canonical, - }, - keywords: post.tags.join(', '), - about: (post.about || []).map((a) => ({ '@type': 'Thing', name: a })), - isAccessibleForFree: true, - timeRequired: post.timeRequired, - articleSection: 'Technology', - inLanguage: 'en-US', - speakable: { - '@type': 'SpeakableSpecification', - cssSelector: ['[itemprop="headline"]', '[itemprop="description"]'], - }, - } +export { buildArticleJsonLd, buildFaqJsonLd, buildPostMetadata } + +export function buildPostGraphJsonLd(post: ContentMeta) { + return buildPostGraphJsonLdGeneric(post, BLOG_SECTION) } -export function buildBreadcrumbJsonLd(post: BlogMeta) { - return { - '@type': 'BreadcrumbList', - itemListElement: [ - { '@type': 'ListItem', position: 1, name: 'Home', item: SITE_URL }, - { '@type': 'ListItem', position: 2, name: 'Blog', item: `${SITE_URL}/blog` }, - { '@type': 'ListItem', position: 3, name: post.title, item: post.canonical }, - ], - } +export function buildCollectionPageJsonLd() { + return buildCollectionPageJsonLdGeneric(BLOG_SECTION) } -export function buildFaqJsonLd(items: { q: string; a: string }[] | undefined) { - if (!items || items.length === 0) return null - return { - '@type': 'FAQPage', - mainEntity: items.map((it) => ({ - '@type': 'Question', - name: it.q, - acceptedAnswer: { '@type': 'Answer', text: it.a }, - })), - } +export function buildIndexMetadata(input: { tag?: string; pageNum: number }) { + return buildIndexMetadataGeneric(BLOG_SECTION, input) } -export function buildPostGraphJsonLd(post: BlogMeta) { - const graph: Record[] = [buildArticleJsonLd(post), buildBreadcrumbJsonLd(post)] +export function buildTagsMetadata() { + return buildTagsMetadataGeneric(BLOG_SECTION) +} - const faq = buildFaqJsonLd(post.faq) - if (faq) { - graph.push(faq) - } +export function buildTagsBreadcrumbJsonLd() { + return buildTagsBreadcrumbJsonLdGeneric(BLOG_SECTION) +} - return { - '@context': 'https://schema.org', - '@graph': graph, - } +export function buildAuthorMetadata(id: string, author?: Author) { + return buildAuthorMetadataGeneric(BLOG_SECTION, id, author) } -export function buildCollectionPageJsonLd() { - return { - '@context': 'https://schema.org', - '@type': 'CollectionPage', - name: 'Sim Blog', - url: `${SITE_URL}/blog`, - description: 'Announcements, insights, and guides for building AI agents.', - publisher: { - '@type': 'Organization', - name: 'Sim', - url: SITE_URL, - logo: { - '@type': 'ImageObject', - url: `${SITE_URL}/logo/primary/medium.png`, - }, - }, - inLanguage: 'en-US', - isPartOf: { - '@type': 'WebSite', - name: 'Sim', - url: SITE_URL, - }, - } +export function buildAuthorGraphJsonLd(author: Author) { + return buildAuthorGraphJsonLdGeneric(BLOG_SECTION, author) } diff --git a/apps/sim/lib/blog/utils.ts b/apps/sim/lib/blog/utils.ts deleted file mode 100644 index 9ba7ad6abf5..00000000000 --- a/apps/sim/lib/blog/utils.ts +++ /dev/null @@ -1,27 +0,0 @@ -import fs from 'fs/promises' -import path from 'path' - -export const BLOG_DIR = path.join(process.cwd(), 'content', 'blog') -export const AUTHORS_DIR = path.join(process.cwd(), 'content', 'authors') - -export async function ensureContentDirs() { - await fs.mkdir(BLOG_DIR, { recursive: true }) - await fs.mkdir(AUTHORS_DIR, { recursive: true }) -} - -export function toIsoDate(value: Date | string | number): string { - if (value instanceof Date) return value.toISOString() - return new Date(value).toISOString() -} - -export function byDateDesc(a: T, b: T) { - return new Date(b.date).getTime() - new Date(a.date).getTime() -} - -export function stripMdxExtension(file: string) { - return file.replace(/\.mdx?$/i, '') -} - -export function isRelativeUrl(url: string) { - return url.startsWith('/') -} diff --git a/apps/sim/lib/blog/code.tsx b/apps/sim/lib/content/code.tsx similarity index 87% rename from apps/sim/lib/blog/code.tsx rename to apps/sim/lib/content/code.tsx index dc7436f7ad5..16436e52ccb 100644 --- a/apps/sim/lib/blog/code.tsx +++ b/apps/sim/lib/content/code.tsx @@ -9,7 +9,7 @@ interface CodeBlockProps { export function CodeBlock({ code, language }: CodeBlockProps) { return ( -
+
-

FAQ

+

FAQ

{items.map((it, i) => (
-

+

{it.q}

diff --git a/apps/sim/lib/blog/mdx.tsx b/apps/sim/lib/content/mdx.tsx similarity index 77% rename from apps/sim/lib/blog/mdx.tsx rename to apps/sim/lib/content/mdx.tsx index 83835579009..8d6d840b12c 100644 --- a/apps/sim/lib/blog/mdx.tsx +++ b/apps/sim/lib/content/mdx.tsx @@ -1,11 +1,11 @@ import clsx from 'clsx' import type { MDXRemoteProps } from 'next-mdx-remote/rsc' -import { CodeBlock } from '@/lib/blog/code' -import { BlogImage } from '@/app/(landing)/blog/components/blog-image' +import { CodeBlock } from '@/lib/content/code' +import { ContentImage } from '@/app/(landing)/components/content-image' export const mdxComponents: MDXRemoteProps['components'] = { img: (props: any) => ( - {children} @@ -26,7 +26,7 @@ export const mdxComponents: MDXRemoteProps['components'] = {

{children}

@@ -35,7 +35,7 @@ export const mdxComponents: MDXRemoteProps['components'] = {

{children}

@@ -44,7 +44,7 @@ export const mdxComponents: MDXRemoteProps['components'] = {

), ul: (props: any) => ( @@ -52,7 +52,7 @@ export const mdxComponents: MDXRemoteProps['components'] = { {...props} style={{ fontSize: '19px', marginBottom: '1rem', fontWeight: '400' }} className={clsx( - 'list-outside list-disc pl-6 text-[var(--landing-text-muted)] leading-relaxed', + 'list-outside list-disc pl-6 text-[var(--text-body)] leading-relaxed', props.className )} /> @@ -62,7 +62,7 @@ export const mdxComponents: MDXRemoteProps['components'] = { {...props} style={{ fontSize: '19px', marginBottom: '1rem', fontWeight: '400' }} className={clsx( - 'list-outside list-decimal pl-6 text-[var(--landing-text-muted)] leading-relaxed', + 'list-outside list-decimal pl-6 text-[var(--text-body)] leading-relaxed', props.className )} /> @@ -71,10 +71,12 @@ export const mdxComponents: MDXRemoteProps['components'] = { strong: (props: any) => ( ), - em: (props: any) => , + em: (props: any) => ( + + ), a: (props: any) => { const isAnchorLink = props.className?.includes('anchor') if (isAnchorLink) { @@ -84,7 +86,7 @@ export const mdxComponents: MDXRemoteProps['components'] = { @@ -96,7 +98,7 @@ export const mdxComponents: MDXRemoteProps['components'] = { hr: (props: any) => (


), @@ -140,7 +142,7 @@ export const mdxComponents: MDXRemoteProps['components'] = { Promise>> +> + +export interface ContentRegistryConfig { + /** Directory holding one folder per post (`//index.mdx`). */ + contentDir: string + /** Directory holding one JSON file per author, shared across sections. */ + authorsDir: string + /** Per-slug custom MDX component overrides, merged over the base `mdxComponents` map. */ + componentLoaders?: ContentComponentLoaders +} + +export interface ContentRegistry { + getAllPostMeta: () => Promise + getPostBySlug: (slug: string) => Promise + getAllTags: () => Promise + getRelatedPosts: (slug: string, limit?: number) => Promise + getNavPosts: () => Promise[]> + invalidateCaches: () => void +} + +function slugifyHeading(text: string): string { + return text + .toLowerCase() + .trim() + .replace(/[^a-z0-9\s-]/g, '') + .replace(/\s+/g, '-') +} + +/** + * Author JSON is shared across every section (blog, library, ...) that + * points at the same `authorsDir`. Cache the parsed result per directory at + * module scope so multiple registry instantiations never re-read/re-parse + * the same author files. + */ +const authorsCacheByDir = new Map>>() + +async function loadAuthorsForDir(authorsDir: string): Promise> { + const cached = authorsCacheByDir.get(authorsDir) + if (cached) return cached + const promise = (async () => { + await fs.mkdir(authorsDir, { recursive: true }) + const files = await fs.readdir(authorsDir).catch(() => []) + const authors: Record = {} + for (const file of files) { + if (!file.endsWith('.json')) continue + const raw = await fs.readFile(path.join(authorsDir, file), 'utf-8') + const json = JSON.parse(raw) + const author = AuthorSchema.parse(json) + authors[author.id] = author + } + return authors + })() + authorsCacheByDir.set(authorsDir, promise) + return promise +} + +/** + * Builds an independent content registry (frontmatter scanning, MDX + * compilation, tag/related-post derivation, in-memory caching) over a single + * content directory. Each call owns its own post-level cache state via + * closures, so separate instantiations (e.g. blog vs. library) never + * collide, while the shared author pool is cached once per `authorsDir` + * (see `loadAuthorsForDir`). + */ +export function createContentRegistry(config: ContentRegistryConfig): ContentRegistry { + const { contentDir, authorsDir, componentLoaders = {} } = config + + const postComponentsRegistry: Record> = {} + let cachedMeta: ContentMeta[] | null = null + + async function loadAuthors(): Promise> { + return loadAuthorsForDir(authorsDir) + } + + async function scanFrontmatters(): Promise { + if (cachedMeta) { + return cachedMeta + } + await ensureContentDirs(contentDir, authorsDir) + const entries = await fs.readdir(contentDir).catch(() => []) + const authorsMap = await loadAuthors() + const results = await Promise.all( + entries.map(async (slug): Promise => { + const postDir = path.join(contentDir, slug) + const stat = await fs.stat(postDir).catch(() => null) + if (!stat || !stat.isDirectory()) return null + const mdxPath = path.join(postDir, 'index.mdx') + const hasMdx = await fs + .stat(mdxPath) + .then((s) => s.isFile()) + .catch(() => false) + if (!hasMdx) return null + const raw = await fs.readFile(mdxPath, 'utf-8') + const { data, content: mdxContent } = matter(raw) + const fm = ContentFrontmatterSchema.parse(data) + const wordCount = mdxContent + .replace(/```[\s\S]*?```/g, '') + .replace(/import\s+.*?from\s+['"].*?['"]/g, '') + .replace(/<[^>]+>/g, '') + .replace(/[#*_~`[\]()!|>-]/g, '') + .split(/\s+/) + .filter((w) => w.length > 0).length + const authors = fm.authors.map((id) => authorsMap[id]).filter(Boolean) + if (authors.length === 0) throw new Error(`Authors not found for "${slug}"`) + return { + slug: fm.slug, + title: fm.title, + description: fm.description, + date: toIsoDate(fm.date), + updated: fm.updated ? toIsoDate(fm.updated) : undefined, + author: authors[0], + authors, + readingTime: fm.readingTime, + tags: fm.tags, + ogImage: fm.ogImage, + canonical: fm.canonical, + ogAlt: fm.ogAlt, + about: fm.about, + timeRequired: fm.timeRequired, + faq: fm.faq, + wordCount, + draft: fm.draft, + featured: fm.featured ?? false, + } + }) + ) + cachedMeta = results.filter((result): result is ContentMeta => result !== null).sort(byDateDesc) + return cachedMeta + } + + async function getAllPostMeta(): Promise { + return (await scanFrontmatters()).filter((p) => !p.draft) + } + + /** + * Featured + 5 most recent posts for a navbar dropdown preview. Reserved + * for a future Blog/Library nav dropdown (same "defined but not yet wired + * up" pattern as `PLATFORM_MENU`/`SOLUTIONS_MENU` in + * `navbar/components/nav-menu-chip/constants.ts`); currently unconsumed. + */ + const getNavPosts = cache( + async (): Promise[]> => { + const allPosts = await getAllPostMeta() + const featuredPost = allPosts.find((p) => p.featured) ?? allPosts[0] + if (!featuredPost) return [] + const recentPosts = allPosts.filter((p) => p.slug !== featuredPost.slug).slice(0, 5) + return [featuredPost, ...recentPosts].map((p) => ({ + slug: p.slug, + title: p.title, + ogImage: p.ogImage, + })) + } + ) + + async function getAllTags(): Promise { + const posts = await getAllPostMeta() + const counts: Record = {} + for (const p of posts) { + for (const t of p.tags) counts[t] = (counts[t] || 0) + 1 + } + return Object.entries(counts) + .map(([tag, count]) => ({ tag, count })) + .sort((a, b) => b.count - a.count || a.tag.localeCompare(b.tag)) + } + + async function loadPostComponents(slug: string): Promise> { + if (postComponentsRegistry[slug]) { + return postComponentsRegistry[slug] + } + + const loader = componentLoaders[slug] + if (!loader) { + postComponentsRegistry[slug] = {} + return {} + } + + try { + const postComponents = await loader() + postComponentsRegistry[slug] = postComponents + return postComponents + } catch { + postComponentsRegistry[slug] = {} + return {} + } + } + + async function getPostBySlug(slug: string): Promise { + const meta = await scanFrontmatters() + const found = meta.find((m) => m.slug === slug) + if (!found) throw new Error(`Post not found: ${slug}`) + const mdxPath = path.join(contentDir, slug, 'index.mdx') + const raw = await fs.readFile(mdxPath, 'utf-8') + const { content, data } = matter(raw) + const fm = ContentFrontmatterSchema.parse(data) + + const postComponents = await loadPostComponents(slug) + const mergedComponents = { ...mdxComponents, ...postComponents } + + const compiled = await compileMDX({ + source: content, + components: mergedComponents as any, + options: { + parseFrontmatter: false, + mdxOptions: { + remarkPlugins: [remarkGfm], + rehypePlugins: [ + rehypeSlug, + [rehypeAutolinkHeadings, { behavior: 'wrap', properties: { className: 'anchor' } }], + ], + }, + }, + }) + const headings: { text: string; id: string }[] = [] + const lines = content.split('\n') + for (const line of lines) { + const match = /^##\s+(.+)$/.exec(line.trim()) + if (match) { + const text = match[1].trim() + headings.push({ text, id: slugifyHeading(text) }) + } + } + return { + ...found, + Content: () => (compiled as any).content, + updated: fm.updated ? toIsoDate(fm.updated) : found.updated, + headings, + } + } + + async function getRelatedPosts(slug: string, limit = 3): Promise { + const posts = await getAllPostMeta() + const current = posts.find((p) => p.slug === slug) + if (!current) return [] + const others = posts.filter((p) => p.slug !== slug) + return others + .map((p) => ({ + post: p, + score: p.tags.filter((t) => current.tags.includes(t)).length, + })) + .sort((a, b) => b.score - a.score || byDateDesc(a.post, b.post)) + .slice(0, limit) + .map((x) => x.post) + } + + function invalidateCaches() { + cachedMeta = null + authorsCacheByDir.delete(authorsDir) + Object.keys(postComponentsRegistry).forEach((key) => delete postComponentsRegistry[key]) + } + + return { + getAllPostMeta, + getPostBySlug, + getAllTags, + getRelatedPosts, + getNavPosts, + invalidateCaches, + } +} diff --git a/apps/sim/lib/blog/schema.ts b/apps/sim/lib/content/schema.ts similarity index 79% rename from apps/sim/lib/blog/schema.ts rename to apps/sim/lib/content/schema.ts index 81f9e6567de..731caaaa213 100644 --- a/apps/sim/lib/blog/schema.ts +++ b/apps/sim/lib/content/schema.ts @@ -12,7 +12,12 @@ export const AuthorSchema = z export type Author = z.infer -export const BlogFrontmatterSchema = z +/** + * Frontmatter schema shared by every content section (blog, library, and any + * future section). Section-specific behavior lives in the section's registry + * instantiation, not in this schema. + */ +export const ContentFrontmatterSchema = z .object({ slug: z.string().min(1), title: z.string().min(5), @@ -40,9 +45,9 @@ export const BlogFrontmatterSchema = z }) .strict() -export type BlogFrontmatter = z.infer +export type ContentFrontmatter = z.infer -export interface BlogMeta { +export interface ContentMeta { slug: string title: string description: string @@ -61,10 +66,9 @@ export interface BlogMeta { canonical: string draft: boolean featured: boolean - sourcePath?: string } -export interface BlogPost extends BlogMeta { +export interface ContentPost extends ContentMeta { Content: React.ComponentType headings?: { text: string; id: string }[] } diff --git a/apps/sim/lib/content/seo.ts b/apps/sim/lib/content/seo.ts new file mode 100644 index 00000000000..e6896715910 --- /dev/null +++ b/apps/sim/lib/content/seo.ts @@ -0,0 +1,366 @@ +import type { Metadata } from 'next' +import type { Author, ContentMeta } from '@/lib/content/schema' +import { SITE_URL } from '@/lib/core/utils/urls' +import { withFilteredNoindex } from '@/lib/landing/seo' + +/** + * Identifies the content section a post/collection belongs to, so the + * generic SEO builders below can emit section-correct breadcrumbs and + * collection metadata without hardcoding "Blog"/"/blog" anywhere. + */ +export interface ContentSection { + /** Display name, e.g. "Blog" or "Library". */ + name: string + /** Route base path, e.g. "/blog" or "/library". */ + basePath: string + /** Collection-page description used in `CollectionPage` JSON-LD. */ + description: string +} + +export function buildPostMetadata(post: ContentMeta): Metadata { + const base = new URL(post.canonical) + const baseUrl = `${base.protocol}//${base.host}` + return { + title: post.title, + description: post.description, + keywords: post.tags, + authors: (post.authors && post.authors.length > 0 ? post.authors : [post.author]).map((a) => ({ + name: a.name, + url: a.url, + })), + creator: post.author.name, + publisher: 'Sim', + robots: post.draft + ? { index: false, follow: false, googleBot: { index: false, follow: false } } + : { index: true, follow: true, googleBot: { index: true, follow: true } }, + alternates: { canonical: post.canonical }, + openGraph: { + title: post.title, + description: post.description, + url: post.canonical, + siteName: 'Sim', + locale: 'en_US', + type: 'article', + publishedTime: post.date, + modifiedTime: post.updated ?? post.date, + authors: (post.authors && post.authors.length > 0 ? post.authors : [post.author]).map( + (a) => a.name + ), + tags: post.tags, + images: [ + { + url: post.ogImage.startsWith('http') ? post.ogImage : `${baseUrl}${post.ogImage}`, + width: 1200, + height: 630, + alt: post.ogAlt || post.title, + }, + ], + }, + twitter: { + card: 'summary_large_image', + title: post.title, + description: post.description, + images: [post.ogImage], + creator: post.author.url?.includes('x.com') ? `@${post.author.xHandle || ''}` : undefined, + site: '@simdotai', + }, + other: { + 'article:published_time': post.date, + 'article:modified_time': post.updated ?? post.date, + 'article:author': post.author.name, + 'article:section': 'Technology', + }, + } +} + +export function buildArticleJsonLd(post: ContentMeta) { + return { + '@type': 'TechArticle', + url: post.canonical, + headline: post.title, + description: post.description, + image: [ + { + '@type': 'ImageObject', + url: post.ogImage, + width: 1200, + height: 630, + caption: post.ogAlt || post.title, + }, + ], + datePublished: post.date, + dateModified: post.updated ?? post.date, + wordCount: post.wordCount, + proficiencyLevel: 'Beginner', + author: (post.authors && post.authors.length > 0 ? post.authors : [post.author]).map((a) => ({ + '@type': 'Person', + name: a.name, + url: a.url, + ...(a.url ? { sameAs: [a.url] } : {}), + })), + publisher: { + '@type': 'Organization', + name: 'Sim', + url: SITE_URL, + logo: { + '@type': 'ImageObject', + url: `${SITE_URL}/logo/primary/medium.png`, + }, + }, + mainEntityOfPage: { + '@type': 'WebPage', + '@id': post.canonical, + }, + keywords: post.tags.join(', '), + about: (post.about || []).map((a) => ({ '@type': 'Thing', name: a })), + isAccessibleForFree: true, + timeRequired: post.timeRequired, + articleSection: 'Technology', + inLanguage: 'en-US', + speakable: { + '@type': 'SpeakableSpecification', + cssSelector: ['[itemprop="headline"]', '[itemprop="description"]'], + }, + } +} + +export function buildBreadcrumbJsonLd(post: ContentMeta, section: ContentSection) { + return { + '@type': 'BreadcrumbList', + itemListElement: [ + { '@type': 'ListItem', position: 1, name: 'Home', item: SITE_URL }, + { + '@type': 'ListItem', + position: 2, + name: section.name, + item: `${SITE_URL}${section.basePath}`, + }, + { '@type': 'ListItem', position: 3, name: post.title, item: post.canonical }, + ], + } +} + +export function buildFaqJsonLd(items: { q: string; a: string }[] | undefined) { + if (!items || items.length === 0) return null + return { + '@type': 'FAQPage', + mainEntity: items.map((it) => ({ + '@type': 'Question', + name: it.q, + acceptedAnswer: { '@type': 'Answer', text: it.a }, + })), + } +} + +export function buildPostGraphJsonLd(post: ContentMeta, section: ContentSection) { + const graph: Record[] = [ + buildArticleJsonLd(post), + buildBreadcrumbJsonLd(post, section), + ] + + const faq = buildFaqJsonLd(post.faq) + if (faq) { + graph.push(faq) + } + + return { + '@context': 'https://schema.org', + '@graph': graph, + } +} + +/** + * Filtered/paginated index variants render genuinely different lists, but + * only the bare index is indexable — same policy as the integrations and + * models catalogs — so canonical always points at the unfiltered index and + * the variant itself is noindexed rather than asking Google to index every + * tag/page permutation. + */ +export function buildIndexMetadata( + section: ContentSection, + { tag, pageNum }: { tag?: string; pageNum: number } +): Metadata { + const titleParts = [section.name] + if (tag) titleParts.push(tag) + if (pageNum > 1) titleParts.push(`Page ${pageNum}`) + const title = titleParts.join(' | ') + + const description = tag + ? `Sim ${section.name.toLowerCase()} posts tagged "${tag}": ${section.description}` + : section.description + + const canonical = `${SITE_URL}${section.basePath}` + const isFiltered = Boolean(tag) || pageNum > 1 + + return withFilteredNoindex( + { + title, + description, + alternates: { canonical }, + openGraph: { + title: `${title} | Sim`, + description, + url: canonical, + siteName: 'Sim', + locale: 'en_US', + type: 'website', + images: [ + { + url: `${SITE_URL}/logo/primary/medium.png`, + width: 1200, + height: 630, + alt: `Sim ${section.name}`, + }, + ], + }, + twitter: { + card: 'summary_large_image', + title: `${title} | Sim`, + description, + site: '@simdotai', + }, + }, + isFiltered + ) +} + +export function buildTagsMetadata(section: ContentSection): Metadata { + const canonical = `${SITE_URL}${section.basePath}/tags` + const description = `Browse Sim ${section.name.toLowerCase()} posts by topic: AI agents, workflows, integrations, and more.` + return { + title: 'Tags', + description, + alternates: { canonical }, + openGraph: { + title: `${section.name} Tags | Sim`, + description, + url: canonical, + siteName: 'Sim', + locale: 'en_US', + type: 'website', + }, + twitter: { + card: 'summary', + title: `${section.name} Tags | Sim`, + description, + site: '@simdotai', + }, + } +} + +export function buildTagsBreadcrumbJsonLd(section: ContentSection) { + return { + '@context': 'https://schema.org', + '@type': 'BreadcrumbList', + itemListElement: [ + { '@type': 'ListItem', position: 1, name: 'Home', item: SITE_URL }, + { + '@type': 'ListItem', + position: 2, + name: section.name, + item: `${SITE_URL}${section.basePath}`, + }, + { + '@type': 'ListItem', + position: 3, + name: 'Tags', + item: `${SITE_URL}${section.basePath}/tags`, + }, + ], + } +} + +export function buildAuthorMetadata( + section: ContentSection, + id: string, + author?: Author +): Metadata { + const name = author?.name ?? 'Author' + const canonical = `${SITE_URL}${section.basePath}/authors/${id}` + const description = `Read articles by ${name} on the Sim ${section.name.toLowerCase()}.` + return { + title: `${name} | Sim ${section.name}`, + description, + alternates: { canonical }, + openGraph: { + title: `${name} | Sim ${section.name}`, + description, + url: canonical, + siteName: 'Sim', + type: 'profile', + ...(author?.avatarUrl + ? { images: [{ url: author.avatarUrl, width: 400, height: 400, alt: name }] } + : {}), + }, + twitter: { + card: 'summary', + title: `${name} | Sim ${section.name}`, + description, + site: '@simdotai', + ...(author?.xHandle ? { creator: `@${author.xHandle}` } : {}), + }, + } +} + +export function buildAuthorGraphJsonLd(section: ContentSection, author: Author) { + return { + '@context': 'https://schema.org', + '@graph': [ + { + '@type': 'Person', + name: author.name, + url: `${SITE_URL}${section.basePath}/authors/${author.id}`, + sameAs: author.url ? [author.url] : [], + image: author.avatarUrl, + worksFor: { + '@type': 'Organization', + name: 'Sim', + url: SITE_URL, + }, + }, + { + '@type': 'BreadcrumbList', + itemListElement: [ + { '@type': 'ListItem', position: 1, name: 'Home', item: SITE_URL }, + { + '@type': 'ListItem', + position: 2, + name: section.name, + item: `${SITE_URL}${section.basePath}`, + }, + { + '@type': 'ListItem', + position: 3, + name: author.name, + item: `${SITE_URL}${section.basePath}/authors/${author.id}`, + }, + ], + }, + ], + } +} + +export function buildCollectionPageJsonLd(section: ContentSection) { + return { + '@context': 'https://schema.org', + '@type': 'CollectionPage', + name: `Sim ${section.name}`, + url: `${SITE_URL}${section.basePath}`, + description: section.description, + publisher: { + '@type': 'Organization', + name: 'Sim', + url: SITE_URL, + logo: { + '@type': 'ImageObject', + url: `${SITE_URL}/logo/primary/medium.png`, + }, + }, + inLanguage: 'en-US', + isPartOf: { + '@type': 'WebSite', + name: 'Sim', + url: SITE_URL, + }, + } +} diff --git a/apps/sim/lib/content/utils.ts b/apps/sim/lib/content/utils.ts new file mode 100644 index 00000000000..931a251db0f --- /dev/null +++ b/apps/sim/lib/content/utils.ts @@ -0,0 +1,24 @@ +import fs from 'fs/promises' + +export async function ensureContentDirs(contentDir: string, authorsDir: string) { + await fs.mkdir(contentDir, { recursive: true }) + await fs.mkdir(authorsDir, { recursive: true }) +} + +export function toIsoDate(value: Date | string | number): string { + if (value instanceof Date) return value.toISOString() + return new Date(value).toISOString() +} + +export function byDateDesc(a: T, b: T) { + return new Date(b.date).getTime() - new Date(a.date).getTime() +} + +/** Most recent `updated ?? date` across a set of posts, or `undefined` if empty. */ +export function latestModified( + posts: T[] +): Date | undefined { + return posts.length > 0 + ? new Date(Math.max(...posts.map((p) => new Date(p.updated ?? p.date).getTime()))) + : undefined +} diff --git a/apps/sim/lib/execution/sandbox/bundles/docx.cjs b/apps/sim/lib/execution/sandbox/bundles/docx.cjs index f94ae48b832..01697107612 100644 --- a/apps/sim/lib/execution/sandbox/bundles/docx.cjs +++ b/apps/sim/lib/execution/sandbox/bundles/docx.cjs @@ -1,27 +1,42 @@ // sandbox bundle: docx // generated by apps/sim/lib/execution/sandbox/bundles/build.ts // do not edit by hand. run `bun run build:sandbox-bundles` to regenerate. -(()=>{var F7=Object.create;var{getPrototypeOf:N7,defineProperty:F8,getOwnPropertyNames:R7}=Object;var D7=Object.prototype.hasOwnProperty;function A7($){return this[$]}var P7,T7,C7=($,U,Y)=>{var Z=$!=null&&typeof $==="object";if(Z){var J=U?P7??=new WeakMap:T7??=new WeakMap,G=J.get($);if(G)return G}Y=$!=null?F7(N7($)):{};let X=U||!$||!$.__esModule?F8(Y,"default",{value:$,enumerable:!0}):Y;for(let Q of R7($))if(!D7.call(X,Q))F8(X,Q,{get:A7.bind($,Q),enumerable:!0});if(Z)J.set($,X);return X};var O7=($,U)=>()=>(U||$((U={exports:{}}).exports,U),U.exports);var k7=($)=>$;function E7($,U){this[$]=k7.bind(null,U)}var S7=($,U)=>{for(var Y in U)F8($,Y,{get:U[Y],enumerable:!0,configurable:!0,set:E7.bind(U,Y)})};var iU=O7((hB,pU)=>{var A0=pU.exports={},i0,r0;function S8(){throw Error("setTimeout has not been defined")}function v8(){throw Error("clearTimeout has not been defined")}(function(){try{if(typeof setTimeout==="function")i0=setTimeout;else i0=S8}catch($){i0=S8}try{if(typeof clearTimeout==="function")r0=clearTimeout;else r0=v8}catch($){r0=v8}})();function mU($){if(i0===setTimeout)return setTimeout($,0);if((i0===S8||!i0)&&setTimeout)return i0=setTimeout,setTimeout($,0);try{return i0($,0)}catch(U){try{return i0.call(null,$,0)}catch(Y){return i0.call(this,$,0)}}}function Xq($){if(r0===clearTimeout)return clearTimeout($);if((r0===v8||!r0)&&clearTimeout)return r0=clearTimeout,clearTimeout($);try{return r0($)}catch(U){try{return r0.call(null,$)}catch(Y){return r0.call(this,$)}}}var X2=[],g2=!1,T2,O1=-1;function Vq(){if(!g2||!T2)return;if(g2=!1,T2.length)X2=T2.concat(X2);else O1=-1;if(X2.length)lU()}function lU(){if(g2)return;var $=mU(Vq);g2=!0;var U=X2.length;while(U){T2=X2,X2=[];while(++O11)for(var Y=1;Y"u")DU.global=globalThis;var a0=[],u0=[],N8="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(A2=0,AU=N8.length;A20)throw Error("Invalid string. Length must be a multiple of 4");var Y=$.indexOf("=");if(Y===-1)Y=U;var Z=Y===U?0:4-Y%4;return[Y,Z]}function _7($,U){return($+U)*3/4-U}function y7($){var U,Y=v7($),Z=Y[0],J=Y[1],G=new Uint8Array(_7(Z,J)),X=0,Q=J>0?Z-4:Z,B;for(B=0;B>16&255,G[X++]=U>>8&255,G[X++]=U&255;if(J===2)U=u0[$.charCodeAt(B)]<<2|u0[$.charCodeAt(B+1)]>>4,G[X++]=U&255;if(J===1)U=u0[$.charCodeAt(B)]<<10|u0[$.charCodeAt(B+1)]<<4|u0[$.charCodeAt(B+2)]>>2,G[X++]=U>>8&255,G[X++]=U&255;return G}function b7($){return a0[$>>18&63]+a0[$>>12&63]+a0[$>>6&63]+a0[$&63]}function g7($,U,Y){var Z,J=[];for(var G=U;GQ?Q:X+G));if(Z===1)U=$[Y-1],J.push(a0[U>>2]+a0[U<<4&63]+"==");else if(Z===2)U=($[Y-2]<<8)+$[Y-1],J.push(a0[U>>10]+a0[U>>4&63]+a0[U<<2&63]+"=");return J.join("")}function T1($,U,Y,Z,J){var G,X,Q=J*8-Z-1,B=(1<>1,z=-7,W=Y?J-1:0,k=Y?-1:1,D=$[U+W];W+=k,G=D&(1<<-z)-1,D>>=-z,z+=Q;for(;z>0;G=G*256+$[U+W],W+=k,z-=8);X=G&(1<<-z)-1,G>>=-z,z+=Z;for(;z>0;X=X*256+$[U+W],W+=k,z-=8);if(G===0)G=1-F;else if(G===B)return X?NaN:(D?-1:1)*(1/0);else X=X+Math.pow(2,Z),G=G-F;return(D?-1:1)*X*Math.pow(2,G-Z)}function EU($,U,Y,Z,J,G){var X,Q,B,F=G*8-J-1,z=(1<>1,k=J===23?Math.pow(2,-24)-Math.pow(2,-77):0,D=Z?0:G-1,C=Z?1:-1,H=U<0||U===0&&1/U<0?1:0;if(U=Math.abs(U),isNaN(U)||U===1/0)Q=isNaN(U)?1:0,X=z;else{if(X=Math.floor(Math.log(U)/Math.LN2),U*(B=Math.pow(2,-X))<1)X--,B*=2;if(X+W>=1)U+=k/B;else U+=k*Math.pow(2,1-W);if(U*B>=2)X++,B/=2;if(X+W>=z)Q=0,X=z;else if(X+W>=1)Q=(U*B-1)*Math.pow(2,J),X=X+W;else Q=U*Math.pow(2,W-1)*Math.pow(2,J),X=0}for(;J>=8;$[Y+D]=Q&255,D+=C,Q/=256,J-=8);X=X<0;$[Y+D]=X&255,D+=C,X/=256,F-=8);$[Y+D-C]|=H*128}var TU=typeof Symbol==="function"&&typeof Symbol.for==="function"?Symbol.for("nodejs.util.inspect.custom"):null,x7=50,R8=2147483647;var{btoa:EB,atob:SB,File:vB,Blob:_B}=globalThis;function q2($){if($>R8)throw RangeError('The value "'+$+'" is invalid for option "size"');let U=new Uint8Array($);return Object.setPrototypeOf(U,G0.prototype),U}function C8($,U,Y){return class extends Y{constructor(){super();Object.defineProperty(this,"message",{value:U.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${$}]`,this.stack,delete this.name}get code(){return $}set code(Z){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:Z,writable:!0})}toString(){return`${this.name} [${$}]: ${this.message}`}}}var f7=C8("ERR_BUFFER_OUT_OF_BOUNDS",function($){if($)return`${$} is outside of buffer bounds`;return"Attempt to access memory outside buffer bounds"},RangeError),h7=C8("ERR_INVALID_ARG_TYPE",function($,U){return`The "${$}" argument must be of type number. Received type ${typeof U}`},TypeError),D8=C8("ERR_OUT_OF_RANGE",function($,U,Y){let Z=`The value of "${$}" is out of range.`,J=Y;if(Number.isInteger(Y)&&Math.abs(Y)>4294967296)J=kU(String(Y));else if(typeof Y==="bigint"){if(J=String(Y),Y>BigInt(2)**BigInt(32)||Y<-(BigInt(2)**BigInt(32)))J=kU(J);J+="n"}return Z+=` It must be ${U}. Received ${J}`,Z},RangeError);function G0($,U,Y){if(typeof $==="number"){if(typeof U==="string")throw TypeError('The "string" argument must be of type string. Received type number');return O8($)}return SU($,U,Y)}Object.defineProperty(G0.prototype,"parent",{enumerable:!0,get:function(){if(!G0.isBuffer(this))return;return this.buffer}});Object.defineProperty(G0.prototype,"offset",{enumerable:!0,get:function(){if(!G0.isBuffer(this))return;return this.byteOffset}});G0.poolSize=8192;function SU($,U,Y){if(typeof $==="string")return d7($,U);if(ArrayBuffer.isView($))return c7($);if($==null)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof $);if(p0($,ArrayBuffer)||$&&p0($.buffer,ArrayBuffer))return P8($,U,Y);if(typeof SharedArrayBuffer<"u"&&(p0($,SharedArrayBuffer)||$&&p0($.buffer,SharedArrayBuffer)))return P8($,U,Y);if(typeof $==="number")throw TypeError('The "value" argument must not be of type number. Received type number');let Z=$.valueOf&&$.valueOf();if(Z!=null&&Z!==$)return G0.from(Z,U,Y);let J=m7($);if(J)return J;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof $[Symbol.toPrimitive]==="function")return G0.from($[Symbol.toPrimitive]("string"),U,Y);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof $)}G0.from=function($,U,Y){return SU($,U,Y)};Object.setPrototypeOf(G0.prototype,Uint8Array.prototype);Object.setPrototypeOf(G0,Uint8Array);function vU($){if(typeof $!=="number")throw TypeError('"size" argument must be of type number');else if($<0)throw RangeError('The value "'+$+'" is invalid for option "size"')}function u7($,U,Y){if(vU($),$<=0)return q2($);if(U!==void 0)return typeof Y==="string"?q2($).fill(U,Y):q2($).fill(U);return q2($)}G0.alloc=function($,U,Y){return u7($,U,Y)};function O8($){return vU($),q2($<0?0:k8($)|0)}G0.allocUnsafe=function($){return O8($)};G0.allocUnsafeSlow=function($){return O8($)};function d7($,U){if(typeof U!=="string"||U==="")U="utf8";if(!G0.isEncoding(U))throw TypeError("Unknown encoding: "+U);let Y=_U($,U)|0,Z=q2(Y),J=Z.write($,U);if(J!==Y)Z=Z.slice(0,J);return Z}function A8($){let U=$.length<0?0:k8($.length)|0,Y=q2(U);for(let Z=0;Z=R8)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+R8.toString(16)+" bytes");return $|0}G0.isBuffer=function($){return $!=null&&$._isBuffer===!0&&$!==G0.prototype};G0.compare=function($,U){if(p0($,Uint8Array))$=G0.from($,$.offset,$.byteLength);if(p0(U,Uint8Array))U=G0.from(U,U.offset,U.byteLength);if(!G0.isBuffer($)||!G0.isBuffer(U))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if($===U)return 0;let Y=$.length,Z=U.length;for(let J=0,G=Math.min(Y,Z);JZ.length){if(!G0.isBuffer(G))G=G0.from(G);G.copy(Z,J)}else Uint8Array.prototype.set.call(Z,G,J);else if(!G0.isBuffer(G))throw TypeError('"list" argument must be an Array of Buffers');else G.copy(Z,J);J+=G.length}return Z};function _U($,U){if(G0.isBuffer($))return $.length;if(ArrayBuffer.isView($)||p0($,ArrayBuffer))return $.byteLength;if(typeof $!=="string")throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof $);let Y=$.length,Z=arguments.length>2&&arguments[2]===!0;if(!Z&&Y===0)return 0;let J=!1;for(;;)switch(U){case"ascii":case"latin1":case"binary":return Y;case"utf8":case"utf-8":return T8($).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Y*2;case"hex":return Y>>>1;case"base64":return cU($).length;default:if(J)return Z?-1:T8($).length;U=(""+U).toLowerCase(),J=!0}}G0.byteLength=_U;function l7($,U,Y){let Z=!1;if(U===void 0||U<0)U=0;if(U>this.length)return"";if(Y===void 0||Y>this.length)Y=this.length;if(Y<=0)return"";if(Y>>>=0,U>>>=0,Y<=U)return"";if(!$)$="utf8";while(!0)switch($){case"hex":return $q(this,U,Y);case"utf8":case"utf-8":return bU(this,U,Y);case"ascii":return t7(this,U,Y);case"latin1":case"binary":return e7(this,U,Y);case"base64":return n7(this,U,Y);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Uq(this,U,Y);default:if(Z)throw TypeError("Unknown encoding: "+$);$=($+"").toLowerCase(),Z=!0}}G0.prototype._isBuffer=!0;function P2($,U,Y){let Z=$[U];$[U]=$[Y],$[Y]=Z}G0.prototype.swap16=function(){let $=this.length;if($%2!==0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let U=0;U<$;U+=2)P2(this,U,U+1);return this};G0.prototype.swap32=function(){let $=this.length;if($%4!==0)throw RangeError("Buffer size must be a multiple of 32-bits");for(let U=0;U<$;U+=4)P2(this,U,U+3),P2(this,U+1,U+2);return this};G0.prototype.swap64=function(){let $=this.length;if($%8!==0)throw RangeError("Buffer size must be a multiple of 64-bits");for(let U=0;U<$;U+=8)P2(this,U,U+7),P2(this,U+1,U+6),P2(this,U+2,U+5),P2(this,U+3,U+4);return this};G0.prototype.toString=function(){let $=this.length;if($===0)return"";if(arguments.length===0)return bU(this,0,$);return l7.apply(this,arguments)};G0.prototype.toLocaleString=G0.prototype.toString;G0.prototype.equals=function($){if(!G0.isBuffer($))throw TypeError("Argument must be a Buffer");if(this===$)return!0;return G0.compare(this,$)===0};G0.prototype.inspect=function(){let $="",U=x7;if($=this.toString("hex",0,U).replace(/(.{2})/g,"$1 ").trim(),this.length>U)$+=" ... ";return""};if(TU)G0.prototype[TU]=G0.prototype.inspect;G0.prototype.compare=function($,U,Y,Z,J){if(p0($,Uint8Array))$=G0.from($,$.offset,$.byteLength);if(!G0.isBuffer($))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof $);if(U===void 0)U=0;if(Y===void 0)Y=$?$.length:0;if(Z===void 0)Z=0;if(J===void 0)J=this.length;if(U<0||Y>$.length||Z<0||J>this.length)throw RangeError("out of range index");if(Z>=J&&U>=Y)return 0;if(Z>=J)return-1;if(U>=Y)return 1;if(U>>>=0,Y>>>=0,Z>>>=0,J>>>=0,this===$)return 0;let G=J-Z,X=Y-U,Q=Math.min(G,X),B=this.slice(Z,J),F=$.slice(U,Y);for(let z=0;z2147483647)Y=2147483647;else if(Y<-2147483648)Y=-2147483648;if(Y=+Y,Number.isNaN(Y))Y=J?0:$.length-1;if(Y<0)Y=$.length+Y;if(Y>=$.length)if(J)return-1;else Y=$.length-1;else if(Y<0)if(J)Y=0;else return-1;if(typeof U==="string")U=G0.from(U,Z);if(G0.isBuffer(U)){if(U.length===0)return-1;return CU($,U,Y,Z,J)}else if(typeof U==="number"){if(U=U&255,typeof Uint8Array.prototype.indexOf==="function")if(J)return Uint8Array.prototype.indexOf.call($,U,Y);else return Uint8Array.prototype.lastIndexOf.call($,U,Y);return CU($,[U],Y,Z,J)}throw TypeError("val must be string, number or Buffer")}function CU($,U,Y,Z,J){let G=1,X=$.length,Q=U.length;if(Z!==void 0){if(Z=String(Z).toLowerCase(),Z==="ucs2"||Z==="ucs-2"||Z==="utf16le"||Z==="utf-16le"){if($.length<2||U.length<2)return-1;G=2,X/=2,Q/=2,Y/=2}}function B(z,W){if(G===1)return z[W];else return z.readUInt16BE(W*G)}let F;if(J){let z=-1;for(F=Y;FX)Y=X-Q;for(F=Y;F>=0;F--){let z=!0;for(let W=0;WJ)Z=J;let G=U.length;if(Z>G/2)Z=G/2;let X;for(X=0;X>>0,isFinite(Y)){if(Y=Y>>>0,Z===void 0)Z="utf8"}else Z=Y,Y=void 0;else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let J=this.length-U;if(Y===void 0||Y>J)Y=J;if($.length>0&&(Y<0||U<0)||U>this.length)throw RangeError("Attempt to write outside buffer bounds");if(!Z)Z="utf8";let G=!1;for(;;)switch(Z){case"hex":return a7(this,$,U,Y);case"utf8":case"utf-8":return p7(this,$,U,Y);case"ascii":case"latin1":case"binary":return i7(this,$,U,Y);case"base64":return r7(this,$,U,Y);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return s7(this,$,U,Y);default:if(G)throw TypeError("Unknown encoding: "+Z);Z=(""+Z).toLowerCase(),G=!0}};G0.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function n7($,U,Y){if(U===0&&Y===$.length)return PU($);else return PU($.slice(U,Y))}function bU($,U,Y){Y=Math.min($.length,Y);let Z=[],J=U;while(J239?4:G>223?3:G>191?2:1;if(J+Q<=Y){let B,F,z,W;switch(Q){case 1:if(G<128)X=G;break;case 2:if(B=$[J+1],(B&192)===128){if(W=(G&31)<<6|B&63,W>127)X=W}break;case 3:if(B=$[J+1],F=$[J+2],(B&192)===128&&(F&192)===128){if(W=(G&15)<<12|(B&63)<<6|F&63,W>2047&&(W<55296||W>57343))X=W}break;case 4:if(B=$[J+1],F=$[J+2],z=$[J+3],(B&192)===128&&(F&192)===128&&(z&192)===128){if(W=(G&15)<<18|(B&63)<<12|(F&63)<<6|z&63,W>65535&&W<1114112)X=W}}}if(X===null)X=65533,Q=1;else if(X>65535)X-=65536,Z.push(X>>>10&1023|55296),X=56320|X&1023;Z.push(X),J+=Q}return o7(Z)}var OU=4096;function o7($){let U=$.length;if(U<=OU)return String.fromCharCode.apply(String,$);let Y="",Z=0;while(ZZ)Y=Z;let J="";for(let G=U;GY)$=Y;if(U<0){if(U+=Y,U<0)U=0}else if(U>Y)U=Y;if(U<$)U=$;let Z=this.subarray($,U);return Object.setPrototypeOf(Z,G0.prototype),Z};function E0($,U,Y){if($%1!==0||$<0)throw RangeError("offset is not uint");if($+U>Y)throw RangeError("Trying to access beyond buffer length")}G0.prototype.readUintLE=G0.prototype.readUIntLE=function($,U,Y){if($=$>>>0,U=U>>>0,!Y)E0($,U,this.length);let Z=this[$],J=1,G=0;while(++G>>0,U=U>>>0,!Y)E0($,U,this.length);let Z=this[$+--U],J=1;while(U>0&&(J*=256))Z+=this[$+--U]*J;return Z};G0.prototype.readUint8=G0.prototype.readUInt8=function($,U){if($=$>>>0,!U)E0($,1,this.length);return this[$]};G0.prototype.readUint16LE=G0.prototype.readUInt16LE=function($,U){if($=$>>>0,!U)E0($,2,this.length);return this[$]|this[$+1]<<8};G0.prototype.readUint16BE=G0.prototype.readUInt16BE=function($,U){if($=$>>>0,!U)E0($,2,this.length);return this[$]<<8|this[$+1]};G0.prototype.readUint32LE=G0.prototype.readUInt32LE=function($,U){if($=$>>>0,!U)E0($,4,this.length);return(this[$]|this[$+1]<<8|this[$+2]<<16)+this[$+3]*16777216};G0.prototype.readUint32BE=G0.prototype.readUInt32BE=function($,U){if($=$>>>0,!U)E0($,4,this.length);return this[$]*16777216+(this[$+1]<<16|this[$+2]<<8|this[$+3])};G0.prototype.readBigUInt64LE=z2(function($){$=$>>>0,b2($,"offset");let U=this[$],Y=this[$+7];if(U===void 0||Y===void 0)$1($,this.length-8);let Z=U+this[++$]*256+this[++$]*65536+this[++$]*16777216,J=this[++$]+this[++$]*256+this[++$]*65536+Y*16777216;return BigInt(Z)+(BigInt(J)<>>0,b2($,"offset");let U=this[$],Y=this[$+7];if(U===void 0||Y===void 0)$1($,this.length-8);let Z=U*16777216+this[++$]*65536+this[++$]*256+this[++$],J=this[++$]*16777216+this[++$]*65536+this[++$]*256+Y;return(BigInt(Z)<>>0,U=U>>>0,!Y)E0($,U,this.length);let Z=this[$],J=1,G=0;while(++G=J)Z-=Math.pow(2,8*U);return Z};G0.prototype.readIntBE=function($,U,Y){if($=$>>>0,U=U>>>0,!Y)E0($,U,this.length);let Z=U,J=1,G=this[$+--Z];while(Z>0&&(J*=256))G+=this[$+--Z]*J;if(J*=128,G>=J)G-=Math.pow(2,8*U);return G};G0.prototype.readInt8=function($,U){if($=$>>>0,!U)E0($,1,this.length);if(!(this[$]&128))return this[$];return(255-this[$]+1)*-1};G0.prototype.readInt16LE=function($,U){if($=$>>>0,!U)E0($,2,this.length);let Y=this[$]|this[$+1]<<8;return Y&32768?Y|4294901760:Y};G0.prototype.readInt16BE=function($,U){if($=$>>>0,!U)E0($,2,this.length);let Y=this[$+1]|this[$]<<8;return Y&32768?Y|4294901760:Y};G0.prototype.readInt32LE=function($,U){if($=$>>>0,!U)E0($,4,this.length);return this[$]|this[$+1]<<8|this[$+2]<<16|this[$+3]<<24};G0.prototype.readInt32BE=function($,U){if($=$>>>0,!U)E0($,4,this.length);return this[$]<<24|this[$+1]<<16|this[$+2]<<8|this[$+3]};G0.prototype.readBigInt64LE=z2(function($){$=$>>>0,b2($,"offset");let U=this[$],Y=this[$+7];if(U===void 0||Y===void 0)$1($,this.length-8);let Z=this[$+4]+this[$+5]*256+this[$+6]*65536+(Y<<24);return(BigInt(Z)<>>0,b2($,"offset");let U=this[$],Y=this[$+7];if(U===void 0||Y===void 0)$1($,this.length-8);let Z=(U<<24)+this[++$]*65536+this[++$]*256+this[++$];return(BigInt(Z)<>>0,!U)E0($,4,this.length);return T1(this,$,!0,23,4)};G0.prototype.readFloatBE=function($,U){if($=$>>>0,!U)E0($,4,this.length);return T1(this,$,!1,23,4)};G0.prototype.readDoubleLE=function($,U){if($=$>>>0,!U)E0($,8,this.length);return T1(this,$,!0,52,8)};G0.prototype.readDoubleBE=function($,U){if($=$>>>0,!U)E0($,8,this.length);return T1(this,$,!1,52,8)};function b0($,U,Y,Z,J,G){if(!G0.isBuffer($))throw TypeError('"buffer" argument must be a Buffer instance');if(U>J||U$.length)throw RangeError("Index out of range")}G0.prototype.writeUintLE=G0.prototype.writeUIntLE=function($,U,Y,Z){if($=+$,U=U>>>0,Y=Y>>>0,!Z){let X=Math.pow(2,8*Y)-1;b0(this,$,U,Y,X,0)}let J=1,G=0;this[U]=$&255;while(++G>>0,Y=Y>>>0,!Z){let X=Math.pow(2,8*Y)-1;b0(this,$,U,Y,X,0)}let J=Y-1,G=1;this[U+J]=$&255;while(--J>=0&&(G*=256))this[U+J]=$/G&255;return U+Y};G0.prototype.writeUint8=G0.prototype.writeUInt8=function($,U,Y){if($=+$,U=U>>>0,!Y)b0(this,$,U,1,255,0);return this[U]=$&255,U+1};G0.prototype.writeUint16LE=G0.prototype.writeUInt16LE=function($,U,Y){if($=+$,U=U>>>0,!Y)b0(this,$,U,2,65535,0);return this[U]=$&255,this[U+1]=$>>>8,U+2};G0.prototype.writeUint16BE=G0.prototype.writeUInt16BE=function($,U,Y){if($=+$,U=U>>>0,!Y)b0(this,$,U,2,65535,0);return this[U]=$>>>8,this[U+1]=$&255,U+2};G0.prototype.writeUint32LE=G0.prototype.writeUInt32LE=function($,U,Y){if($=+$,U=U>>>0,!Y)b0(this,$,U,4,4294967295,0);return this[U+3]=$>>>24,this[U+2]=$>>>16,this[U+1]=$>>>8,this[U]=$&255,U+4};G0.prototype.writeUint32BE=G0.prototype.writeUInt32BE=function($,U,Y){if($=+$,U=U>>>0,!Y)b0(this,$,U,4,4294967295,0);return this[U]=$>>>24,this[U+1]=$>>>16,this[U+2]=$>>>8,this[U+3]=$&255,U+4};function gU($,U,Y,Z,J){dU(U,Z,J,$,Y,7);let G=Number(U&BigInt(4294967295));$[Y++]=G,G=G>>8,$[Y++]=G,G=G>>8,$[Y++]=G,G=G>>8,$[Y++]=G;let X=Number(U>>BigInt(32)&BigInt(4294967295));return $[Y++]=X,X=X>>8,$[Y++]=X,X=X>>8,$[Y++]=X,X=X>>8,$[Y++]=X,Y}function xU($,U,Y,Z,J){dU(U,Z,J,$,Y,7);let G=Number(U&BigInt(4294967295));$[Y+7]=G,G=G>>8,$[Y+6]=G,G=G>>8,$[Y+5]=G,G=G>>8,$[Y+4]=G;let X=Number(U>>BigInt(32)&BigInt(4294967295));return $[Y+3]=X,X=X>>8,$[Y+2]=X,X=X>>8,$[Y+1]=X,X=X>>8,$[Y]=X,Y+8}G0.prototype.writeBigUInt64LE=z2(function($,U=0){return gU(this,$,U,BigInt(0),BigInt("0xffffffffffffffff"))});G0.prototype.writeBigUInt64BE=z2(function($,U=0){return xU(this,$,U,BigInt(0),BigInt("0xffffffffffffffff"))});G0.prototype.writeIntLE=function($,U,Y,Z){if($=+$,U=U>>>0,!Z){let Q=Math.pow(2,8*Y-1);b0(this,$,U,Y,Q-1,-Q)}let J=0,G=1,X=0;this[U]=$&255;while(++J>0)-X&255}return U+Y};G0.prototype.writeIntBE=function($,U,Y,Z){if($=+$,U=U>>>0,!Z){let Q=Math.pow(2,8*Y-1);b0(this,$,U,Y,Q-1,-Q)}let J=Y-1,G=1,X=0;this[U+J]=$&255;while(--J>=0&&(G*=256)){if($<0&&X===0&&this[U+J+1]!==0)X=1;this[U+J]=($/G>>0)-X&255}return U+Y};G0.prototype.writeInt8=function($,U,Y){if($=+$,U=U>>>0,!Y)b0(this,$,U,1,127,-128);if($<0)$=255+$+1;return this[U]=$&255,U+1};G0.prototype.writeInt16LE=function($,U,Y){if($=+$,U=U>>>0,!Y)b0(this,$,U,2,32767,-32768);return this[U]=$&255,this[U+1]=$>>>8,U+2};G0.prototype.writeInt16BE=function($,U,Y){if($=+$,U=U>>>0,!Y)b0(this,$,U,2,32767,-32768);return this[U]=$>>>8,this[U+1]=$&255,U+2};G0.prototype.writeInt32LE=function($,U,Y){if($=+$,U=U>>>0,!Y)b0(this,$,U,4,2147483647,-2147483648);return this[U]=$&255,this[U+1]=$>>>8,this[U+2]=$>>>16,this[U+3]=$>>>24,U+4};G0.prototype.writeInt32BE=function($,U,Y){if($=+$,U=U>>>0,!Y)b0(this,$,U,4,2147483647,-2147483648);if($<0)$=4294967295+$+1;return this[U]=$>>>24,this[U+1]=$>>>16,this[U+2]=$>>>8,this[U+3]=$&255,U+4};G0.prototype.writeBigInt64LE=z2(function($,U=0){return gU(this,$,U,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});G0.prototype.writeBigInt64BE=z2(function($,U=0){return xU(this,$,U,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function fU($,U,Y,Z,J,G){if(Y+Z>$.length)throw RangeError("Index out of range");if(Y<0)throw RangeError("Index out of range")}function hU($,U,Y,Z,J){if(U=+U,Y=Y>>>0,!J)fU($,U,Y,4,340282346638528860000000000000000000000,-340282346638528860000000000000000000000);return EU($,U,Y,Z,23,4),Y+4}G0.prototype.writeFloatLE=function($,U,Y){return hU(this,$,U,!0,Y)};G0.prototype.writeFloatBE=function($,U,Y){return hU(this,$,U,!1,Y)};function uU($,U,Y,Z,J){if(U=+U,Y=Y>>>0,!J)fU($,U,Y,8,179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,-179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000);return EU($,U,Y,Z,52,8),Y+8}G0.prototype.writeDoubleLE=function($,U,Y){return uU(this,$,U,!0,Y)};G0.prototype.writeDoubleBE=function($,U,Y){return uU(this,$,U,!1,Y)};G0.prototype.copy=function($,U,Y,Z){if(!G0.isBuffer($))throw TypeError("argument should be a Buffer");if(!Y)Y=0;if(!Z&&Z!==0)Z=this.length;if(U>=$.length)U=$.length;if(!U)U=0;if(Z>0&&Z=this.length)throw RangeError("Index out of range");if(Z<0)throw RangeError("sourceEnd out of bounds");if(Z>this.length)Z=this.length;if($.length-U>>0,Y=Y===void 0?this.length:Y>>>0,!$)$=0;let J;if(typeof $==="number")for(J=U;J=Z+4;Y-=3)U=`_${$.slice(Y-3,Y)}${U}`;return`${$.slice(0,Y)}${U}`}function Yq($,U,Y){if(b2(U,"offset"),$[U]===void 0||$[U+Y]===void 0)$1(U,$.length-(Y+1))}function dU($,U,Y,Z,J,G){if($>Y||$3)if(U===0||U===BigInt(0))Q=`>= 0${X} and < 2${X} ** ${(G+1)*8}${X}`;else Q=`>= -(2${X} ** ${(G+1)*8-1}${X}) and < 2 ** ${(G+1)*8-1}${X}`;else Q=`>= ${U}${X} and <= ${Y}${X}`;throw new D8("value",Q,$)}Yq(Z,J,G)}function b2($,U){if(typeof $!=="number")throw new h7(U,"number",$)}function $1($,U,Y){if(Math.floor($)!==$)throw b2($,Y),new D8(Y||"offset","an integer",$);if(U<0)throw new f7;throw new D8(Y||"offset",`>= ${Y?1:0} and <= ${U}`,$)}var Zq=/[^+/0-9A-Za-z-_]/g;function Qq($){if($=$.split("=")[0],$=$.trim().replace(Zq,""),$.length<2)return"";while($.length%4!==0)$=$+"=";return $}function T8($,U){U=U||1/0;let Y,Z=$.length,J=null,G=[];for(let X=0;X55295&&Y<57344){if(!J){if(Y>56319){if((U-=3)>-1)G.push(239,191,189);continue}else if(X+1===Z){if((U-=3)>-1)G.push(239,191,189);continue}J=Y;continue}if(Y<56320){if((U-=3)>-1)G.push(239,191,189);J=Y;continue}Y=(J-55296<<10|Y-56320)+65536}else if(J){if((U-=3)>-1)G.push(239,191,189)}if(J=null,Y<128){if((U-=1)<0)break;G.push(Y)}else if(Y<2048){if((U-=2)<0)break;G.push(Y>>6|192,Y&63|128)}else if(Y<65536){if((U-=3)<0)break;G.push(Y>>12|224,Y>>6&63|128,Y&63|128)}else if(Y<1114112){if((U-=4)<0)break;G.push(Y>>18|240,Y>>12&63|128,Y>>6&63|128,Y&63|128)}else throw Error("Invalid code point")}return G}function Jq($){let U=[];for(let Y=0;Y<$.length;++Y)U.push($.charCodeAt(Y)&255);return U}function Gq($,U){let Y,Z,J,G=[];for(let X=0;X<$.length;++X){if((U-=2)<0)break;Y=$.charCodeAt(X),Z=Y>>8,J=Y%256,G.push(J),G.push(Z)}return G}function cU($){return y7(Qq($))}function C1($,U,Y,Z){let J;for(J=0;J=U.length||J>=$.length)break;U[J+Y]=$[J]}return J}function p0($,U){return $ instanceof U||$!=null&&$.constructor!=null&&$.constructor.name!=null&&$.constructor.name===U.name}var Kq=function(){let $=Array(256);for(let U=0;U<16;++U){let Y=U*16;for(let Z=0;Z<16;++Z)$[Y+Z]="0123456789abcdef"[U]+"0123456789abcdef"[Z]}return $}();function z2($){return typeof BigInt>"u"?qq:$}function qq(){throw Error("BigInt not supported")}function E8($){return()=>{throw Error($+" is not implemented for node:buffer browser polyfill")}}var yB=E8("resolveObjectURL"),bB=E8("isUtf8");var gB=E8("transcode");var OB=C7(iU(),1);var FU={};S7(FU,{unsignedDecimalNumber:()=>W1,universalMeasureValue:()=>H1,uniqueUuid:()=>tQ,uniqueNumericIdCreator:()=>N1,uniqueId:()=>R1,uCharHexNumber:()=>D9,twipsMeasureValue:()=>T0,standardizeData:()=>mJ,signedTwipsMeasureValue:()=>e0,signedHpsMeasureValue:()=>LX,shortHexNumber:()=>DQ,sectionPageSizeDefaults:()=>h1,sectionMarginDefaults:()=>F2,positiveUniversalMeasureValue:()=>r9,pointMeasureValue:()=>CQ,percentageValue:()=>PQ,patchDocument:()=>AB,patchDetector:()=>TB,measurementOrPercentValue:()=>s9,longHexNumber:()=>BX,hpsMeasureValue:()=>AQ,hexColorValue:()=>S2,hashedId:()=>A9,encodeUtf8:()=>X1,eighthPointMeasureValue:()=>TQ,docPropertiesUniqueNumericIdGen:()=>nQ,decimalNumber:()=>S0,dateTimeValue:()=>OQ,createWrapTopAndBottom:()=>bJ,createWrapTight:()=>yJ,createWrapSquare:()=>_J,createWrapNone:()=>C9,createVerticalPosition:()=>JJ,createVerticalAlign:()=>f$,createUnderline:()=>mQ,createTransformation:()=>B$,createTableWidthElement:()=>M1,createTableRowHeight:()=>EK,createTableLook:()=>CK,createTableLayout:()=>PK,createTableFloatProperties:()=>AK,createTabStopItem:()=>PG,createTabStop:()=>TG,createStringElement:()=>u2,createSpacing:()=>AG,createSimplePos:()=>UJ,createShading:()=>j1,createSectionType:()=>nK,createRunFonts:()=>g1,createParagraphStyle:()=>K1,createPageSize:()=>rK,createPageNumberType:()=>iK,createPageMargin:()=>pK,createOutlineLevel:()=>yG,createMathSuperScriptProperties:()=>iG,createMathSuperScriptElement:()=>n2,createMathSubSuperScriptProperties:()=>oG,createMathSubScriptProperties:()=>sG,createMathSubScriptElement:()=>s2,createMathPreSubSuperScriptProperties:()=>eG,createMathNAryProperties:()=>T$,createMathLimitLocation:()=>cG,createMathBase:()=>y0,createMathAccentCharacter:()=>dG,createLineNumberType:()=>aK,createIndent:()=>EQ,createHorizontalPosition:()=>QJ,createHeaderFooterReference:()=>f1,createFrameProperties:()=>xG,createEmphasisMark:()=>Y$,createDotEmphasisMark:()=>HX,createDocumentGrid:()=>lK,createColumns:()=>mK,createBorderElement:()=>N0,createBodyProperties:()=>KJ,createAlignment:()=>n9,convertToXmlComponent:()=>U8,convertMillimetersToTwip:()=>bX,convertInchesToTwip:()=>d0,concreteNumUniqueNumericIdGen:()=>sQ,bookmarkUniqueNumericIdGen:()=>oQ,abstractNumUniqueNumericIdGen:()=>rQ,YearShort:()=>qG,YearLong:()=>BG,XmlComponent:()=>o,XmlAttributeComponent:()=>I0,WpsShapeRun:()=>aJ,WpgGroupRun:()=>pJ,WidthType:()=>l1,WORKAROUND4:()=>HV,WORKAROUND3:()=>VX,WORKAROUND2:()=>lV,VerticalPositionRelativeFrom:()=>$J,VerticalPositionAlign:()=>IX,VerticalMergeType:()=>d$,VerticalMergeRevisionType:()=>NV,VerticalMerge:()=>a1,VerticalAnchor:()=>GJ,VerticalAlignTable:()=>HK,VerticalAlignSection:()=>jK,VerticalAlign:()=>RV,UnderlineType:()=>Z$,ThematicBreak:()=>t9,Textbox:()=>G7,TextWrappingType:()=>G1,TextWrappingSide:()=>vJ,TextRun:()=>p2,TextEffect:()=>NX,TextDirection:()=>PV,TableRowPropertiesChange:()=>l$,TableRowProperties:()=>M8,TableRow:()=>SK,TableProperties:()=>L8,TableOfContents:()=>e5,TableLayoutType:()=>SV,TableCellBorders:()=>h$,TableCell:()=>V8,TableBorders:()=>B8,TableAnchorType:()=>TV,Table:()=>kK,TabStopType:()=>O9,TabStopPosition:()=>ZV,Tab:()=>w$,TDirection:()=>c$,SymbolRun:()=>G$,Styles:()=>B1,StyleLevel:()=>$7,StyleForParagraph:()=>y2,StyleForCharacter:()=>D2,StringValueElement:()=>Y2,StringEnumValueElement:()=>kQ,StringContainer:()=>L2,SpaceType:()=>g0,SoftHyphen:()=>JG,SimpleMailMergeField:()=>nJ,SimpleField:()=>J8,ShadingType:()=>WX,SequentialIdentifier:()=>rJ,Separator:()=>IG,SectionType:()=>dV,SectionPropertiesChange:()=>i$,SectionProperties:()=>I8,RunPropertiesDefaults:()=>XU,RunPropertiesChange:()=>J$,RunProperties:()=>J2,Run:()=>C0,RelativeVerticalPosition:()=>OV,RelativeHorizontalPosition:()=>CV,PrettifyType:()=>X7,PositionalTabRelativeTo:()=>eX,PositionalTabLeader:()=>$V,PositionalTabAlignment:()=>tX,PositionalTab:()=>FG,PatchType:()=>y9,ParagraphRunProperties:()=>Q$,ParagraphPropertiesDefaults:()=>qU,ParagraphPropertiesChange:()=>D$,ParagraphProperties:()=>Z2,Paragraph:()=>h0,PageTextDirectionType:()=>uV,PageTextDirection:()=>p$,PageReference:()=>gG,PageOrientation:()=>i1,PageNumberSeparator:()=>hV,PageNumberElement:()=>WG,PageNumber:()=>N2,PageBreakBefore:()=>H$,PageBreak:()=>RG,PageBorders:()=>a$,PageBorderZOrder:()=>fV,PageBorderOffsetFrom:()=>xV,PageBorderDisplay:()=>gV,Packer:()=>qB,OverlapType:()=>kV,OnOffElement:()=>X0,Numbering:()=>JU,NumberedItemReferenceFormat:()=>vG,NumberedItemReference:()=>_G,NumberValueElement:()=>k2,NumberProperties:()=>V1,NumberFormat:()=>wX,NoBreakHyphen:()=>QG,NextAttributeComponent:()=>n1,MonthShort:()=>KG,MonthLong:()=>VG,Media:()=>w8,MathSuperScript:()=>rG,MathSum:()=>mG,MathSubSuperScript:()=>tG,MathSubScript:()=>nG,MathSquareBrackets:()=>GK,MathRun:()=>hG,MathRoundBrackets:()=>JK,MathRadicalProperties:()=>O$,MathRadical:()=>ZK,MathPreSubSuperScript:()=>$K,MathNumerator:()=>P$,MathLimitUpper:()=>aG,MathLimitLower:()=>pG,MathLimit:()=>q8,MathIntegral:()=>lG,MathFunctionProperties:()=>E$,MathFunctionName:()=>k$,MathFunction:()=>QK,MathFraction:()=>uG,MathDenominator:()=>A$,MathDegree:()=>C$,MathCurlyBrackets:()=>KK,MathAngledBrackets:()=>qK,Math:()=>IV,LineRuleType:()=>v2,LineNumberRestartFormat:()=>bV,LevelSuffix:()=>aV,LevelOverride:()=>QU,LevelFormat:()=>n0,LevelForOverride:()=>F5,LevelBase:()=>W8,Level:()=>ZU,LeaderType:()=>YV,LastRenderedPageBreak:()=>jG,InternalHyperlink:()=>j$,InsertedTextRun:()=>BK,InsertedTableRow:()=>v$,InsertedTableCell:()=>y$,InitializableXmlComponent:()=>Y8,ImportedXmlComponent:()=>p9,ImportedRootElementAttributes:()=>i9,ImageRun:()=>lJ,IgnoreIfEmptyXmlComponent:()=>Q2,HyperlinkType:()=>QV,HpsMeasureElement:()=>q1,HorizontalPositionRelativeFrom:()=>eQ,HorizontalPositionAlign:()=>MX,HighlightColor:()=>RX,HeightRule:()=>_V,HeadingLevel:()=>UV,HeaderWrapper:()=>YU,HeaderFooterType:()=>S9,HeaderFooterReferenceType:()=>E2,Header:()=>U7,GridSpan:()=>u$,FrameWrap:()=>MV,FrameAnchorType:()=>LV,FootnoteReferenceRun:()=>Z7,FootnoteReferenceElement:()=>MG,FootnoteReference:()=>IU,FooterWrapper:()=>$U,Footer:()=>Y7,FootNotes:()=>UU,FootNoteReferenceRunAttributes:()=>MU,FileChild:()=>r2,File:()=>o5,ExternalHyperlink:()=>K8,Endnotes:()=>e$,EndnoteReferenceRunAttributes:()=>wU,EndnoteReferenceRun:()=>Q7,EndnoteReference:()=>I$,EndnoteIdReference:()=>WU,EmptyElement:()=>k0,EmphasisMarkType:()=>U$,EMPTY_OBJECT:()=>tZ,DropCapType:()=>BV,Drawing:()=>D1,DocumentGridType:()=>yV,DocumentDefaults:()=>VU,DocumentBackgroundAttributes:()=>s$,DocumentBackground:()=>n$,DocumentAttributes:()=>o2,DocumentAttributeNamespaces:()=>p1,Document:()=>o5,DeletedTextRun:()=>wK,DeletedTableRow:()=>_$,DeletedTableCell:()=>b$,DayShort:()=>GG,DayLong:()=>XG,ContinuationSeparator:()=>wG,ConcreteNumbering:()=>s1,ConcreteHyperlink:()=>_2,Comments:()=>M$,CommentReference:()=>ZG,CommentRangeStart:()=>UG,CommentRangeEnd:()=>YG,Comment:()=>L$,ColumnBreak:()=>DG,Column:()=>tK,CheckBoxUtil:()=>HU,CheckBoxSymbolElement:()=>L1,CheckBox:()=>J7,CharacterSet:()=>GV,CellMergeAttributes:()=>g$,CellMerge:()=>x$,CarriageReturn:()=>HG,BuilderElement:()=>B0,BorderStyle:()=>Q8,Border:()=>o9,BookmarkStart:()=>F$,BookmarkEnd:()=>N$,Bookmark:()=>z$,Body:()=>r$,BaseXmlComponent:()=>m2,Attributes:()=>O0,AnnotationReference:()=>LG,AlignmentType:()=>m0,AbstractNumbering:()=>r1});var{defineProperty:Bq,defineProperties:Lq,getOwnPropertyDescriptors:Mq,getOwnPropertySymbols:m1}=Object,sZ=Object.prototype.hasOwnProperty,nZ=Object.prototype.propertyIsEnumerable,z9=($,U,Y)=>(U in $)?Bq($,U,{enumerable:!0,configurable:!0,writable:!0,value:Y}):$[U]=Y,W0=($,U)=>{for(var Y in U||(U={}))if(sZ.call(U,Y))z9($,Y,U[Y]);if(m1){for(var Y of m1(U))if(nZ.call(U,Y))z9($,Y,U[Y])}return $},R0=($,U)=>Lq($,Mq(U)),oZ=($,U)=>{var Y={};for(var Z in $)if(sZ.call($,Z)&&U.indexOf(Z)<0)Y[Z]=$[Z];if($!=null&&m1){for(var Z of m1($))if(U.indexOf(Z)<0&&nZ.call($,Z))Y[Z]=$[Z]}return Y},Y0=($,U,Y)=>z9($,typeof U!=="symbol"?U+"":U,Y),b9=($,U,Y)=>{return new Promise((Z,J)=>{var G=(B)=>{try{Q(Y.next(B))}catch(F){J(F)}},X=(B)=>{try{Q(Y.throw(B))}catch(F){J(F)}},Q=(B)=>B.done?Z(B.value):Promise.resolve(B.value).then(G,X);Q((Y=Y.apply($,U)).next())})};class m2{constructor($){Y0(this,"rootKey"),this.rootKey=$}}var tZ=Object.seal({});class o extends m2{constructor($){super($);Y0(this,"root"),this.root=[]}prepForXml($){var U;$.stack.push(this);let Y=this.root.map((Z)=>{if(Z instanceof m2)return Z.prepForXml($);return Z}).filter((Z)=>Z!==void 0);return $.stack.pop(),{[this.rootKey]:Y.length?Y.length===1&&((U=Y[0])==null?void 0:U._attr)?Y[0]:Y:tZ}}addChildElement($){return this.root.push($),this}}class Q2 extends o{constructor($,U){super($);Y0(this,"includeIfEmpty"),this.includeIfEmpty=U}prepForXml($){let U=super.prepForXml($);if(this.includeIfEmpty)return U;if(U&&(typeof U[this.rootKey]!=="object"||Object.keys(U[this.rootKey]).length))return U;return}}class I0 extends m2{constructor($){super("_attr");Y0(this,"xmlKeys"),this.root=$}prepForXml($){let U={};return Object.entries(this.root).forEach(([Y,Z])=>{if(Z!==void 0){let J=this.xmlKeys&&this.xmlKeys[Y]||Y;U[J]=Z}}),{_attr:U}}}class n1 extends m2{constructor($){super("_attr");this.root=$}prepForXml($){return{_attr:Object.values(this.root).filter(({value:Y})=>Y!==void 0).reduce((Y,{key:Z,value:J})=>R0(W0({},Y),{[Z]:J}),{})}}}class O0 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{val:"w:val",color:"w:color",fill:"w:fill",space:"w:space",sz:"w:sz",type:"w:type",rsidR:"w:rsidR",rsidRPr:"w:rsidRPr",rsidSect:"w:rsidSect",w:"w:w",h:"w:h",top:"w:top",right:"w:right",bottom:"w:bottom",left:"w:left",header:"w:header",footer:"w:footer",gutter:"w:gutter",linePitch:"w:linePitch",pos:"w:pos"})}}var c0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function g9($){return $&&$.__esModule&&Object.prototype.hasOwnProperty.call($,"default")?$.default:$}var _8={},k1={exports:{}},rU;function x9(){if(rU)return k1.exports;rU=1;var $=typeof Reflect==="object"?Reflect:null,U=$&&typeof $.apply==="function"?$.apply:function(A,y,g){return Function.prototype.apply.call(A,y,g)},Y;if($&&typeof $.ownKeys==="function")Y=$.ownKeys;else if(Object.getOwnPropertySymbols)Y=function(A){return Object.getOwnPropertyNames(A).concat(Object.getOwnPropertySymbols(A))};else Y=function(A){return Object.getOwnPropertyNames(A)};function Z(L){if(console&&console.warn)console.warn(L)}var J=Number.isNaN||function(A){return A!==A};function G(){G.init.call(this)}k1.exports=G,k1.exports.once=V,G.EventEmitter=G,G.prototype._events=void 0,G.prototype._eventsCount=0,G.prototype._maxListeners=void 0;var X=10;function Q(L){if(typeof L!=="function")throw TypeError('The "listener" argument must be of type Function. Received type '+typeof L)}Object.defineProperty(G,"defaultMaxListeners",{enumerable:!0,get:function(){return X},set:function(L){if(typeof L!=="number"||L<0||J(L))throw RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+L+".");X=L}}),G.init=function(){if(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)this._events=Object.create(null),this._eventsCount=0;this._maxListeners=this._maxListeners||void 0},G.prototype.setMaxListeners=function(A){if(typeof A!=="number"||A<0||J(A))throw RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+A+".");return this._maxListeners=A,this};function B(L){if(L._maxListeners===void 0)return G.defaultMaxListeners;return L._maxListeners}G.prototype.getMaxListeners=function(){return B(this)},G.prototype.emit=function(A){var y=[];for(var g=1;g0)s=y[0];if(s instanceof Error)throw s;var V0=Error("Unhandled error."+(s?" ("+s.message+")":""));throw V0.context=s,V0}var S=E[A];if(S===void 0)return!1;if(typeof S==="function")U(S,this,y);else{var h=S.length,N=C(S,h);for(var g=0;g0&&s.length>d&&!s.warned){s.warned=!0;var V0=Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(A)+" listeners added. Use emitter.setMaxListeners() to increase limit");V0.name="MaxListenersExceededWarning",V0.emitter=L,V0.type=A,V0.count=s.length,Z(V0)}}return L}G.prototype.addListener=function(A,y){return F(this,A,y,!1)},G.prototype.on=G.prototype.addListener,G.prototype.prependListener=function(A,y){return F(this,A,y,!0)};function z(){if(!this.fired){if(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0)return this.listener.call(this.target);return this.listener.apply(this.target,arguments)}}function W(L,A,y){var g={fired:!1,wrapFn:void 0,target:L,type:A,listener:y},d=z.bind(g);return d.listener=y,g.wrapFn=d,d}G.prototype.once=function(A,y){return Q(y),this.on(A,W(this,A,y)),this},G.prototype.prependOnceListener=function(A,y){return Q(y),this.prependListener(A,W(this,A,y)),this},G.prototype.removeListener=function(A,y){var g,d,E,s,V0;if(Q(y),d=this._events,d===void 0)return this;if(g=d[A],g===void 0)return this;if(g===y||g.listener===y){if(--this._eventsCount===0)this._events=Object.create(null);else if(delete d[A],d.removeListener)this.emit("removeListener",A,g.listener||y)}else if(typeof g!=="function"){E=-1;for(s=g.length-1;s>=0;s--)if(g[s]===y||g[s].listener===y){V0=g[s].listener,E=s;break}if(E<0)return this;if(E===0)g.shift();else H(g,E);if(g.length===1)d[A]=g[0];if(d.removeListener!==void 0)this.emit("removeListener",A,V0||y)}return this},G.prototype.off=G.prototype.removeListener,G.prototype.removeAllListeners=function(A){var y,g,d;if(g=this._events,g===void 0)return this;if(g.removeListener===void 0){if(arguments.length===0)this._events=Object.create(null),this._eventsCount=0;else if(g[A]!==void 0)if(--this._eventsCount===0)this._events=Object.create(null);else delete g[A];return this}if(arguments.length===0){var E=Object.keys(g),s;for(d=0;d=0;d--)this.removeListener(A,y[d]);return this};function k(L,A,y){var g=L._events;if(g===void 0)return[];var d=g[A];if(d===void 0)return[];if(typeof d==="function")return y?[d.listener||d]:[d];return y?O(d):C(d,d.length)}G.prototype.listeners=function(A){return k(this,A,!0)},G.prototype.rawListeners=function(A){return k(this,A,!1)},G.listenerCount=function(L,A){if(typeof L.listenerCount==="function")return L.listenerCount(A);else return D.call(L,A)},G.prototype.listenerCount=D;function D(L){var A=this._events;if(A!==void 0){var y=A[L];if(typeof y==="function")return 1;else if(y!==void 0)return y.length}return 0}G.prototype.eventNames=function(){return this._eventsCount>0?Y(this._events):[]};function C(L,A){var y=Array(A);for(var g=0;g1)for(var Y=1;Y0)throw Error("Invalid string. Length must be a multiple of 4");var H=D.indexOf("=");if(H===-1)H=C;var O=H===C?0:4-H%4;return[H,O]}function Q(D){var C=X(D),H=C[0],O=C[1];return(H+O)*3/4-O}function B(D,C,H){return(C+H)*3/4-H}function F(D){var C,H=X(D),O=H[0],V=H[1],j=new Y(B(D,O,V)),M=0,L=V>0?O-4:O,A;for(A=0;A>16&255,j[M++]=C>>8&255,j[M++]=C&255;if(V===2)C=U[D.charCodeAt(A)]<<2|U[D.charCodeAt(A+1)]>>4,j[M++]=C&255;if(V===1)C=U[D.charCodeAt(A)]<<10|U[D.charCodeAt(A+1)]<<4|U[D.charCodeAt(A+2)]>>2,j[M++]=C>>8&255,j[M++]=C&255;return j}function z(D){return $[D>>18&63]+$[D>>12&63]+$[D>>6&63]+$[D&63]}function W(D,C,H){var O,V=[];for(var j=C;jL?L:M+j));if(O===1)C=D[H-1],V.push($[C>>2]+$[C<<4&63]+"==");else if(O===2)C=(D[H-2]<<8)+D[H-1],V.push($[C>>10]+$[C>>4&63]+$[C<<2&63]+"=");return V.join("")}return U1}var S1={},tU;function zq(){if(tU)return S1;return tU=1,S1.read=function($,U,Y,Z,J){var G,X,Q=J*8-Z-1,B=(1<>1,z=-7,W=Y?J-1:0,k=Y?-1:1,D=$[U+W];W+=k,G=D&(1<<-z)-1,D>>=-z,z+=Q;for(;z>0;G=G*256+$[U+W],W+=k,z-=8);X=G&(1<<-z)-1,G>>=-z,z+=Z;for(;z>0;X=X*256+$[U+W],W+=k,z-=8);if(G===0)G=1-F;else if(G===B)return X?NaN:(D?-1:1)*(1/0);else X=X+Math.pow(2,Z),G=G-F;return(D?-1:1)*X*Math.pow(2,G-Z)},S1.write=function($,U,Y,Z,J,G){var X,Q,B,F=G*8-J-1,z=(1<>1,k=J===23?Math.pow(2,-24)-Math.pow(2,-77):0,D=Z?0:G-1,C=Z?1:-1,H=U<0||U===0&&1/U<0?1:0;if(U=Math.abs(U),isNaN(U)||U===1/0)Q=isNaN(U)?1:0,X=z;else{if(X=Math.floor(Math.log(U)/Math.LN2),U*(B=Math.pow(2,-X))<1)X--,B*=2;if(X+W>=1)U+=k/B;else U+=k*Math.pow(2,1-W);if(U*B>=2)X++,B/=2;if(X+W>=z)Q=0,X=z;else if(X+W>=1)Q=(U*B-1)*Math.pow(2,J),X=X+W;else Q=U*Math.pow(2,W-1)*Math.pow(2,J),X=0}for(;J>=8;$[Y+D]=Q&255,D+=C,Q/=256,J-=8);X=X<0;$[Y+D]=X&255,D+=C,X/=256,F-=8);$[Y+D-C]|=H*128},S1}var eU;function o1(){if(eU)return b8;return eU=1,function($){var U=jq(),Y=zq(),Z=typeof Symbol==="function"&&typeof Symbol.for==="function"?Symbol.for("nodejs.util.inspect.custom"):null;$.Buffer=Q,$.SlowBuffer=j,$.INSPECT_MAX_BYTES=50;var J=2147483647;if($.kMaxLength=J,Q.TYPED_ARRAY_SUPPORT=G(),!Q.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error==="function")console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function G(){try{var T=new Uint8Array(1),K={foo:function(){return 42}};return Object.setPrototypeOf(K,Uint8Array.prototype),Object.setPrototypeOf(T,K),T.foo()===42}catch(q){return!1}}Object.defineProperty(Q.prototype,"parent",{enumerable:!0,get:function(){if(!Q.isBuffer(this))return;return this.buffer}}),Object.defineProperty(Q.prototype,"offset",{enumerable:!0,get:function(){if(!Q.isBuffer(this))return;return this.byteOffset}});function X(T){if(T>J)throw RangeError('The value "'+T+'" is invalid for option "size"');var K=new Uint8Array(T);return Object.setPrototypeOf(K,Q.prototype),K}function Q(T,K,q){if(typeof T==="number"){if(typeof K==="string")throw TypeError('The "string" argument must be of type string. Received type number');return W(T)}return B(T,K,q)}Q.poolSize=8192;function B(T,K,q){if(typeof T==="string")return k(T,K);if(ArrayBuffer.isView(T))return C(T);if(T==null)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof T);if(e(T,ArrayBuffer)||T&&e(T.buffer,ArrayBuffer))return H(T,K,q);if(typeof SharedArrayBuffer<"u"&&(e(T,SharedArrayBuffer)||T&&e(T.buffer,SharedArrayBuffer)))return H(T,K,q);if(typeof T==="number")throw TypeError('The "value" argument must not be of type number. Received type number');var w=T.valueOf&&T.valueOf();if(w!=null&&w!==T)return Q.from(w,K,q);var x=O(T);if(x)return x;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof T[Symbol.toPrimitive]==="function")return Q.from(T[Symbol.toPrimitive]("string"),K,q);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof T)}Q.from=function(T,K,q){return B(T,K,q)},Object.setPrototypeOf(Q.prototype,Uint8Array.prototype),Object.setPrototypeOf(Q,Uint8Array);function F(T){if(typeof T!=="number")throw TypeError('"size" argument must be of type number');else if(T<0)throw RangeError('The value "'+T+'" is invalid for option "size"')}function z(T,K,q){if(F(T),T<=0)return X(T);if(K!==void 0)return typeof q==="string"?X(T).fill(K,q):X(T).fill(K);return X(T)}Q.alloc=function(T,K,q){return z(T,K,q)};function W(T){return F(T),X(T<0?0:V(T)|0)}Q.allocUnsafe=function(T){return W(T)},Q.allocUnsafeSlow=function(T){return W(T)};function k(T,K){if(typeof K!=="string"||K==="")K="utf8";if(!Q.isEncoding(K))throw TypeError("Unknown encoding: "+K);var q=M(T,K)|0,w=X(q),x=w.write(T,K);if(x!==q)w=w.slice(0,x);return w}function D(T){var K=T.length<0?0:V(T.length)|0,q=X(K);for(var w=0;w=J)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+J.toString(16)+" bytes");return T|0}function j(T){if(+T!=T)T=0;return Q.alloc(+T)}Q.isBuffer=function(K){return K!=null&&K._isBuffer===!0&&K!==Q.prototype},Q.compare=function(K,q){if(e(K,Uint8Array))K=Q.from(K,K.offset,K.byteLength);if(e(q,Uint8Array))q=Q.from(q,q.offset,q.byteLength);if(!Q.isBuffer(K)||!Q.isBuffer(q))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(K===q)return 0;var w=K.length,x=q.length;for(var l=0,u=Math.min(w,x);lx.length)Q.from(u).copy(x,l);else Uint8Array.prototype.set.call(x,u,l);else if(!Q.isBuffer(u))throw TypeError('"list" argument must be an Array of Buffers');else u.copy(x,l);l+=u.length}return x};function M(T,K){if(Q.isBuffer(T))return T.length;if(ArrayBuffer.isView(T)||e(T,ArrayBuffer))return T.byteLength;if(typeof T!=="string")throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof T);var q=T.length,w=arguments.length>2&&arguments[2]===!0;if(!w&&q===0)return 0;var x=!1;for(;;)switch(K){case"ascii":case"latin1":case"binary":return q;case"utf8":case"utf-8":return R(T).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return q*2;case"hex":return q>>>1;case"base64":return v(T).length;default:if(x)return w?-1:R(T).length;K=(""+K).toLowerCase(),x=!0}}Q.byteLength=M;function L(T,K,q){var w=!1;if(K===void 0||K<0)K=0;if(K>this.length)return"";if(q===void 0||q>this.length)q=this.length;if(q<=0)return"";if(q>>>=0,K>>>=0,q<=K)return"";if(!T)T="utf8";while(!0)switch(T){case"hex":return U0(this,K,q);case"utf8":case"utf-8":return N(this,K,q);case"ascii":return m(this,K,q);case"latin1":case"binary":return J0(this,K,q);case"base64":return h(this,K,q);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L0(this,K,q);default:if(w)throw TypeError("Unknown encoding: "+T);T=(T+"").toLowerCase(),w=!0}}Q.prototype._isBuffer=!0;function A(T,K,q){var w=T[K];T[K]=T[q],T[q]=w}if(Q.prototype.swap16=function(){var K=this.length;if(K%2!==0)throw RangeError("Buffer size must be a multiple of 16-bits");for(var q=0;qq)K+=" ... ";return""},Z)Q.prototype[Z]=Q.prototype.inspect;Q.prototype.compare=function(K,q,w,x,l){if(e(K,Uint8Array))K=Q.from(K,K.offset,K.byteLength);if(!Q.isBuffer(K))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof K);if(q===void 0)q=0;if(w===void 0)w=K?K.length:0;if(x===void 0)x=0;if(l===void 0)l=this.length;if(q<0||w>K.length||x<0||l>this.length)throw RangeError("out of range index");if(x>=l&&q>=w)return 0;if(x>=l)return-1;if(q>=w)return 1;if(q>>>=0,w>>>=0,x>>>=0,l>>>=0,this===K)return 0;var u=l-x,Q0=w-q,q0=Math.min(u,Q0),K0=this.slice(x,l),M0=K.slice(q,w);for(var w0=0;w02147483647)q=2147483647;else if(q<-2147483648)q=-2147483648;if(q=+q,I(q))q=x?0:T.length-1;if(q<0)q=T.length+q;if(q>=T.length)if(x)return-1;else q=T.length-1;else if(q<0)if(x)q=0;else return-1;if(typeof K==="string")K=Q.from(K,w);if(Q.isBuffer(K)){if(K.length===0)return-1;return g(T,K,q,w,x)}else if(typeof K==="number"){if(K=K&255,typeof Uint8Array.prototype.indexOf==="function")if(x)return Uint8Array.prototype.indexOf.call(T,K,q);else return Uint8Array.prototype.lastIndexOf.call(T,K,q);return g(T,[K],q,w,x)}throw TypeError("val must be string, number or Buffer")}function g(T,K,q,w,x){var l=1,u=T.length,Q0=K.length;if(w!==void 0){if(w=String(w).toLowerCase(),w==="ucs2"||w==="ucs-2"||w==="utf16le"||w==="utf-16le"){if(T.length<2||K.length<2)return-1;l=2,u/=2,Q0/=2,q/=2}}function q0(v0,j2){if(l===1)return v0[j2];else return v0.readUInt16BE(j2*l)}var K0;if(x){var M0=-1;for(K0=q;K0u)q=u-Q0;for(K0=q;K0>=0;K0--){var w0=!0;for(var H0=0;H0x)w=x;var l=K.length;if(w>l/2)w=l/2;for(var u=0;u>>0,isFinite(w)){if(w=w>>>0,x===void 0)x="utf8"}else x=w,w=void 0;else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var l=this.length-q;if(w===void 0||w>l)w=l;if(K.length>0&&(w<0||q<0)||q>this.length)throw RangeError("Attempt to write outside buffer bounds");if(!x)x="utf8";var u=!1;for(;;)switch(x){case"hex":return d(this,K,q,w);case"utf8":case"utf-8":return E(this,K,q,w);case"ascii":case"latin1":case"binary":return s(this,K,q,w);case"base64":return V0(this,K,q,w);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,K,q,w);default:if(u)throw TypeError("Unknown encoding: "+x);x=(""+x).toLowerCase(),u=!0}},Q.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function h(T,K,q){if(K===0&&q===T.length)return U.fromByteArray(T);else return U.fromByteArray(T.slice(K,q))}function N(T,K,q){q=Math.min(T.length,q);var w=[],x=K;while(x239?4:l>223?3:l>191?2:1;if(x+Q0<=q){var q0,K0,M0,w0;switch(Q0){case 1:if(l<128)u=l;break;case 2:if(q0=T[x+1],(q0&192)===128){if(w0=(l&31)<<6|q0&63,w0>127)u=w0}break;case 3:if(q0=T[x+1],K0=T[x+2],(q0&192)===128&&(K0&192)===128){if(w0=(l&15)<<12|(q0&63)<<6|K0&63,w0>2047&&(w0<55296||w0>57343))u=w0}break;case 4:if(q0=T[x+1],K0=T[x+2],M0=T[x+3],(q0&192)===128&&(K0&192)===128&&(M0&192)===128){if(w0=(l&15)<<18|(q0&63)<<12|(K0&63)<<6|M0&63,w0>65535&&w0<1114112)u=w0}}}if(u===null)u=65533,Q0=1;else if(u>65535)u-=65536,w.push(u>>>10&1023|55296),u=56320|u&1023;w.push(u),x+=Q0}return $0(w)}var a=4096;function $0(T){var K=T.length;if(K<=a)return String.fromCharCode.apply(String,T);var q="",w=0;while(ww)q=w;var x="";for(var l=K;lw)K=w;if(q<0){if(q+=w,q<0)q=0}else if(q>w)q=w;if(qq)throw RangeError("Trying to access beyond buffer length")}Q.prototype.readUintLE=Q.prototype.readUIntLE=function(K,q,w){if(K=K>>>0,q=q>>>0,!w)i(K,q,this.length);var x=this[K],l=1,u=0;while(++u>>0,q=q>>>0,!w)i(K,q,this.length);var x=this[K+--q],l=1;while(q>0&&(l*=256))x+=this[K+--q]*l;return x},Q.prototype.readUint8=Q.prototype.readUInt8=function(K,q){if(K=K>>>0,!q)i(K,1,this.length);return this[K]},Q.prototype.readUint16LE=Q.prototype.readUInt16LE=function(K,q){if(K=K>>>0,!q)i(K,2,this.length);return this[K]|this[K+1]<<8},Q.prototype.readUint16BE=Q.prototype.readUInt16BE=function(K,q){if(K=K>>>0,!q)i(K,2,this.length);return this[K]<<8|this[K+1]},Q.prototype.readUint32LE=Q.prototype.readUInt32LE=function(K,q){if(K=K>>>0,!q)i(K,4,this.length);return(this[K]|this[K+1]<<8|this[K+2]<<16)+this[K+3]*16777216},Q.prototype.readUint32BE=Q.prototype.readUInt32BE=function(K,q){if(K=K>>>0,!q)i(K,4,this.length);return this[K]*16777216+(this[K+1]<<16|this[K+2]<<8|this[K+3])},Q.prototype.readIntLE=function(K,q,w){if(K=K>>>0,q=q>>>0,!w)i(K,q,this.length);var x=this[K],l=1,u=0;while(++u=l)x-=Math.pow(2,8*q);return x},Q.prototype.readIntBE=function(K,q,w){if(K=K>>>0,q=q>>>0,!w)i(K,q,this.length);var x=q,l=1,u=this[K+--x];while(x>0&&(l*=256))u+=this[K+--x]*l;if(l*=128,u>=l)u-=Math.pow(2,8*q);return u},Q.prototype.readInt8=function(K,q){if(K=K>>>0,!q)i(K,1,this.length);if(!(this[K]&128))return this[K];return(255-this[K]+1)*-1},Q.prototype.readInt16LE=function(K,q){if(K=K>>>0,!q)i(K,2,this.length);var w=this[K]|this[K+1]<<8;return w&32768?w|4294901760:w},Q.prototype.readInt16BE=function(K,q){if(K=K>>>0,!q)i(K,2,this.length);var w=this[K+1]|this[K]<<8;return w&32768?w|4294901760:w},Q.prototype.readInt32LE=function(K,q){if(K=K>>>0,!q)i(K,4,this.length);return this[K]|this[K+1]<<8|this[K+2]<<16|this[K+3]<<24},Q.prototype.readInt32BE=function(K,q){if(K=K>>>0,!q)i(K,4,this.length);return this[K]<<24|this[K+1]<<16|this[K+2]<<8|this[K+3]},Q.prototype.readFloatLE=function(K,q){if(K=K>>>0,!q)i(K,4,this.length);return Y.read(this,K,!0,23,4)},Q.prototype.readFloatBE=function(K,q){if(K=K>>>0,!q)i(K,4,this.length);return Y.read(this,K,!1,23,4)},Q.prototype.readDoubleLE=function(K,q){if(K=K>>>0,!q)i(K,8,this.length);return Y.read(this,K,!0,52,8)},Q.prototype.readDoubleBE=function(K,q){if(K=K>>>0,!q)i(K,8,this.length);return Y.read(this,K,!1,52,8)};function _(T,K,q,w,x,l){if(!Q.isBuffer(T))throw TypeError('"buffer" argument must be a Buffer instance');if(K>x||KT.length)throw RangeError("Index out of range")}Q.prototype.writeUintLE=Q.prototype.writeUIntLE=function(K,q,w,x){if(K=+K,q=q>>>0,w=w>>>0,!x){var l=Math.pow(2,8*w)-1;_(this,K,q,w,l,0)}var u=1,Q0=0;this[q]=K&255;while(++Q0>>0,w=w>>>0,!x){var l=Math.pow(2,8*w)-1;_(this,K,q,w,l,0)}var u=w-1,Q0=1;this[q+u]=K&255;while(--u>=0&&(Q0*=256))this[q+u]=K/Q0&255;return q+w},Q.prototype.writeUint8=Q.prototype.writeUInt8=function(K,q,w){if(K=+K,q=q>>>0,!w)_(this,K,q,1,255,0);return this[q]=K&255,q+1},Q.prototype.writeUint16LE=Q.prototype.writeUInt16LE=function(K,q,w){if(K=+K,q=q>>>0,!w)_(this,K,q,2,65535,0);return this[q]=K&255,this[q+1]=K>>>8,q+2},Q.prototype.writeUint16BE=Q.prototype.writeUInt16BE=function(K,q,w){if(K=+K,q=q>>>0,!w)_(this,K,q,2,65535,0);return this[q]=K>>>8,this[q+1]=K&255,q+2},Q.prototype.writeUint32LE=Q.prototype.writeUInt32LE=function(K,q,w){if(K=+K,q=q>>>0,!w)_(this,K,q,4,4294967295,0);return this[q+3]=K>>>24,this[q+2]=K>>>16,this[q+1]=K>>>8,this[q]=K&255,q+4},Q.prototype.writeUint32BE=Q.prototype.writeUInt32BE=function(K,q,w){if(K=+K,q=q>>>0,!w)_(this,K,q,4,4294967295,0);return this[q]=K>>>24,this[q+1]=K>>>16,this[q+2]=K>>>8,this[q+3]=K&255,q+4},Q.prototype.writeIntLE=function(K,q,w,x){if(K=+K,q=q>>>0,!x){var l=Math.pow(2,8*w-1);_(this,K,q,w,l-1,-l)}var u=0,Q0=1,q0=0;this[q]=K&255;while(++u>0)-q0&255}return q+w},Q.prototype.writeIntBE=function(K,q,w,x){if(K=+K,q=q>>>0,!x){var l=Math.pow(2,8*w-1);_(this,K,q,w,l-1,-l)}var u=w-1,Q0=1,q0=0;this[q+u]=K&255;while(--u>=0&&(Q0*=256)){if(K<0&&q0===0&&this[q+u+1]!==0)q0=1;this[q+u]=(K/Q0>>0)-q0&255}return q+w},Q.prototype.writeInt8=function(K,q,w){if(K=+K,q=q>>>0,!w)_(this,K,q,1,127,-128);if(K<0)K=255+K+1;return this[q]=K&255,q+1},Q.prototype.writeInt16LE=function(K,q,w){if(K=+K,q=q>>>0,!w)_(this,K,q,2,32767,-32768);return this[q]=K&255,this[q+1]=K>>>8,q+2},Q.prototype.writeInt16BE=function(K,q,w){if(K=+K,q=q>>>0,!w)_(this,K,q,2,32767,-32768);return this[q]=K>>>8,this[q+1]=K&255,q+2},Q.prototype.writeInt32LE=function(K,q,w){if(K=+K,q=q>>>0,!w)_(this,K,q,4,2147483647,-2147483648);return this[q]=K&255,this[q+1]=K>>>8,this[q+2]=K>>>16,this[q+3]=K>>>24,q+4},Q.prototype.writeInt32BE=function(K,q,w){if(K=+K,q=q>>>0,!w)_(this,K,q,4,2147483647,-2147483648);if(K<0)K=4294967295+K+1;return this[q]=K>>>24,this[q+1]=K>>>16,this[q+2]=K>>>8,this[q+3]=K&255,q+4};function r(T,K,q,w,x,l){if(q+w>T.length)throw RangeError("Index out of range");if(q<0)throw RangeError("Index out of range")}function n(T,K,q,w,x){if(K=+K,q=q>>>0,!x)r(T,K,q,4);return Y.write(T,K,q,w,23,4),q+4}Q.prototype.writeFloatLE=function(K,q,w){return n(this,K,q,!0,w)},Q.prototype.writeFloatBE=function(K,q,w){return n(this,K,q,!1,w)};function Z0(T,K,q,w,x){if(K=+K,q=q>>>0,!x)r(T,K,q,8);return Y.write(T,K,q,w,52,8),q+8}Q.prototype.writeDoubleLE=function(K,q,w){return Z0(this,K,q,!0,w)},Q.prototype.writeDoubleBE=function(K,q,w){return Z0(this,K,q,!1,w)},Q.prototype.copy=function(K,q,w,x){if(!Q.isBuffer(K))throw TypeError("argument should be a Buffer");if(!w)w=0;if(!x&&x!==0)x=this.length;if(q>=K.length)q=K.length;if(!q)q=0;if(x>0&&x=this.length)throw RangeError("Index out of range");if(x<0)throw RangeError("sourceEnd out of bounds");if(x>this.length)x=this.length;if(K.length-q>>0,w=w===void 0?this.length:w>>>0,!K)K=0;var u;if(typeof K==="number")for(u=q;u55295&&q<57344){if(!x){if(q>56319){if((K-=3)>-1)l.push(239,191,189);continue}else if(u+1===w){if((K-=3)>-1)l.push(239,191,189);continue}x=q;continue}if(q<56320){if((K-=3)>-1)l.push(239,191,189);x=q;continue}q=(x-55296<<10|q-56320)+65536}else if(x){if((K-=3)>-1)l.push(239,191,189)}if(x=null,q<128){if((K-=1)<0)break;l.push(q)}else if(q<2048){if((K-=2)<0)break;l.push(q>>6|192,q&63|128)}else if(q<65536){if((K-=3)<0)break;l.push(q>>12|224,q>>6&63|128,q&63|128)}else if(q<1114112){if((K-=4)<0)break;l.push(q>>18|240,q>>12&63|128,q>>6&63|128,q&63|128)}else throw Error("Invalid code point")}return l}function c(T){var K=[];for(var q=0;q>8,x=q%256,l.push(x),l.push(w)}return l}function v(T){return U.toByteArray(P(T))}function b(T,K,q,w){for(var x=0;x=K.length||x>=T.length)break;K[x+q]=T[x]}return x}function e(T,K){return T instanceof K||T!=null&&T.constructor!=null&&T.constructor.name!=null&&T.constructor.name===K.name}function I(T){return T!==T}var t=function(){var T="0123456789abcdef",K=Array(256);for(var q=0;q<16;++q){var w=q*16;for(var x=0;x<16;++x)K[w+x]=T[q]+T[x]}return K}()}(b8),b8}var g8={},x8={},f8,$Y;function QQ(){if($Y)return f8;return $Y=1,f8=function(){if(typeof Symbol!=="function"||typeof Object.getOwnPropertySymbols!=="function")return!1;if(typeof Symbol.iterator==="symbol")return!0;var U={},Y=Symbol("test"),Z=Object(Y);if(typeof Y==="string")return!1;if(Object.prototype.toString.call(Y)!=="[object Symbol]")return!1;if(Object.prototype.toString.call(Z)!=="[object Symbol]")return!1;var J=42;U[Y]=J;for(var G in U)return!1;if(typeof Object.keys==="function"&&Object.keys(U).length!==0)return!1;if(typeof Object.getOwnPropertyNames==="function"&&Object.getOwnPropertyNames(U).length!==0)return!1;var X=Object.getOwnPropertySymbols(U);if(X.length!==1||X[0]!==Y)return!1;if(!Object.prototype.propertyIsEnumerable.call(U,Y))return!1;if(typeof Object.getOwnPropertyDescriptor==="function"){var Q=Object.getOwnPropertyDescriptor(U,Y);if(Q.value!==J||Q.enumerable!==!0)return!1}return!0},f8}var h8,UY;function f9(){if(UY)return h8;UY=1;var $=QQ();return h8=function(){return $()&&!!Symbol.toStringTag},h8}var u8,YY;function JQ(){if(YY)return u8;return YY=1,u8=Object,u8}var d8,ZY;function Fq(){if(ZY)return d8;return ZY=1,d8=Error,d8}var c8,QY;function Nq(){if(QY)return c8;return QY=1,c8=EvalError,c8}var m8,JY;function Rq(){if(JY)return m8;return JY=1,m8=RangeError,m8}var l8,GY;function Dq(){if(GY)return l8;return GY=1,l8=ReferenceError,l8}var a8,KY;function GQ(){if(KY)return a8;return KY=1,a8=SyntaxError,a8}var p8,qY;function t1(){if(qY)return p8;return qY=1,p8=TypeError,p8}var i8,XY;function Aq(){if(XY)return i8;return XY=1,i8=URIError,i8}var r8,VY;function Pq(){if(VY)return r8;return VY=1,r8=Math.abs,r8}var s8,BY;function Tq(){if(BY)return s8;return BY=1,s8=Math.floor,s8}var n8,LY;function Cq(){if(LY)return n8;return LY=1,n8=Math.max,n8}var o8,MY;function Oq(){if(MY)return o8;return MY=1,o8=Math.min,o8}var t8,IY;function kq(){if(IY)return t8;return IY=1,t8=Math.pow,t8}var e8,wY;function Eq(){if(wY)return e8;return wY=1,e8=Math.round,e8}var $6,WY;function Sq(){if(WY)return $6;return WY=1,$6=Number.isNaN||function(U){return U!==U},$6}var U6,HY;function vq(){if(HY)return U6;HY=1;var $=Sq();return U6=function(Y){if($(Y)||Y===0)return Y;return Y<0?-1:1},U6}var Y6,jY;function _q(){if(jY)return Y6;return jY=1,Y6=Object.getOwnPropertyDescriptor,Y6}var Z6,zY;function I1(){if(zY)return Z6;zY=1;var $=_q();if($)try{$([],"length")}catch(U){$=null}return Z6=$,Z6}var Q6,FY;function e1(){if(FY)return Q6;FY=1;var $=Object.defineProperty||!1;if($)try{$({},"a",{value:1})}catch(U){$=!1}return Q6=$,Q6}var J6,NY;function yq(){if(NY)return J6;NY=1;var $=typeof Symbol<"u"&&Symbol,U=QQ();return J6=function(){if(typeof $!=="function")return!1;if(typeof Symbol!=="function")return!1;if(typeof $("foo")!=="symbol")return!1;if(typeof Symbol("bar")!=="symbol")return!1;return U()},J6}var G6,RY;function KQ(){if(RY)return G6;return RY=1,G6=typeof Reflect<"u"&&Reflect.getPrototypeOf||null,G6}var K6,DY;function qQ(){if(DY)return K6;DY=1;var $=JQ();return K6=$.getPrototypeOf||null,K6}var q6,AY;function bq(){if(AY)return q6;AY=1;var $="Function.prototype.bind called on incompatible ",U=Object.prototype.toString,Y=Math.max,Z="[object Function]",J=function(B,F){var z=[];for(var W=0;W"u"||!g?$:g(Uint8Array),N={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?$:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?$:ArrayBuffer,"%ArrayIteratorPrototype%":y&&g?g([][Symbol.iterator]()):$,"%AsyncFromSyncIteratorPrototype%":$,"%AsyncFunction%":S,"%AsyncGenerator%":S,"%AsyncGeneratorFunction%":S,"%AsyncIteratorPrototype%":S,"%Atomics%":typeof Atomics>"u"?$:Atomics,"%BigInt%":typeof BigInt>"u"?$:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?$:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?$:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?$:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Y,"%eval%":eval,"%EvalError%":Z,"%Float16Array%":typeof Float16Array>"u"?$:Float16Array,"%Float32Array%":typeof Float32Array>"u"?$:Float32Array,"%Float64Array%":typeof Float64Array>"u"?$:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?$:FinalizationRegistry,"%Function%":O,"%GeneratorFunction%":S,"%Int8Array%":typeof Int8Array>"u"?$:Int8Array,"%Int16Array%":typeof Int16Array>"u"?$:Int16Array,"%Int32Array%":typeof Int32Array>"u"?$:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":y&&g?g(g([][Symbol.iterator]())):$,"%JSON%":typeof JSON==="object"?JSON:$,"%Map%":typeof Map>"u"?$:Map,"%MapIteratorPrototype%":typeof Map>"u"||!y||!g?$:g(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":U,"%Object.getOwnPropertyDescriptor%":j,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?$:Promise,"%Proxy%":typeof Proxy>"u"?$:Proxy,"%RangeError%":J,"%ReferenceError%":G,"%Reflect%":typeof Reflect>"u"?$:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?$:Set,"%SetIteratorPrototype%":typeof Set>"u"||!y||!g?$:g(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?$:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":y&&g?g(""[Symbol.iterator]()):$,"%Symbol%":y?Symbol:$,"%SyntaxError%":X,"%ThrowTypeError%":A,"%TypedArray%":h,"%TypeError%":Q,"%Uint8Array%":typeof Uint8Array>"u"?$:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?$:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?$:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?$:Uint32Array,"%URIError%":B,"%WeakMap%":typeof WeakMap>"u"?$:WeakMap,"%WeakRef%":typeof WeakRef>"u"?$:WeakRef,"%WeakSet%":typeof WeakSet>"u"?$:WeakSet,"%Function.prototype.call%":V0,"%Function.prototype.apply%":s,"%Object.defineProperty%":M,"%Object.getPrototypeOf%":d,"%Math.abs%":F,"%Math.floor%":z,"%Math.max%":W,"%Math.min%":k,"%Math.pow%":D,"%Math.round%":C,"%Math.sign%":H,"%Reflect.getPrototypeOf%":E};if(g)try{null.error}catch(c){var a=g(g(c));N["%Error.prototype%"]=a}var $0=function c(f){var v;if(f==="%AsyncFunction%")v=V("async function () {}");else if(f==="%GeneratorFunction%")v=V("function* () {}");else if(f==="%AsyncGeneratorFunction%")v=V("async function* () {}");else if(f==="%AsyncGenerator%"){var b=c("%AsyncGeneratorFunction%");if(b)v=b.prototype}else if(f==="%AsyncIteratorPrototype%"){var e=c("%AsyncGenerator%");if(e&&g)v=g(e.prototype)}return N[f]=v,v},m={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},J0=w1(),U0=fq(),L0=J0.call(V0,Array.prototype.concat),i=J0.call(s,Array.prototype.splice),_=J0.call(V0,String.prototype.replace),r=J0.call(V0,String.prototype.slice),n=J0.call(V0,RegExp.prototype.exec),Z0=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,p=/\\(\\)?/g,P=function(f){var v=r(f,0,1),b=r(f,-1);if(v==="%"&&b!=="%")throw new X("invalid intrinsic syntax, expected closing `%`");else if(b==="%"&&v!=="%")throw new X("invalid intrinsic syntax, expected opening `%`");var e=[];return _(f,Z0,function(I,t,T,K){e[e.length]=T?_(K,p,"$1"):t||I}),e},R=function(f,v){var b=f,e;if(U0(m,b))e=m[b],b="%"+e[0]+"%";if(U0(N,b)){var I=N[b];if(I===S)I=$0(b);if(typeof I>"u"&&!v)throw new Q("intrinsic "+f+" exists, but is not available. Please file an issue!");return{alias:e,name:b,value:I}}throw new X("intrinsic "+f+" does not exist!")};return j6=function(f,v){if(typeof f!=="string"||f.length===0)throw new Q("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof v!=="boolean")throw new Q('"allowMissing" argument must be a boolean');if(n(/^%?[^%]*%?$/,f)===null)throw new X("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var b=P(f),e=b.length>0?b[0]:"",I=R("%"+e+"%",v),t=I.name,T=I.value,K=!1,q=I.alias;if(q)e=q[0],i(b,L0([0,1],q));for(var w=1,x=!0;w=b.length){var q0=j(T,l);if(x=!!q0,x&&"get"in q0&&!("originalValue"in q0.get))T=q0.get;else T=T[l]}else x=U0(T,l),T=T[l];if(x&&!K)N[t]=T}}return T},j6}var z6,bY;function LQ(){if(bY)return z6;bY=1;var $=BQ(),U=d9(),Y=U([$("%String.prototype.indexOf%")]);return z6=function(J,G){var X=$(J,!!G);if(typeof X==="function"&&Y(J,".prototype.")>-1)return U([X]);return X},z6}var F6,gY;function hq(){if(gY)return F6;gY=1;var $=f9()(),U=LQ(),Y=U("Object.prototype.toString"),Z=function(Q){if($&&Q&&typeof Q==="object"&&Symbol.toStringTag in Q)return!1;return Y(Q)==="[object Arguments]"},J=function(Q){if(Z(Q))return!0;return Q!==null&&typeof Q==="object"&&"length"in Q&&typeof Q.length==="number"&&Q.length>=0&&Y(Q)!=="[object Array]"&&"callee"in Q&&Y(Q.callee)==="[object Function]"},G=function(){return Z(arguments)}();return Z.isLegacyArguments=J,F6=G?Z:J,F6}var N6,xY;function uq(){if(xY)return N6;xY=1;var $=Object.prototype.toString,U=Function.prototype.toString,Y=/^\s*(?:function)?\*/,Z=f9()(),J=Object.getPrototypeOf,G=function(){if(!Z)return!1;try{return Function("return function*() {}")()}catch(Q){}},X;return N6=function(B){if(typeof B!=="function")return!1;if(Y.test(U.call(B)))return!0;if(!Z){var F=$.call(B);return F==="[object GeneratorFunction]"}if(!J)return!1;if(typeof X>"u"){var z=G();X=z?J(z):!1}return J(B)===X},N6}var R6,fY;function dq(){if(fY)return R6;fY=1;var $=Function.prototype.toString,U=typeof Reflect==="object"&&Reflect!==null&&Reflect.apply,Y,Z;if(typeof U==="function"&&typeof Object.defineProperty==="function")try{Y=Object.defineProperty({},"length",{get:function(){throw Z}}),Z={},U(function(){throw 42},null,Y)}catch(j){if(j!==Z)U=null}else U=null;var J=/^\s*class\b/,G=function(M){try{var L=$.call(M);return J.test(L)}catch(A){return!1}},X=function(M){try{if(G(M))return!1;return $.call(M),!0}catch(L){return!1}},Q=Object.prototype.toString,B="[object Object]",F="[object Function]",z="[object GeneratorFunction]",W="[object HTMLAllCollection]",k="[object HTML document.all class]",D="[object HTMLCollection]",C=typeof Symbol==="function"&&!!Symbol.toStringTag,H=!(0 in[,]),O=function(){return!1};if(typeof document==="object"){var V=document.all;if(Q.call(V)===Q.call(document.all))O=function(M){if((H||!M)&&(typeof M>"u"||typeof M==="object"))try{var L=Q.call(M);return(L===W||L===k||L===D||L===B)&&M("")==null}catch(A){}return!1}}return R6=U?function(M){if(O(M))return!0;if(!M)return!1;if(typeof M!=="function"&&typeof M!=="object")return!1;try{U(M,null,Y)}catch(L){if(L!==Z)return!1}return!G(M)&&X(M)}:function(M){if(O(M))return!0;if(!M)return!1;if(typeof M!=="function"&&typeof M!=="object")return!1;if(C)return X(M);if(G(M))return!1;var L=Q.call(M);if(L!==F&&L!==z&&!/^\[object HTML/.test(L))return!1;return X(M)},R6}var D6,hY;function cq(){if(hY)return D6;hY=1;var $=dq(),U=Object.prototype.toString,Y=Object.prototype.hasOwnProperty,Z=function(B,F,z){for(var W=0,k=B.length;W=3)W=z;if(X(B))Z(B,F,W);else if(typeof B==="string")J(B,F,W);else G(B,F,W)},D6}var A6,uY;function mq(){if(uY)return A6;return uY=1,A6=["Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"],A6}var P6,dY;function lq(){if(dY)return P6;dY=1;var $=mq(),U=typeof globalThis>"u"?c0:globalThis;return P6=function(){var Z=[];for(var J=0;J<$.length;J++)if(typeof U[$[J]]==="function")Z[Z.length]=$[J];return Z},P6}var T6={exports:{}},C6,cY;function aq(){if(cY)return C6;cY=1;var $=e1(),U=GQ(),Y=t1(),Z=I1();return C6=function(G,X,Q){if(!G||typeof G!=="object"&&typeof G!=="function")throw new Y("`obj` must be an object or a function`");if(typeof X!=="string"&&typeof X!=="symbol")throw new Y("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!=="boolean"&&arguments[3]!==null)throw new Y("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!=="boolean"&&arguments[4]!==null)throw new Y("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!=="boolean"&&arguments[5]!==null)throw new Y("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!=="boolean")throw new Y("`loose`, if provided, must be a boolean");var B=arguments.length>3?arguments[3]:null,F=arguments.length>4?arguments[4]:null,z=arguments.length>5?arguments[5]:null,W=arguments.length>6?arguments[6]:!1,k=!!Z&&Z(G,X);if($)$(G,X,{configurable:z===null&&k?k.configurable:!z,enumerable:B===null&&k?k.enumerable:!B,value:Q,writable:F===null&&k?k.writable:!F});else if(W||!B&&!F&&!z)G[X]=Q;else throw new U("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},C6}var O6,mY;function pq(){if(mY)return O6;mY=1;var $=e1(),U=function(){return!!$};return U.hasArrayLengthDefineBug=function(){if(!$)return null;try{return $([],"length",{value:1}).length!==1}catch(Z){return!0}},O6=U,O6}var k6,lY;function iq(){if(lY)return k6;lY=1;var $=BQ(),U=aq(),Y=pq()(),Z=I1(),J=t1(),G=$("%Math.floor%");return k6=function(Q,B){if(typeof Q!=="function")throw new J("`fn` is not a function");if(typeof B!=="number"||B<0||B>4294967295||G(B)!==B)throw new J("`length` must be a positive 32-bit integer");var F=arguments.length>2&&!!arguments[2],z=!0,W=!0;if("length"in Q&&Z){var k=Z(Q,"length");if(k&&!k.configurable)z=!1;if(k&&!k.writable)W=!1}if(z||W||!F)if(Y)U(Q,"length",B,!0,!0);else U(Q,"length",B);return Q},k6}var E6,aY;function rq(){if(aY)return E6;aY=1;var $=w1(),U=u9(),Y=XQ();return E6=function(){return Y($,U,arguments)},E6}var pY;function sq(){if(pY)return T6.exports;return pY=1,function($){var U=iq(),Y=e1(),Z=d9(),J=rq();if($.exports=function(X){var Q=Z(arguments),B=X.length-(arguments.length-1);return U(Q,1+(B>0?B:0),!0)},Y)Y($.exports,"apply",{value:J});else $.exports.apply=J}(T6),T6.exports}var S6,iY;function MQ(){if(iY)return S6;iY=1;var $=cq(),U=lq(),Y=sq(),Z=LQ(),J=I1(),G=VQ(),X=Z("Object.prototype.toString"),Q=f9()(),B=typeof globalThis>"u"?c0:globalThis,F=U(),z=Z("String.prototype.slice"),W=Z("Array.prototype.indexOf",!0)||function(O,V){for(var j=0;j-1)return V;if(V!=="Object")return!1;return C(O)}if(!J)return null;return D(O)},S6}var v6,rY;function nq(){if(rY)return v6;rY=1;var $=MQ();return v6=function(Y){return!!$(Y)},v6}var sY;function oq(){if(sY)return x8;return sY=1,function($){var U=hq(),Y=uq(),Z=MQ(),J=nq();function G(w){return w.call.bind(w)}var X=typeof BigInt<"u",Q=typeof Symbol<"u",B=G(Object.prototype.toString),F=G(Number.prototype.valueOf),z=G(String.prototype.valueOf),W=G(Boolean.prototype.valueOf);if(X)var k=G(BigInt.prototype.valueOf);if(Q)var D=G(Symbol.prototype.valueOf);function C(w,x){if(typeof w!=="object")return!1;try{return x(w),!0}catch(l){return!1}}$.isArgumentsObject=U,$.isGeneratorFunction=Y,$.isTypedArray=J;function H(w){return typeof Promise<"u"&&w instanceof Promise||w!==null&&typeof w==="object"&&typeof w.then==="function"&&typeof w.catch==="function"}$.isPromise=H;function O(w){if(typeof ArrayBuffer<"u"&&ArrayBuffer.isView)return ArrayBuffer.isView(w);return J(w)||r(w)}$.isArrayBufferView=O;function V(w){return Z(w)==="Uint8Array"}$.isUint8Array=V;function j(w){return Z(w)==="Uint8ClampedArray"}$.isUint8ClampedArray=j;function M(w){return Z(w)==="Uint16Array"}$.isUint16Array=M;function L(w){return Z(w)==="Uint32Array"}$.isUint32Array=L;function A(w){return Z(w)==="Int8Array"}$.isInt8Array=A;function y(w){return Z(w)==="Int16Array"}$.isInt16Array=y;function g(w){return Z(w)==="Int32Array"}$.isInt32Array=g;function d(w){return Z(w)==="Float32Array"}$.isFloat32Array=d;function E(w){return Z(w)==="Float64Array"}$.isFloat64Array=E;function s(w){return Z(w)==="BigInt64Array"}$.isBigInt64Array=s;function V0(w){return Z(w)==="BigUint64Array"}$.isBigUint64Array=V0;function S(w){return B(w)==="[object Map]"}S.working=typeof Map<"u"&&S(new Map);function h(w){if(typeof Map>"u")return!1;return S.working?S(w):w instanceof Map}$.isMap=h;function N(w){return B(w)==="[object Set]"}N.working=typeof Set<"u"&&N(new Set);function a(w){if(typeof Set>"u")return!1;return N.working?N(w):w instanceof Set}$.isSet=a;function $0(w){return B(w)==="[object WeakMap]"}$0.working=typeof WeakMap<"u"&&$0(new WeakMap);function m(w){if(typeof WeakMap>"u")return!1;return $0.working?$0(w):w instanceof WeakMap}$.isWeakMap=m;function J0(w){return B(w)==="[object WeakSet]"}J0.working=typeof WeakSet<"u"&&J0(new WeakSet);function U0(w){return J0(w)}$.isWeakSet=U0;function L0(w){return B(w)==="[object ArrayBuffer]"}L0.working=typeof ArrayBuffer<"u"&&L0(new ArrayBuffer);function i(w){if(typeof ArrayBuffer>"u")return!1;return L0.working?L0(w):w instanceof ArrayBuffer}$.isArrayBuffer=i;function _(w){return B(w)==="[object DataView]"}_.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&_(new DataView(new ArrayBuffer(1),0,1));function r(w){if(typeof DataView>"u")return!1;return _.working?_(w):w instanceof DataView}$.isDataView=r;var n=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function Z0(w){return B(w)==="[object SharedArrayBuffer]"}function p(w){if(typeof n>"u")return!1;if(typeof Z0.working>"u")Z0.working=Z0(new n);return Z0.working?Z0(w):w instanceof n}$.isSharedArrayBuffer=p;function P(w){return B(w)==="[object AsyncFunction]"}$.isAsyncFunction=P;function R(w){return B(w)==="[object Map Iterator]"}$.isMapIterator=R;function c(w){return B(w)==="[object Set Iterator]"}$.isSetIterator=c;function f(w){return B(w)==="[object Generator]"}$.isGeneratorObject=f;function v(w){return B(w)==="[object WebAssembly.Module]"}$.isWebAssemblyCompiledModule=v;function b(w){return C(w,F)}$.isNumberObject=b;function e(w){return C(w,z)}$.isStringObject=e;function I(w){return C(w,W)}$.isBooleanObject=I;function t(w){return X&&C(w,k)}$.isBigIntObject=t;function T(w){return Q&&C(w,D)}$.isSymbolObject=T;function K(w){return b(w)||e(w)||I(w)||t(w)||T(w)}$.isBoxedPrimitive=K;function q(w){return typeof Uint8Array<"u"&&(i(w)||p(w))}$.isAnyArrayBuffer=q,["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(w){Object.defineProperty($,w,{enumerable:!1,value:function(){throw Error(w+" is not supported in userland")}})})}(x8),x8}var _6,nY;function tq(){if(nY)return _6;return nY=1,_6=function(U){return U&&typeof U==="object"&&typeof U.copy==="function"&&typeof U.fill==="function"&&typeof U.readUInt8==="function"},_6}var oY;function IQ(){if(oY)return g8;return oY=1,function($){var U=Object.getOwnPropertyDescriptors||function(r){var n=Object.keys(r),Z0={};for(var p=0;p=p)return c;switch(c){case"%s":return String(Z0[n++]);case"%d":return Number(Z0[n++]);case"%j":try{return JSON.stringify(Z0[n++])}catch(f){return"[Circular]"}default:return c}});for(var R=Z0[n];n"u")return function(){return $.deprecate(_,r).apply(this,arguments)};var n=!1;function Z0(){if(!n){if(j0.throwDeprecation)throw Error(r);else if(j0.traceDeprecation)console.trace(r);else console.error(r);n=!0}return _.apply(this,arguments)}return Z0};var Z={},J=/^$/;if(j0.env.NODE_DEBUG){var G=j0.env.NODE_DEBUG;G=G.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),J=new RegExp("^"+G+"$","i")}$.debuglog=function(_){if(_=_.toUpperCase(),!Z[_])if(J.test(_)){var r=j0.pid;Z[_]=function(){var n=$.format.apply($,arguments);console.error("%s %d: %s",_,r,n)}}else Z[_]=function(){};return Z[_]};function X(_,r){var n={seen:[],stylize:B};if(arguments.length>=3)n.depth=arguments[2];if(arguments.length>=4)n.colors=arguments[3];if(V(r))n.showHidden=r;else if(r)$._extend(n,r);if(g(n.showHidden))n.showHidden=!1;if(g(n.depth))n.depth=2;if(g(n.colors))n.colors=!1;if(g(n.customInspect))n.customInspect=!0;if(n.colors)n.stylize=Q;return z(n,_,n.depth)}$.inspect=X,X.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},X.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function Q(_,r){var n=X.styles[r];if(n)return"\x1B["+X.colors[n][0]+"m"+_+"\x1B["+X.colors[n][1]+"m";else return _}function B(_,r){return _}function F(_){var r={};return _.forEach(function(n,Z0){r[n]=!0}),r}function z(_,r,n){if(_.customInspect&&r&&S(r.inspect)&&r.inspect!==$.inspect&&!(r.constructor&&r.constructor.prototype===r)){var Z0=r.inspect(n,_);if(!A(Z0))Z0=z(_,Z0,n);return Z0}var p=W(_,r);if(p)return p;var P=Object.keys(r),R=F(P);if(_.showHidden)P=Object.getOwnPropertyNames(r);if(V0(r)&&(P.indexOf("message")>=0||P.indexOf("description")>=0))return k(r);if(P.length===0){if(S(r)){var c=r.name?": "+r.name:"";return _.stylize("[Function"+c+"]","special")}if(d(r))return _.stylize(RegExp.prototype.toString.call(r),"regexp");if(s(r))return _.stylize(Date.prototype.toString.call(r),"date");if(V0(r))return k(r)}var f="",v=!1,b=["{","}"];if(O(r))v=!0,b=["[","]"];if(S(r)){var e=r.name?": "+r.name:"";f=" [Function"+e+"]"}if(d(r))f=" "+RegExp.prototype.toString.call(r);if(s(r))f=" "+Date.prototype.toUTCString.call(r);if(V0(r))f=" "+k(r);if(P.length===0&&(!v||r.length==0))return b[0]+f+b[1];if(n<0)if(d(r))return _.stylize(RegExp.prototype.toString.call(r),"regexp");else return _.stylize("[Object]","special");_.seen.push(r);var I;if(v)I=D(_,r,n,R,P);else I=P.map(function(t){return C(_,r,n,R,t,v)});return _.seen.pop(),H(I,f,b)}function W(_,r){if(g(r))return _.stylize("undefined","undefined");if(A(r)){var n="'"+JSON.stringify(r).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return _.stylize(n,"string")}if(L(r))return _.stylize(""+r,"number");if(V(r))return _.stylize(""+r,"boolean");if(j(r))return _.stylize("null","null")}function k(_){return"["+Error.prototype.toString.call(_)+"]"}function D(_,r,n,Z0,p){var P=[];for(var R=0,c=r.length;R-1)if(P)c=c.split(` -`).map(function(v){return" "+v}).join(` -`).slice(2);else c=` -`+c.split(` -`).map(function(v){return" "+v}).join(` -`)}else c=_.stylize("[Circular]","special");if(g(R)){if(P&&p.match(/^\d+$/))return c;if(R=JSON.stringify(""+p),R.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/))R=R.slice(1,-1),R=_.stylize(R,"name");else R=R.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),R=_.stylize(R,"string")}return R+": "+c}function H(_,r,n){var Z0=_.reduce(function(p,P){if(P.indexOf(` -`)>=0);return p+P.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(Z0>60)return n[0]+(r===""?"":r+` - `)+" "+_.join(`, - `)+" "+n[1];return n[0]+r+" "+_.join(", ")+" "+n[1]}$.types=oq();function O(_){return Array.isArray(_)}$.isArray=O;function V(_){return typeof _==="boolean"}$.isBoolean=V;function j(_){return _===null}$.isNull=j;function M(_){return _==null}$.isNullOrUndefined=M;function L(_){return typeof _==="number"}$.isNumber=L;function A(_){return typeof _==="string"}$.isString=A;function y(_){return typeof _==="symbol"}$.isSymbol=y;function g(_){return _===void 0}$.isUndefined=g;function d(_){return E(_)&&N(_)==="[object RegExp]"}$.isRegExp=d,$.types.isRegExp=d;function E(_){return typeof _==="object"&&_!==null}$.isObject=E;function s(_){return E(_)&&N(_)==="[object Date]"}$.isDate=s,$.types.isDate=s;function V0(_){return E(_)&&(N(_)==="[object Error]"||_ instanceof Error)}$.isError=V0,$.types.isNativeError=V0;function S(_){return typeof _==="function"}$.isFunction=S;function h(_){return _===null||typeof _==="boolean"||typeof _==="number"||typeof _==="string"||typeof _==="symbol"||typeof _>"u"}$.isPrimitive=h,$.isBuffer=tq();function N(_){return Object.prototype.toString.call(_)}function a(_){return _<10?"0"+_.toString(10):_.toString(10)}var $0=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function m(){var _=new Date,r=[a(_.getHours()),a(_.getMinutes()),a(_.getSeconds())].join(":");return[_.getDate(),$0[_.getMonth()],r].join(" ")}$.log=function(){console.log("%s - %s",m(),$.format.apply($,arguments))},$.inherits=R2(),$._extend=function(_,r){if(!r||!E(r))return _;var n=Object.keys(r),Z0=n.length;while(Z0--)_[n[Z0]]=r[n[Z0]];return _};function J0(_,r){return Object.prototype.hasOwnProperty.call(_,r)}var U0=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;$.promisify=function(r){if(typeof r!=="function")throw TypeError('The "original" argument must be of type Function');if(U0&&r[U0]){var n=r[U0];if(typeof n!=="function")throw TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(n,U0,{value:n,enumerable:!1,writable:!1,configurable:!0}),n}function n(){var Z0,p,P=new Promise(function(f,v){Z0=f,p=v}),R=[];for(var c=0;c0)this.tail.next=V;else this.head=V;this.tail=V,++this.length}},{key:"unshift",value:function(O){var V={data:O,next:this.head};if(this.length===0)this.tail=V;this.head=V,++this.length}},{key:"shift",value:function(){if(this.length===0)return;var O=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;return--this.length,O}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(O){if(this.length===0)return"";var V=this.head,j=""+V.data;while(V=V.next)j+=O+V.data;return j}},{key:"concat",value:function(O){if(this.length===0)return F.alloc(0);var V=F.allocUnsafe(O>>>0),j=this.head,M=0;while(j)D(j.data,V,M),M+=j.data.length,j=j.next;return V}},{key:"consume",value:function(O,V){var j;if(OL.length?L.length:O;if(A===L.length)M+=L;else M+=L.slice(0,O);if(O-=A,O===0){if(A===L.length)if(++j,V.next)this.head=V.next;else this.head=this.tail=null;else this.head=V,V.data=L.slice(A);break}++j}return this.length-=j,M}},{key:"_getBuffer",value:function(O){var V=F.allocUnsafe(O),j=this.head,M=1;j.data.copy(V),O-=j.data.length;while(j=j.next){var L=j.data,A=O>L.length?L.length:O;if(L.copy(V,V.length-O,0,A),O-=A,O===0){if(A===L.length)if(++M,j.next)this.head=j.next;else this.head=this.tail=null;else this.head=j,j.data=L.slice(A);break}++M}return this.length-=M,V}},{key:k,value:function(O,V){return W(this,U(U({},V),{},{depth:0,customInspect:!1}))}}]),C}(),y6}var b6,eY;function wQ(){if(eY)return b6;eY=1;function $(X,Q){var B=this,F=this._readableState&&this._readableState.destroyed,z=this._writableState&&this._writableState.destroyed;if(F||z){if(Q)Q(X);else if(X){if(!this._writableState)j0.nextTick(J,this,X);else if(!this._writableState.errorEmitted)this._writableState.errorEmitted=!0,j0.nextTick(J,this,X)}return this}if(this._readableState)this._readableState.destroyed=!0;if(this._writableState)this._writableState.destroyed=!0;return this._destroy(X||null,function(W){if(!Q&&W)if(!B._writableState)j0.nextTick(U,B,W);else if(!B._writableState.errorEmitted)B._writableState.errorEmitted=!0,j0.nextTick(U,B,W);else j0.nextTick(Y,B);else if(Q)j0.nextTick(Y,B),Q(W);else j0.nextTick(Y,B)}),this}function U(X,Q){J(X,Q),Y(X)}function Y(X){if(X._writableState&&!X._writableState.emitClose)return;if(X._readableState&&!X._readableState.emitClose)return;X.emit("close")}function Z(){if(this._readableState)this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1;if(this._writableState)this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1}function J(X,Q){X.emit("error",Q)}function G(X,Q){var{_readableState:B,_writableState:F}=X;if(B&&B.autoDestroy||F&&F.autoDestroy)X.destroy(Q);else X.emit("error",Q)}return b6={destroy:$,undestroy:Z,errorOrDestroy:G},b6}var g6={},$Z;function i2(){if($Z)return g6;$Z=1;function $(Q,B){Q.prototype=Object.create(B.prototype),Q.prototype.constructor=Q,Q.__proto__=B}var U={};function Y(Q,B,F){if(!F)F=Error;function z(k,D,C){if(typeof B==="string")return B;else return B(k,D,C)}var W=function(k){$(D,k);function D(C,H,O){return k.call(this,z(C,H,O))||this}return D}(F);W.prototype.name=F.name,W.prototype.code=Q,U[Q]=W}function Z(Q,B){if(Array.isArray(Q)){var F=Q.length;if(Q=Q.map(function(z){return String(z)}),F>2)return"one of ".concat(B," ").concat(Q.slice(0,F-1).join(", "),", or ")+Q[F-1];else if(F===2)return"one of ".concat(B," ").concat(Q[0]," or ").concat(Q[1]);else return"of ".concat(B," ").concat(Q[0])}else return"of ".concat(B," ").concat(String(Q))}function J(Q,B,F){return Q.substr(0,B.length)===B}function G(Q,B,F){if(F===void 0||F>Q.length)F=Q.length;return Q.substring(F-B.length,F)===B}function X(Q,B,F){if(typeof F!=="number")F=0;if(F+B.length>Q.length)return!1;else return Q.indexOf(B,F)!==-1}return Y("ERR_INVALID_OPT_VALUE",function(Q,B){return'The value "'+B+'" is invalid for option "'+Q+'"'},TypeError),Y("ERR_INVALID_ARG_TYPE",function(Q,B,F){var z;if(typeof B==="string"&&J(B,"not "))z="must not be",B=B.replace(/^not /,"");else z="must be";var W;if(G(Q," argument"))W="The ".concat(Q," ").concat(z," ").concat(Z(B,"type"));else{var k=X(Q,".")?"property":"argument";W='The "'.concat(Q,'" ').concat(k," ").concat(z," ").concat(Z(B,"type"))}return W+=". Received type ".concat(typeof F),W},TypeError),Y("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),Y("ERR_METHOD_NOT_IMPLEMENTED",function(Q){return"The "+Q+" method is not implemented"}),Y("ERR_STREAM_PREMATURE_CLOSE","Premature close"),Y("ERR_STREAM_DESTROYED",function(Q){return"Cannot call "+Q+" after a stream was destroyed"}),Y("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),Y("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),Y("ERR_STREAM_WRITE_AFTER_END","write after end"),Y("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),Y("ERR_UNKNOWN_ENCODING",function(Q){return"Unknown encoding: "+Q},TypeError),Y("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),g6.codes=U,g6}var x6,UZ;function WQ(){if(UZ)return x6;UZ=1;var $=i2().codes.ERR_INVALID_OPT_VALUE;function U(Z,J,G){return Z.highWaterMark!=null?Z.highWaterMark:J?Z[G]:null}function Y(Z,J,G,X){var Q=U(J,X,G);if(Q!=null){if(!(isFinite(Q)&&Math.floor(Q)===Q)||Q<0){var B=X?G:"highWaterMark";throw new $(B,Q)}return Math.floor(Q)}return Z.objectMode?16:16384}return x6={getHighWaterMark:Y},x6}var f6,YZ;function $X(){if(YZ)return f6;YZ=1,f6=$;function $(Y,Z){if(U("noDeprecation"))return Y;var J=!1;function G(){if(!J){if(U("throwDeprecation"))throw Error(Z);else if(U("traceDeprecation"))console.trace(Z);else console.warn(Z);J=!0}return Y.apply(this,arguments)}return G}function U(Y){try{if(!c0.localStorage)return!1}catch(J){return!1}var Z=c0.localStorage[Y];if(Z==null)return!1;return String(Z).toLowerCase()==="true"}return f6}var h6,ZZ;function HQ(){if(ZZ)return h6;ZZ=1,h6=d;function $(p){var P=this;this.next=null,this.entry=null,this.finish=function(){Z0(P,p)}}var U;d.WritableState=y;var Y={deprecate:$X()},Z=ZQ(),J=o1().Buffer,G=(typeof c0<"u"?c0:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function X(p){return J.from(p)}function Q(p){return J.isBuffer(p)||p instanceof G}var B=wQ(),F=WQ(),z=F.getHighWaterMark,W=i2().codes,k=W.ERR_INVALID_ARG_TYPE,D=W.ERR_METHOD_NOT_IMPLEMENTED,C=W.ERR_MULTIPLE_CALLBACK,H=W.ERR_STREAM_CANNOT_PIPE,O=W.ERR_STREAM_DESTROYED,V=W.ERR_STREAM_NULL_VALUES,j=W.ERR_STREAM_WRITE_AFTER_END,M=W.ERR_UNKNOWN_ENCODING,L=B.errorOrDestroy;R2()(d,Z);function A(){}function y(p,P,R){if(U=U||l2(),p=p||{},typeof R!=="boolean")R=P instanceof U;if(this.objectMode=!!p.objectMode,R)this.objectMode=this.objectMode||!!p.writableObjectMode;this.highWaterMark=z(this,p,"writableHighWaterMark",R),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var c=p.decodeStrings===!1;this.decodeStrings=!c,this.defaultEncoding=p.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(f){$0(P,f)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=p.emitClose!==!1,this.autoDestroy=!!p.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new $(this)}y.prototype.getBuffer=function(){var P=this.bufferedRequest,R=[];while(P)R.push(P),P=P.next;return R},function(){try{Object.defineProperty(y.prototype,"buffer",{get:Y.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(p){}}();var g;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function")g=Function.prototype[Symbol.hasInstance],Object.defineProperty(d,Symbol.hasInstance,{value:function(P){if(g.call(this,P))return!0;if(this!==d)return!1;return P&&P._writableState instanceof y}});else g=function(P){return P instanceof this};function d(p){U=U||l2();var P=this instanceof U;if(!P&&!g.call(d,this))return new d(p);if(this._writableState=new y(p,this,P),this.writable=!0,p){if(typeof p.write==="function")this._write=p.write;if(typeof p.writev==="function")this._writev=p.writev;if(typeof p.destroy==="function")this._destroy=p.destroy;if(typeof p.final==="function")this._final=p.final}Z.call(this)}d.prototype.pipe=function(){L(this,new H)};function E(p,P){var R=new j;L(p,R),j0.nextTick(P,R)}function s(p,P,R,c){var f;if(R===null)f=new V;else if(typeof R!=="string"&&!P.objectMode)f=new k("chunk",["string","Buffer"],R);if(f)return L(p,f),j0.nextTick(c,f),!1;return!0}d.prototype.write=function(p,P,R){var c=this._writableState,f=!1,v=!c.objectMode&&Q(p);if(v&&!J.isBuffer(p))p=X(p);if(typeof P==="function")R=P,P=null;if(v)P="buffer";else if(!P)P=c.defaultEncoding;if(typeof R!=="function")R=A;if(c.ending)E(this,R);else if(v||s(this,c,p,R))c.pendingcb++,f=S(this,c,v,p,P,R);return f},d.prototype.cork=function(){this._writableState.corked++},d.prototype.uncork=function(){var p=this._writableState;if(p.corked){if(p.corked--,!p.writing&&!p.corked&&!p.bufferProcessing&&p.bufferedRequest)U0(this,p)}},d.prototype.setDefaultEncoding=function(P){if(typeof P==="string")P=P.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((P+"").toLowerCase())>-1))throw new M(P);return this._writableState.defaultEncoding=P,this},Object.defineProperty(d.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function V0(p,P,R){if(!p.objectMode&&p.decodeStrings!==!1&&typeof P==="string")P=J.from(P,R);return P}Object.defineProperty(d.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function S(p,P,R,c,f,v){if(!R){var b=V0(P,c,f);if(c!==b)R=!0,f="buffer",c=b}var e=P.objectMode?1:c.length;P.length+=e;var I=P.length>5===6)return 2;else if(V>>4===14)return 3;else if(V>>3===30)return 4;return V>>6===2?-1:-2}function X(V,j,M){var L=j.length-1;if(L=0){if(A>0)V.lastNeed=A-1;return A}if(--L=0){if(A>0)V.lastNeed=A-2;return A}if(--L=0){if(A>0)if(A===2)A=0;else V.lastNeed=A-3;return A}return 0}function Q(V,j,M){if((j[0]&192)!==128)return V.lastNeed=0,"�";if(V.lastNeed>1&&j.length>1){if((j[1]&192)!==128)return V.lastNeed=1,"�";if(V.lastNeed>2&&j.length>2){if((j[2]&192)!==128)return V.lastNeed=2,"�"}}}function B(V){var j=this.lastTotal-this.lastNeed,M=Q(this,V);if(M!==void 0)return M;if(this.lastNeed<=V.length)return V.copy(this.lastChar,j,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);V.copy(this.lastChar,j,0,V.length),this.lastNeed-=V.length}function F(V,j){var M=X(this,V,j);if(!this.lastNeed)return V.toString("utf8",j);this.lastTotal=M;var L=V.length-(M-this.lastNeed);return V.copy(this.lastChar,0,L),V.toString("utf8",j,L)}function z(V){var j=V&&V.length?this.write(V):"";if(this.lastNeed)return j+"�";return j}function W(V,j){if((V.length-j)%2===0){var M=V.toString("utf16le",j);if(M){var L=M.charCodeAt(M.length-1);if(L>=55296&&L<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=V[V.length-2],this.lastChar[1]=V[V.length-1],M.slice(0,-1)}return M}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=V[V.length-1],V.toString("utf16le",j,V.length-1)}function k(V){var j=V&&V.length?this.write(V):"";if(this.lastNeed){var M=this.lastTotal-this.lastNeed;return j+this.lastChar.toString("utf16le",0,M)}return j}function D(V,j){var M=(V.length-j)%3;if(M===0)return V.toString("base64",j);if(this.lastNeed=3-M,this.lastTotal=3,M===1)this.lastChar[0]=V[V.length-1];else this.lastChar[0]=V[V.length-2],this.lastChar[1]=V[V.length-1];return V.toString("base64",j,V.length-M)}function C(V){var j=V&&V.length?this.write(V):"";if(this.lastNeed)return j+this.lastChar.toString("base64",0,3-this.lastNeed);return j}function H(V){return V.toString(this.encoding)}function O(V){return V&&V.length?this.write(V):""}return d6}var c6,KZ;function c9(){if(KZ)return c6;KZ=1;var $=i2().codes.ERR_STREAM_PREMATURE_CLOSE;function U(G){var X=!1;return function(){if(X)return;X=!0;for(var Q=arguments.length,B=Array(Q),F=0;F0){if(typeof b!=="string"&&!T.objectMode&&Object.getPrototypeOf(b)!==Z.prototype)b=G(b);if(I)if(T.endEmitted)A(v,new V);else V0(v,T,b,!0);else if(T.ended)A(v,new H);else if(T.destroyed)return!1;else if(T.reading=!1,T.decoder&&!e)if(b=T.decoder.write(b),T.objectMode||b.length!==0)V0(v,T,b,!1);else U0(v,T);else V0(v,T,b,!1)}else if(!I)T.reading=!1,U0(v,T)}return!T.ended&&(T.length=h)v=h;else v--,v|=v>>>1,v|=v>>>2,v|=v>>>4,v|=v>>>8,v|=v>>>16,v++;return v}function a(v,b){if(v<=0||b.length===0&&b.ended)return 0;if(b.objectMode)return 1;if(v!==v)if(b.flowing&&b.length)return b.buffer.head.data.length;else return b.length;if(v>b.highWaterMark)b.highWaterMark=N(v);if(v<=b.length)return v;if(!b.ended)return b.needReadable=!0,0;return b.length}E.prototype.read=function(v){B("read",v),v=parseInt(v,10);var b=this._readableState,e=v;if(v!==0)b.emittedReadable=!1;if(v===0&&b.needReadable&&((b.highWaterMark!==0?b.length>=b.highWaterMark:b.length>0)||b.ended)){if(B("read: emitReadable",b.length,b.ended),b.length===0&&b.ended)R(this);else m(this);return null}if(v=a(v,b),v===0&&b.ended){if(b.length===0)R(this);return null}var I=b.needReadable;if(B("need readable",I),b.length===0||b.length-v0)t=P(v,b);else t=null;if(t===null)b.needReadable=b.length<=b.highWaterMark,v=0;else b.length-=v,b.awaitDrain=0;if(b.length===0){if(!b.ended)b.needReadable=!0;if(e!==v&&b.ended)R(this)}if(t!==null)this.emit("data",t);return t};function $0(v,b){if(B("onEofChunk"),b.ended)return;if(b.decoder){var e=b.decoder.end();if(e&&e.length)b.buffer.push(e),b.length+=b.objectMode?1:e.length}if(b.ended=!0,b.sync)m(v);else if(b.needReadable=!1,!b.emittedReadable)b.emittedReadable=!0,J0(v)}function m(v){var b=v._readableState;if(B("emitReadable",b.needReadable,b.emittedReadable),b.needReadable=!1,!b.emittedReadable)B("emitReadable",b.flowing),b.emittedReadable=!0,j0.nextTick(J0,v)}function J0(v){var b=v._readableState;if(B("emitReadable_",b.destroyed,b.length,b.ended),!b.destroyed&&(b.length||b.ended))v.emit("readable"),b.emittedReadable=!1;b.needReadable=!b.flowing&&!b.ended&&b.length<=b.highWaterMark,p(v)}function U0(v,b){if(!b.readingMore)b.readingMore=!0,j0.nextTick(L0,v,b)}function L0(v,b){while(!b.reading&&!b.ended&&(b.length1&&f(I.pipes,v)!==-1)&&!x)B("false write response, pause",I.awaitDrain),I.awaitDrain++;e.pause()}}function Q0(w0){if(B("onerror",w0),M0(),v.removeListener("error",Q0),U(v,"error")===0)A(v,w0)}g(v,"error",Q0);function q0(){v.removeListener("finish",K0),M0()}v.once("close",q0);function K0(){B("onfinish"),v.removeListener("close",q0),M0()}v.once("finish",K0);function M0(){B("unpipe"),e.unpipe(v)}if(v.emit("pipe",e),!I.flowing)B("pipe resume"),e.resume();return v};function i(v){return function(){var e=v._readableState;if(B("pipeOnDrain",e.awaitDrain),e.awaitDrain)e.awaitDrain--;if(e.awaitDrain===0&&U(v,"data"))e.flowing=!0,p(v)}}E.prototype.unpipe=function(v){var b=this._readableState,e={hasUnpiped:!1};if(b.pipesCount===0)return this;if(b.pipesCount===1){if(v&&v!==b.pipes)return this;if(!v)v=b.pipes;if(b.pipes=null,b.pipesCount=0,b.flowing=!1,v)v.emit("unpipe",this,e);return this}if(!v){var{pipes:I,pipesCount:t}=b;b.pipes=null,b.pipesCount=0,b.flowing=!1;for(var T=0;T0,I.flowing!==!1)this.resume()}else if(v==="readable"){if(!I.endEmitted&&!I.readableListening){if(I.readableListening=I.needReadable=!0,I.flowing=!1,I.emittedReadable=!1,B("on readable",I.length,I.reading),I.length)m(this);else if(!I.reading)j0.nextTick(r,this)}}return e},E.prototype.addListener=E.prototype.on,E.prototype.removeListener=function(v,b){var e=Y.prototype.removeListener.call(this,v,b);if(v==="readable")j0.nextTick(_,this);return e},E.prototype.removeAllListeners=function(v){var b=Y.prototype.removeAllListeners.apply(this,arguments);if(v==="readable"||v===void 0)j0.nextTick(_,this);return b};function _(v){var b=v._readableState;if(b.readableListening=v.listenerCount("readable")>0,b.resumeScheduled&&!b.paused)b.flowing=!0;else if(v.listenerCount("data")>0)v.resume()}function r(v){B("readable nexttick read 0"),v.read(0)}E.prototype.resume=function(){var v=this._readableState;if(!v.flowing)B("resume"),v.flowing=!v.readableListening,n(this,v);return v.paused=!1,this};function n(v,b){if(!b.resumeScheduled)b.resumeScheduled=!0,j0.nextTick(Z0,v,b)}function Z0(v,b){if(B("resume",b.reading),!b.reading)v.read(0);if(b.resumeScheduled=!1,v.emit("resume"),p(v),b.flowing&&!b.reading)v.read(0)}E.prototype.pause=function(){if(B("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1)B("pause"),this._readableState.flowing=!1,this.emit("pause");return this._readableState.paused=!0,this};function p(v){var b=v._readableState;B("flow",b.flowing);while(b.flowing&&v.read()!==null);}if(E.prototype.wrap=function(v){var b=this,e=this._readableState,I=!1;v.on("end",function(){if(B("wrapped end"),e.decoder&&!e.ended){var K=e.decoder.end();if(K&&K.length)b.push(K)}b.push(null)}),v.on("data",function(K){if(B("wrapped data"),e.decoder)K=e.decoder.write(K);if(e.objectMode&&(K===null||K===void 0))return;else if(!e.objectMode&&(!K||!K.length))return;var q=b.push(K);if(!q)I=!0,v.pause()});for(var t in v)if(this[t]===void 0&&typeof v[t]==="function")this[t]=function(q){return function(){return v[q].apply(v,arguments)}}(t);for(var T=0;T=b.length){if(b.decoder)e=b.buffer.join("");else if(b.buffer.length===1)e=b.buffer.first();else e=b.buffer.concat(b.length);b.buffer.clear()}else e=b.buffer.consume(v,b.decoder);return e}function R(v){var b=v._readableState;if(B("endReadable",b.endEmitted),!b.endEmitted)b.ended=!0,j0.nextTick(c,b,v)}function c(v,b){if(B("endReadableNT",v.endEmitted,v.length),!v.endEmitted&&v.length===0){if(v.endEmitted=!0,b.readable=!1,b.emit("end"),v.autoDestroy){var e=b._writableState;if(!e||e.autoDestroy&&e.finished)b.destroy()}}}if(typeof Symbol==="function")E.from=function(v,b){if(L===void 0)L=ZX();return L(E,v,b)};function f(v,b){for(var e=0,I=v.length;e0;return Q(j,L,A,function(y){if(!O)O=y;if(y)V.forEach(B);if(L)return;V.forEach(B),H(O)})});return D.reduce(F)}return r6=W,r6}var s6,IZ;function m9(){if(IZ)return s6;IZ=1,s6=Y;var $=x9().EventEmitter,U=R2();U(Y,$),Y.Readable=jQ(),Y.Writable=HQ(),Y.Duplex=l2(),Y.Transform=zQ(),Y.PassThrough=QX(),Y.finished=c9(),Y.pipeline=JX(),Y.Stream=Y;function Y(){$.call(this)}return Y.prototype.pipe=function(Z,J){var G=this;function X(D){if(Z.writable){if(Z.write(D)===!1&&G.pause)G.pause()}}G.on("data",X);function Q(){if(G.readable&&G.resume)G.resume()}if(Z.on("drain",Q),!Z._isStdio&&(!J||J.end!==!1))G.on("end",F),G.on("close",z);var B=!1;function F(){if(B)return;B=!0,Z.end()}function z(){if(B)return;if(B=!0,typeof Z.destroy==="function")Z.destroy()}function W(D){if(k(),$.listenerCount(this,"error")===0)throw D}G.on("error",W),Z.on("error",W);function k(){G.removeListener("data",X),Z.removeListener("drain",Q),G.removeListener("end",F),G.removeListener("close",z),G.removeListener("error",W),Z.removeListener("error",W),G.removeListener("end",k),G.removeListener("close",k),Z.removeListener("close",k)}return G.on("end",k),G.on("close",k),Z.on("close",k),Z.emit("pipe",G),Z},s6}var wZ;function GX(){if(wZ)return _8;return wZ=1,function($){(function(U){U.parser=function(P,R){return new Z(P,R)},U.SAXParser=Z,U.SAXStream=z,U.createStream=F,U.MAX_BUFFER_LENGTH=65536;var Y=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];U.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function Z(P,R){if(!(this instanceof Z))return new Z(P,R);var c=this;if(G(c),c.q=c.c="",c.bufferCheckPosition=U.MAX_BUFFER_LENGTH,c.opt=R||{},c.opt.lowercase=c.opt.lowercase||c.opt.lowercasetags,c.looseCase=c.opt.lowercase?"toLowerCase":"toUpperCase",c.tags=[],c.closed=c.closedRoot=c.sawRoot=!1,c.tag=c.error=null,c.strict=!!P,c.noscript=!!(P||c.opt.noscript),c.state=E.BEGIN,c.strictEntities=c.opt.strictEntities,c.ENTITIES=c.strictEntities?Object.create(U.XML_ENTITIES):Object.create(U.ENTITIES),c.attribList=[],c.opt.xmlns)c.ns=Object.create(H);if(c.trackPosition=c.opt.position!==!1,c.trackPosition)c.position=c.line=c.column=0;V0(c,"onready")}if(!Object.create)Object.create=function(P){function R(){}R.prototype=P;var c=new R;return c};if(!Object.keys)Object.keys=function(P){var R=[];for(var c in P)if(P.hasOwnProperty(c))R.push(c);return R};function J(P){var R=Math.max(U.MAX_BUFFER_LENGTH,10),c=0;for(var f=0,v=Y.length;fR)switch(Y[f]){case"textNode":h(P);break;case"cdata":S(P,"oncdata",P.cdata),P.cdata="";break;case"script":S(P,"onscript",P.script),P.script="";break;default:a(P,"Max buffer length exceeded: "+Y[f])}c=Math.max(c,b)}var e=U.MAX_BUFFER_LENGTH-c;P.bufferCheckPosition=e+P.position}function G(P){for(var R=0,c=Y.length;R"||L(P)}function g(P,R){return P.test(R)}function d(P,R){return!g(P,R)}var E=0;U.STATE={BEGIN:E++,BEGIN_WHITESPACE:E++,TEXT:E++,TEXT_ENTITY:E++,OPEN_WAKA:E++,SGML_DECL:E++,SGML_DECL_QUOTED:E++,DOCTYPE:E++,DOCTYPE_QUOTED:E++,DOCTYPE_DTD:E++,DOCTYPE_DTD_QUOTED:E++,COMMENT_STARTING:E++,COMMENT:E++,COMMENT_ENDING:E++,COMMENT_ENDED:E++,CDATA:E++,CDATA_ENDING:E++,CDATA_ENDING_2:E++,PROC_INST:E++,PROC_INST_BODY:E++,PROC_INST_ENDING:E++,OPEN_TAG:E++,OPEN_TAG_SLASH:E++,ATTRIB:E++,ATTRIB_NAME:E++,ATTRIB_NAME_SAW_WHITE:E++,ATTRIB_VALUE:E++,ATTRIB_VALUE_QUOTED:E++,ATTRIB_VALUE_CLOSED:E++,ATTRIB_VALUE_UNQUOTED:E++,ATTRIB_VALUE_ENTITY_Q:E++,ATTRIB_VALUE_ENTITY_U:E++,CLOSE_TAG:E++,CLOSE_TAG_SAW_WHITE:E++,SCRIPT:E++,SCRIPT_ENDING:E++},U.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},U.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(U.ENTITIES).forEach(function(P){var R=U.ENTITIES[P],c=typeof R==="number"?String.fromCharCode(R):R;U.ENTITIES[P]=c});for(var s in U.STATE)U.STATE[U.STATE[s]]=s;E=U.STATE;function V0(P,R,c){P[R]&&P[R](c)}function S(P,R,c){if(P.textNode)h(P);V0(P,R,c)}function h(P){if(P.textNode=N(P.opt,P.textNode),P.textNode)V0(P,"ontext",P.textNode);P.textNode=""}function N(P,R){if(P.trim)R=R.trim();if(P.normalize)R=R.replace(/\s+/g," ");return R}function a(P,R){if(h(P),P.trackPosition)R+=` -Line: `+P.line+` -Column: `+P.column+` -Char: `+P.c;return R=Error(R),P.error=R,V0(P,"onerror",R),P}function $0(P){if(P.sawRoot&&!P.closedRoot)m(P,"Unclosed root tag");if(P.state!==E.BEGIN&&P.state!==E.BEGIN_WHITESPACE&&P.state!==E.TEXT)a(P,"Unexpected end");return h(P),P.c="",P.closed=!0,V0(P,"onend"),Z.call(P,P.strict,P.opt),P}function m(P,R){if(typeof P!=="object"||!(P instanceof Z))throw Error("bad call to strictFail");if(P.strict)a(P,R)}function J0(P){if(!P.strict)P.tagName=P.tagName[P.looseCase]();var R=P.tags[P.tags.length-1]||P,c=P.tag={name:P.tagName,attributes:{}};if(P.opt.xmlns)c.ns=R.ns;P.attribList.length=0,S(P,"onopentagstart",c)}function U0(P,R){var c=P.indexOf(":"),f=c<0?["",P]:P.split(":"),v=f[0],b=f[1];if(R&&P==="xmlns")v="xmlns",b="";return{prefix:v,local:b}}function L0(P){if(!P.strict)P.attribName=P.attribName[P.looseCase]();if(P.attribList.indexOf(P.attribName)!==-1||P.tag.attributes.hasOwnProperty(P.attribName)){P.attribName=P.attribValue="";return}if(P.opt.xmlns){var R=U0(P.attribName,!0),c=R.prefix,f=R.local;if(c==="xmlns")if(f==="xml"&&P.attribValue!==D)m(P,"xml: prefix must be bound to "+D+` -Actual: `+P.attribValue);else if(f==="xmlns"&&P.attribValue!==C)m(P,"xmlns: prefix must be bound to "+C+` -Actual: `+P.attribValue);else{var v=P.tag,b=P.tags[P.tags.length-1]||P;if(v.ns===b.ns)v.ns=Object.create(b.ns);v.ns[f]=P.attribValue}P.attribList.push([P.attribName,P.attribValue])}else P.tag.attributes[P.attribName]=P.attribValue,S(P,"onattribute",{name:P.attribName,value:P.attribValue});P.attribName=P.attribValue=""}function i(P,R){if(P.opt.xmlns){var c=P.tag,f=U0(P.tagName);if(c.prefix=f.prefix,c.local=f.local,c.uri=c.ns[f.prefix]||"",c.prefix&&!c.uri)m(P,"Unbound namespace prefix: "+JSON.stringify(P.tagName)),c.uri=f.prefix;var v=P.tags[P.tags.length-1]||P;if(c.ns&&v.ns!==c.ns)Object.keys(c.ns).forEach(function(u){S(P,"onopennamespace",{prefix:u,uri:c.ns[u]})});for(var b=0,e=P.attribList.length;b",P.tagName="",P.state=E.SCRIPT;return}S(P,"onscript",P.script),P.script=""}var R=P.tags.length,c=P.tagName;if(!P.strict)c=c[P.looseCase]();var f=c;while(R--){var v=P.tags[R];if(v.name!==f)m(P,"Unexpected close tag");else break}if(R<0){m(P,"Unmatched closing tag: "+P.tagName),P.textNode+="",P.state=E.TEXT;return}P.tagName=c;var b=P.tags.length;while(b-- >R){var e=P.tag=P.tags.pop();P.tagName=P.tag.name,S(P,"onclosetag",P.tagName);var I={};for(var t in e.ns)I[t]=e.ns[t];var T=P.tags[P.tags.length-1]||P;if(P.opt.xmlns&&e.ns!==T.ns)Object.keys(e.ns).forEach(function(K){var q=e.ns[K];S(P,"onclosenamespace",{prefix:K,uri:q})})}if(R===0)P.closedRoot=!0;P.tagName=P.attribValue=P.attribName="",P.attribList.length=0,P.state=E.TEXT}function r(P){var R=P.entity,c=R.toLowerCase(),f,v="";if(P.ENTITIES[R])return P.ENTITIES[R];if(P.ENTITIES[c])return P.ENTITIES[c];if(R=c,R.charAt(0)==="#")if(R.charAt(1)==="x")R=R.slice(2),f=parseInt(R,16),v=f.toString(16);else R=R.slice(1),f=parseInt(R,10),v=f.toString(10);if(R=R.replace(/^0+/,""),isNaN(f)||v.toLowerCase()!==R)return m(P,"Invalid character entity"),"&"+P.entity+";";return String.fromCodePoint(f)}function n(P,R){if(R==="<")P.state=E.OPEN_WAKA,P.startTagPosition=P.position;else if(!L(R))m(P,"Non-whitespace before first tag."),P.textNode=R,P.state=E.TEXT}function Z0(P,R){var c="";if(R")S(R,"onsgmldeclaration",R.sgmlDecl),R.sgmlDecl="",R.state=E.TEXT;else if(A(f))R.state=E.SGML_DECL_QUOTED,R.sgmlDecl+=f;else R.sgmlDecl+=f;continue;case E.SGML_DECL_QUOTED:if(f===R.q)R.state=E.SGML_DECL,R.q="";R.sgmlDecl+=f;continue;case E.DOCTYPE:if(f===">")R.state=E.TEXT,S(R,"ondoctype",R.doctype),R.doctype=!0;else if(R.doctype+=f,f==="[")R.state=E.DOCTYPE_DTD;else if(A(f))R.state=E.DOCTYPE_QUOTED,R.q=f;continue;case E.DOCTYPE_QUOTED:if(R.doctype+=f,f===R.q)R.q="",R.state=E.DOCTYPE;continue;case E.DOCTYPE_DTD:if(R.doctype+=f,f==="]")R.state=E.DOCTYPE;else if(A(f))R.state=E.DOCTYPE_DTD_QUOTED,R.q=f;continue;case E.DOCTYPE_DTD_QUOTED:if(R.doctype+=f,f===R.q)R.state=E.DOCTYPE_DTD,R.q="";continue;case E.COMMENT:if(f==="-")R.state=E.COMMENT_ENDING;else R.comment+=f;continue;case E.COMMENT_ENDING:if(f==="-"){if(R.state=E.COMMENT_ENDED,R.comment=N(R.opt,R.comment),R.comment)S(R,"oncomment",R.comment);R.comment=""}else R.comment+="-"+f,R.state=E.COMMENT;continue;case E.COMMENT_ENDED:if(f!==">")m(R,"Malformed comment"),R.comment+="--"+f,R.state=E.COMMENT;else R.state=E.TEXT;continue;case E.CDATA:if(f==="]")R.state=E.CDATA_ENDING;else R.cdata+=f;continue;case E.CDATA_ENDING:if(f==="]")R.state=E.CDATA_ENDING_2;else R.cdata+="]"+f,R.state=E.CDATA;continue;case E.CDATA_ENDING_2:if(f===">"){if(R.cdata)S(R,"oncdata",R.cdata);S(R,"onclosecdata"),R.cdata="",R.state=E.TEXT}else if(f==="]")R.cdata+="]";else R.cdata+="]]"+f,R.state=E.CDATA;continue;case E.PROC_INST:if(f==="?")R.state=E.PROC_INST_ENDING;else if(L(f))R.state=E.PROC_INST_BODY;else R.procInstName+=f;continue;case E.PROC_INST_BODY:if(!R.procInstBody&&L(f))continue;else if(f==="?")R.state=E.PROC_INST_ENDING;else R.procInstBody+=f;continue;case E.PROC_INST_ENDING:if(f===">")S(R,"onprocessinginstruction",{name:R.procInstName,body:R.procInstBody}),R.procInstName=R.procInstBody="",R.state=E.TEXT;else R.procInstBody+="?"+f,R.state=E.PROC_INST_BODY;continue;case E.OPEN_TAG:if(g(V,f))R.tagName+=f;else if(J0(R),f===">")i(R);else if(f==="/")R.state=E.OPEN_TAG_SLASH;else{if(!L(f))m(R,"Invalid character in tag name");R.state=E.ATTRIB}continue;case E.OPEN_TAG_SLASH:if(f===">")i(R,!0),_(R);else m(R,"Forward-slash in opening tag not followed by >"),R.state=E.ATTRIB;continue;case E.ATTRIB:if(L(f))continue;else if(f===">")i(R);else if(f==="/")R.state=E.OPEN_TAG_SLASH;else if(g(O,f))R.attribName=f,R.attribValue="",R.state=E.ATTRIB_NAME;else m(R,"Invalid attribute name");continue;case E.ATTRIB_NAME:if(f==="=")R.state=E.ATTRIB_VALUE;else if(f===">")m(R,"Attribute without value"),R.attribValue=R.attribName,L0(R),i(R);else if(L(f))R.state=E.ATTRIB_NAME_SAW_WHITE;else if(g(V,f))R.attribName+=f;else m(R,"Invalid attribute name");continue;case E.ATTRIB_NAME_SAW_WHITE:if(f==="=")R.state=E.ATTRIB_VALUE;else if(L(f))continue;else if(m(R,"Attribute without value"),R.tag.attributes[R.attribName]="",R.attribValue="",S(R,"onattribute",{name:R.attribName,value:""}),R.attribName="",f===">")i(R);else if(g(O,f))R.attribName=f,R.state=E.ATTRIB_NAME;else m(R,"Invalid attribute name"),R.state=E.ATTRIB;continue;case E.ATTRIB_VALUE:if(L(f))continue;else if(A(f))R.q=f,R.state=E.ATTRIB_VALUE_QUOTED;else m(R,"Unquoted attribute value"),R.state=E.ATTRIB_VALUE_UNQUOTED,R.attribValue=f;continue;case E.ATTRIB_VALUE_QUOTED:if(f!==R.q){if(f==="&")R.state=E.ATTRIB_VALUE_ENTITY_Q;else R.attribValue+=f;continue}L0(R),R.q="",R.state=E.ATTRIB_VALUE_CLOSED;continue;case E.ATTRIB_VALUE_CLOSED:if(L(f))R.state=E.ATTRIB;else if(f===">")i(R);else if(f==="/")R.state=E.OPEN_TAG_SLASH;else if(g(O,f))m(R,"No whitespace between attributes"),R.attribName=f,R.attribValue="",R.state=E.ATTRIB_NAME;else m(R,"Invalid attribute name");continue;case E.ATTRIB_VALUE_UNQUOTED:if(!y(f)){if(f==="&")R.state=E.ATTRIB_VALUE_ENTITY_U;else R.attribValue+=f;continue}if(L0(R),f===">")i(R);else R.state=E.ATTRIB;continue;case E.CLOSE_TAG:if(!R.tagName)if(L(f))continue;else if(d(O,f))if(R.script)R.script+="")_(R);else if(g(V,f))R.tagName+=f;else if(R.script)R.script+="")_(R);else m(R,"Invalid characters in closing tag");continue;case E.TEXT_ENTITY:case E.ATTRIB_VALUE_ENTITY_Q:case E.ATTRIB_VALUE_ENTITY_U:var e,I;switch(R.state){case E.TEXT_ENTITY:e=E.TEXT,I="textNode";break;case E.ATTRIB_VALUE_ENTITY_Q:e=E.ATTRIB_VALUE_QUOTED,I="attribValue";break;case E.ATTRIB_VALUE_ENTITY_U:e=E.ATTRIB_VALUE_UNQUOTED,I="attribValue";break}if(f===";")R[I]+=r(R),R.entity="",R.state=e;else if(g(R.entity.length?M:j,f))R.entity+=f;else m(R,"Invalid character in entity name"),R[I]+="&"+R.entity+f,R.entity="",R.state=e;continue;default:throw Error(R,"Unknown state: "+R.state)}}if(R.position>=R.bufferCheckPosition)J(R);return R}if(!String.fromCodePoint)(function(){var P=String.fromCharCode,R=Math.floor,c=function(){var f=16384,v=[],b,e,I=-1,t=arguments.length;if(!t)return"";var T="";while(++I1114111||R(K)!==K)throw RangeError("Invalid code point: "+K);if(K<=65535)v.push(K);else K-=65536,b=(K>>10)+55296,e=K%1024+56320,v.push(b,e);if(I+1===t||v.length>f)T+=P.apply(null,v),v.length=0}return T};if(Object.defineProperty)Object.defineProperty(String,"fromCodePoint",{value:c,configurable:!0,writable:!0});else String.fromCodePoint=c})()})($)}(_8),_8}var n6,WZ;function l9(){if(WZ)return n6;return WZ=1,n6={isArray:function($){if(Array.isArray)return Array.isArray($);return Object.prototype.toString.call($)==="[object Array]"}},n6}var o6,HZ;function a9(){if(HZ)return o6;HZ=1;var $=l9().isArray;return o6={copyOptions:function(U){var Y,Z={};for(Y in U)if(U.hasOwnProperty(Y))Z[Y]=U[Y];return Z},ensureFlagExists:function(U,Y){if(!(U in Y)||typeof Y[U]!=="boolean")Y[U]=!1},ensureSpacesExists:function(U){if(!("spaces"in U)||typeof U.spaces!=="number"&&typeof U.spaces!=="string")U.spaces=0},ensureAlwaysArrayExists:function(U){if(!("alwaysArray"in U)||typeof U.alwaysArray!=="boolean"&&!$(U.alwaysArray))U.alwaysArray=!1},ensureKeyExists:function(U,Y){if(!(U+"Key"in Y)||typeof Y[U+"Key"]!=="string")Y[U+"Key"]=Y.compact?"_"+U:U},checkFnExists:function(U,Y){return U+"Fn"in Y}},o6}var t6,jZ;function FQ(){if(jZ)return t6;jZ=1;var $=GX(),U=a9(),Y=l9().isArray,Z,J;function G(V){return Z=U.copyOptions(V),U.ensureFlagExists("ignoreDeclaration",Z),U.ensureFlagExists("ignoreInstruction",Z),U.ensureFlagExists("ignoreAttributes",Z),U.ensureFlagExists("ignoreText",Z),U.ensureFlagExists("ignoreComment",Z),U.ensureFlagExists("ignoreCdata",Z),U.ensureFlagExists("ignoreDoctype",Z),U.ensureFlagExists("compact",Z),U.ensureFlagExists("alwaysChildren",Z),U.ensureFlagExists("addParent",Z),U.ensureFlagExists("trim",Z),U.ensureFlagExists("nativeType",Z),U.ensureFlagExists("nativeTypeAttributes",Z),U.ensureFlagExists("sanitize",Z),U.ensureFlagExists("instructionHasAttributes",Z),U.ensureFlagExists("captureSpacesBetweenElements",Z),U.ensureAlwaysArrayExists(Z),U.ensureKeyExists("declaration",Z),U.ensureKeyExists("instruction",Z),U.ensureKeyExists("attributes",Z),U.ensureKeyExists("text",Z),U.ensureKeyExists("comment",Z),U.ensureKeyExists("cdata",Z),U.ensureKeyExists("doctype",Z),U.ensureKeyExists("type",Z),U.ensureKeyExists("name",Z),U.ensureKeyExists("elements",Z),U.ensureKeyExists("parent",Z),U.checkFnExists("doctype",Z),U.checkFnExists("instruction",Z),U.checkFnExists("cdata",Z),U.checkFnExists("comment",Z),U.checkFnExists("text",Z),U.checkFnExists("instructionName",Z),U.checkFnExists("elementName",Z),U.checkFnExists("attributeName",Z),U.checkFnExists("attributeValue",Z),U.checkFnExists("attributes",Z),Z}function X(V){var j=Number(V);if(!isNaN(j))return j;var M=V.toLowerCase();if(M==="true")return!0;else if(M==="false")return!1;return V}function Q(V,j){var M;if(Z.compact){if(!J[Z[V+"Key"]]&&(Y(Z.alwaysArray)?Z.alwaysArray.indexOf(Z[V+"Key"])!==-1:Z.alwaysArray))J[Z[V+"Key"]]=[];if(J[Z[V+"Key"]]&&!Y(J[Z[V+"Key"]]))J[Z[V+"Key"]]=[J[Z[V+"Key"]]];if(V+"Fn"in Z&&typeof j==="string")j=Z[V+"Fn"](j,J);if(V==="instruction"&&(("instructionFn"in Z)||("instructionNameFn"in Z))){for(M in j)if(j.hasOwnProperty(M))if("instructionFn"in Z)j[M]=Z.instructionFn(j[M],M,J);else{var L=j[M];delete j[M],j[Z.instructionNameFn(M,L,J)]=L}}if(Y(J[Z[V+"Key"]]))J[Z[V+"Key"]].push(j);else J[Z[V+"Key"]]=j}else{if(!J[Z.elementsKey])J[Z.elementsKey]=[];var A={};if(A[Z.typeKey]=V,V==="instruction"){for(M in j)if(j.hasOwnProperty(M))break;if(A[Z.nameKey]="instructionNameFn"in Z?Z.instructionNameFn(M,j,J):M,Z.instructionHasAttributes){if(A[Z.attributesKey]=j[M][Z.attributesKey],"instructionFn"in Z)A[Z.attributesKey]=Z.instructionFn(A[Z.attributesKey],M,J)}else{if("instructionFn"in Z)j[M]=Z.instructionFn(j[M],M,J);A[Z.instructionKey]=j[M]}}else{if(V+"Fn"in Z)j=Z[V+"Fn"](j,J);A[Z[V+"Key"]]=j}if(Z.addParent)A[Z.parentKey]=J;J[Z.elementsKey].push(A)}}function B(V){if("attributesFn"in Z&&V)V=Z.attributesFn(V,J);if((Z.trim||("attributeValueFn"in Z)||("attributeNameFn"in Z)||Z.nativeTypeAttributes)&&V){var j;for(j in V)if(V.hasOwnProperty(j)){if(Z.trim)V[j]=V[j].trim();if(Z.nativeTypeAttributes)V[j]=X(V[j]);if("attributeValueFn"in Z)V[j]=Z.attributeValueFn(V[j],j,J);if("attributeNameFn"in Z){var M=V[j];delete V[j],V[Z.attributeNameFn(j,V[j],J)]=M}}}return V}function F(V){var j={};if(V.body&&(V.name.toLowerCase()==="xml"||Z.instructionHasAttributes)){var M=/([\w:-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|(\w+))\s*/g,L;while((L=M.exec(V.body))!==null)j[L[1]]=L[2]||L[3]||L[4];j=B(j)}if(V.name.toLowerCase()==="xml"){if(Z.ignoreDeclaration)return;if(J[Z.declarationKey]={},Object.keys(j).length)J[Z.declarationKey][Z.attributesKey]=j;if(Z.addParent)J[Z.declarationKey][Z.parentKey]=J}else{if(Z.ignoreInstruction)return;if(Z.trim)V.body=V.body.trim();var A={};if(Z.instructionHasAttributes&&Object.keys(j).length)A[V.name]={},A[V.name][Z.attributesKey]=j;else A[V.name]=V.body;Q("instruction",A)}}function z(V,j){var M;if(typeof V==="object")j=V.attributes,V=V.name;if(j=B(j),"elementNameFn"in Z)V=Z.elementNameFn(V,J);if(Z.compact){if(M={},!Z.ignoreAttributes&&j&&Object.keys(j).length){M[Z.attributesKey]={};var L;for(L in j)if(j.hasOwnProperty(L))M[Z.attributesKey][L]=j[L]}if(!(V in J)&&(Y(Z.alwaysArray)?Z.alwaysArray.indexOf(V)!==-1:Z.alwaysArray))J[V]=[];if(J[V]&&!Y(J[V]))J[V]=[J[V]];if(Y(J[V]))J[V].push(M);else J[V]=M}else{if(!J[Z.elementsKey])J[Z.elementsKey]=[];if(M={},M[Z.typeKey]="element",M[Z.nameKey]=V,!Z.ignoreAttributes&&j&&Object.keys(j).length)M[Z.attributesKey]=j;if(Z.alwaysChildren)M[Z.elementsKey]=[];J[Z.elementsKey].push(M)}M[Z.parentKey]=J,J=M}function W(V){if(Z.ignoreText)return;if(!V.trim()&&!Z.captureSpacesBetweenElements)return;if(Z.trim)V=V.trim();if(Z.nativeType)V=X(V);if(Z.sanitize)V=V.replace(/&/g,"&").replace(//g,">");Q("text",V)}function k(V){if(Z.ignoreComment)return;if(Z.trim)V=V.trim();Q("comment",V)}function D(V){var j=J[Z.parentKey];if(!Z.addParent)delete J[Z.parentKey];J=j}function C(V){if(Z.ignoreCdata)return;if(Z.trim)V=V.trim();Q("cdata",V)}function H(V){if(Z.ignoreDoctype)return;if(V=V.replace(/^ /,""),Z.trim)V=V.trim();Q("doctype",V)}function O(V){V.note=V}return t6=function(V,j){var M=$.parser(!0,{}),L={};if(J=L,Z=G(j),M.opt={strictEntities:!0},M.onopentag=z,M.ontext=W,M.oncomment=k,M.onclosetag=D,M.onerror=O,M.oncdata=C,M.ondoctype=H,M.onprocessinginstruction=F,M.write(V).close(),L[Z.elementsKey]){var A=L[Z.elementsKey];delete L[Z.elementsKey],L[Z.elementsKey]=A,delete L.text}return L},t6}var e6,zZ;function KX(){if(zZ)return e6;zZ=1;var $=a9(),U=FQ();function Y(Z){var J=$.copyOptions(Z);return $.ensureSpacesExists(J),J}return e6=function(Z,J){var G,X,Q,B;if(G=Y(J),X=U(Z,G),B="compact"in G&&G.compact?"_parent":"parent","addParent"in G&&G.addParent)Q=JSON.stringify(X,function(F,z){return F===B?"_":z},G.spaces);else Q=JSON.stringify(X,null,G.spaces);return Q.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")},e6}var $9,FZ;function NQ(){if(FZ)return $9;FZ=1;var $=a9(),U=l9().isArray,Y,Z;function J(M){var L=$.copyOptions(M);if($.ensureFlagExists("ignoreDeclaration",L),$.ensureFlagExists("ignoreInstruction",L),$.ensureFlagExists("ignoreAttributes",L),$.ensureFlagExists("ignoreText",L),$.ensureFlagExists("ignoreComment",L),$.ensureFlagExists("ignoreCdata",L),$.ensureFlagExists("ignoreDoctype",L),$.ensureFlagExists("compact",L),$.ensureFlagExists("indentText",L),$.ensureFlagExists("indentCdata",L),$.ensureFlagExists("indentAttributes",L),$.ensureFlagExists("indentInstruction",L),$.ensureFlagExists("fullTagEmptyElement",L),$.ensureFlagExists("noQuotesForNativeAttributes",L),$.ensureSpacesExists(L),typeof L.spaces==="number")L.spaces=Array(L.spaces+1).join(" ");return $.ensureKeyExists("declaration",L),$.ensureKeyExists("instruction",L),$.ensureKeyExists("attributes",L),$.ensureKeyExists("text",L),$.ensureKeyExists("comment",L),$.ensureKeyExists("cdata",L),$.ensureKeyExists("doctype",L),$.ensureKeyExists("type",L),$.ensureKeyExists("name",L),$.ensureKeyExists("elements",L),$.checkFnExists("doctype",L),$.checkFnExists("instruction",L),$.checkFnExists("cdata",L),$.checkFnExists("comment",L),$.checkFnExists("text",L),$.checkFnExists("instructionName",L),$.checkFnExists("elementName",L),$.checkFnExists("attributeName",L),$.checkFnExists("attributeValue",L),$.checkFnExists("attributes",L),$.checkFnExists("fullTagEmptyElement",L),L}function G(M,L,A){return(!A&&M.spaces?` -`:"")+Array(L+1).join(M.spaces)}function X(M,L,A){if(L.ignoreAttributes)return"";if("attributesFn"in L)M=L.attributesFn(M,Z,Y);var y,g,d,E,s=[];for(y in M)if(M.hasOwnProperty(y)&&M[y]!==null&&M[y]!==void 0)E=L.noQuotesForNativeAttributes&&typeof M[y]!=="string"?"":'"',g=""+M[y],g=g.replace(/"/g,"""),d="attributeNameFn"in L?L.attributeNameFn(y,g,Z,Y):y,s.push(L.spaces&&L.indentAttributes?G(L,A+1,!1):" "),s.push(d+"="+E+("attributeValueFn"in L?L.attributeValueFn(g,y,Z,Y):g)+E);if(M&&Object.keys(M).length&&L.spaces&&L.indentAttributes)s.push(G(L,A,!1));return s.join("")}function Q(M,L,A){return Y=M,Z="xml",L.ignoreDeclaration?"":""}function B(M,L,A){if(L.ignoreInstruction)return"";var y;for(y in M)if(M.hasOwnProperty(y))break;var g="instructionNameFn"in L?L.instructionNameFn(y,M[y],Z,Y):y;if(typeof M[y]==="object")return Y=M,Z=g,"";else{var d=M[y]?M[y]:"";if("instructionFn"in L)d=L.instructionFn(d,y,Z,Y);return""}}function F(M,L){return L.ignoreComment?"":""}function z(M,L){return L.ignoreCdata?"":"","]]]]>"))+"]]>"}function W(M,L){return L.ignoreDoctype?"":""}function k(M,L){if(L.ignoreText)return"";return M=""+M,M=M.replace(/&/g,"&"),M=M.replace(/&/g,"&").replace(//g,">"),"textFn"in L?L.textFn(M,Z,Y):M}function D(M,L){var A;if(M.elements&&M.elements.length)for(A=0;A"),M[L.elementsKey]&&M[L.elementsKey].length)y.push(H(M[L.elementsKey],L,A+1)),Y=M,Z=M.name;y.push(L.spaces&&D(M,L)?` -`+Array(A+1).join(L.spaces):""),y.push("")}else y.push("/>");return y.join("")}function H(M,L,A,y){return M.reduce(function(g,d){var E=G(L,A,y&&!g);switch(d.type){case"element":return g+E+C(d,L,A);case"comment":return g+E+F(d[L.commentKey],L);case"doctype":return g+E+W(d[L.doctypeKey],L);case"cdata":return g+(L.indentCdata?E:"")+z(d[L.cdataKey],L);case"text":return g+(L.indentText?E:"")+k(d[L.textKey],L);case"instruction":var s={};return s[d[L.nameKey]]=d[L.attributesKey]?d:d[L.instructionKey],g+(L.indentInstruction?E:"")+B(s,L,A)}},"")}function O(M,L,A){var y;for(y in M)if(M.hasOwnProperty(y))switch(y){case L.parentKey:case L.attributesKey:break;case L.textKey:if(L.indentText||A)return!0;break;case L.cdataKey:if(L.indentCdata||A)return!0;break;case L.instructionKey:if(L.indentInstruction||A)return!0;break;case L.doctypeKey:case L.commentKey:return!0;default:return!0}return!1}function V(M,L,A,y,g){Y=M,Z=L;var d="elementNameFn"in A?A.elementNameFn(L,M):L;if(typeof M>"u"||M===null||M==="")return"fullTagEmptyElementFn"in A&&A.fullTagEmptyElementFn(L,M)||A.fullTagEmptyElement?"<"+d+">":"<"+d+"/>";var E=[];if(L){if(E.push("<"+d),typeof M!=="object")return E.push(">"+k(M,A)+""),E.join("");if(M[A.attributesKey])E.push(X(M[A.attributesKey],A,y));var s=O(M,A,!0)||M[A.attributesKey]&&M[A.attributesKey]["xml:space"]==="preserve";if(!s)if("fullTagEmptyElementFn"in A)s=A.fullTagEmptyElementFn(L,M);else s=A.fullTagEmptyElement;if(s)E.push(">");else return E.push("/>"),E.join("")}if(E.push(j(M,A,y+1,!1)),Y=M,Z=L,L)E.push((g?G(A,y,!1):"")+"");return E.join("")}function j(M,L,A,y){var g,d,E,s=[];for(d in M)if(M.hasOwnProperty(d)){E=U(M[d])?M[d]:[M[d]];for(g=0;g{switch($.type){case void 0:case"element":let U=new p9($.name,$.attributes),Y=$.elements||[];for(let Z of Y){let J=U8(Z);if(J!==void 0)U.push(J)}return U;case"text":return $.text;default:return}};class RQ extends I0{}class p9 extends o{static fromXmlString($){let U=$8.xml2js($,{compact:!1});return U8(U)}constructor($,U){super($);if(U)this.root.push(new RQ(U))}push($){this.root.push($)}}class i9 extends o{constructor($){super("");this._attr=$}prepForXml($){return{_attr:this._attr}}}var VX="";class Y8 extends o{constructor($,U){super($);if(U)this.root=U.root}}var S0=($)=>{if(isNaN($))throw Error(`Invalid value '${$}' specified. Must be an integer.`);return Math.floor($)},W1=($)=>{let U=S0($);if(U<0)throw Error(`Invalid value '${$}' specified. Must be a positive integer.`);return U},Z8=($,U)=>{let Y=U*2;if($.length!==Y||isNaN(Number(`0x${$}`)))throw Error(`Invalid hex value '${$}'. Expected ${Y} digit hex value`);return $},BX=($)=>Z8($,4),DQ=($)=>Z8($,2),D9=($)=>Z8($,1),H1=($)=>{let U=$.slice(-2),Y=$.substring(0,$.length-2);return`${Number(Y)}${U}`},r9=($)=>{let U=H1($);if(parseFloat(U)<0)throw Error(`Invalid value '${U}' specified. Expected a positive number.`);return U},S2=($)=>{if($==="auto")return $;let U=$.charAt(0)==="#"?$.substring(1):$;return Z8(U,3)},e0=($)=>typeof $==="string"?H1($):S0($),AQ=($)=>typeof $==="string"?r9($):W1($),LX=($)=>typeof $==="string"?H1($):S0($),T0=($)=>typeof $==="string"?r9($):W1($),PQ=($)=>{let U=$.substring(0,$.length-1);return`${Number(U)}%`},s9=($)=>{if(typeof $==="number")return S0($);if($.slice(-1)==="%")return PQ($);return H1($)},TQ=W1,CQ=W1,OQ=($)=>$.toISOString();class X0 extends o{constructor($,U=!0){super($);if(U!==!0)this.root.push(new O0({val:U}))}}class q1 extends o{constructor($,U){super($);this.root.push(new O0({val:AQ(U)}))}}class k0 extends o{}class Y2 extends o{constructor($,U){super($);this.root.push(new O0({val:U}))}}var u2=($,U)=>new B0({name:$,attributes:{value:{key:"w:val",value:U}}});class k2 extends o{constructor($,U){super($);this.root.push(new O0({val:U}))}}class kQ extends o{constructor($,U){super($);this.root.push(new O0({val:U}))}}class L2 extends o{constructor($,U){super($);this.root.push(U)}}class B0 extends o{constructor({name:$,attributes:U,children:Y}){super($);if(U)this.root.push(new n1(U));if(Y)this.root.push(...Y)}}var m0={START:"start",CENTER:"center",END:"end",BOTH:"both",MEDIUM_KASHIDA:"mediumKashida",DISTRIBUTE:"distribute",NUM_TAB:"numTab",HIGH_KASHIDA:"highKashida",LOW_KASHIDA:"lowKashida",THAI_DISTRIBUTE:"thaiDistribute",LEFT:"left",RIGHT:"right",JUSTIFIED:"both"},n9=($)=>new B0({name:"w:jc",attributes:{val:{key:"w:val",value:$}}}),N0=($,{color:U,size:Y,space:Z,style:J})=>new B0({name:$,attributes:{style:{key:"w:val",value:J},color:{key:"w:color",value:U===void 0?void 0:S2(U)},size:{key:"w:sz",value:Y===void 0?void 0:TQ(Y)},space:{key:"w:space",value:Z===void 0?void 0:CQ(Z)}}}),Q8={SINGLE:"single",DASH_DOT_STROKED:"dashDotStroked",DASHED:"dashed",DASH_SMALL_GAP:"dashSmallGap",DOT_DASH:"dotDash",DOT_DOT_DASH:"dotDotDash",DOTTED:"dotted",DOUBLE:"double",DOUBLE_WAVE:"doubleWave",INSET:"inset",NIL:"nil",NONE:"none",OUTSET:"outset",THICK:"thick",THICK_THIN_LARGE_GAP:"thickThinLargeGap",THICK_THIN_MEDIUM_GAP:"thickThinMediumGap",THICK_THIN_SMALL_GAP:"thickThinSmallGap",THIN_THICK_LARGE_GAP:"thinThickLargeGap",THIN_THICK_MEDIUM_GAP:"thinThickMediumGap",THIN_THICK_SMALL_GAP:"thinThickSmallGap",THIN_THICK_THIN_LARGE_GAP:"thinThickThinLargeGap",THIN_THICK_THIN_MEDIUM_GAP:"thinThickThinMediumGap",THIN_THICK_THIN_SMALL_GAP:"thinThickThinSmallGap",THREE_D_EMBOSS:"threeDEmboss",THREE_D_ENGRAVE:"threeDEngrave",TRIPLE:"triple",WAVE:"wave"};class o9 extends Q2{constructor($){super("w:pBdr");if($.top)this.root.push(N0("w:top",$.top));if($.bottom)this.root.push(N0("w:bottom",$.bottom));if($.left)this.root.push(N0("w:left",$.left));if($.right)this.root.push(N0("w:right",$.right));if($.between)this.root.push(N0("w:between",$.between))}}class t9 extends o{constructor(){super("w:pBdr");let $=N0("w:bottom",{color:"auto",space:1,style:Q8.SINGLE,size:6});this.root.push($)}}var EQ=({start:$,end:U,left:Y,right:Z,hanging:J,firstLine:G})=>new B0({name:"w:ind",attributes:{start:{key:"w:start",value:$===void 0?void 0:e0($)},end:{key:"w:end",value:U===void 0?void 0:e0(U)},left:{key:"w:left",value:Y===void 0?void 0:e0(Y)},right:{key:"w:right",value:Z===void 0?void 0:e0(Z)},hanging:{key:"w:hanging",value:J===void 0?void 0:T0(J)},firstLine:{key:"w:firstLine",value:G===void 0?void 0:T0(G)}}}),SQ=()=>new B0({name:"w:br"}),e9={BEGIN:"begin",END:"end",SEPARATE:"separate"},$$=($,U)=>new B0({name:"w:fldChar",attributes:{type:{key:"w:fldCharType",value:$},dirty:{key:"w:dirty",value:U}}}),$2=($)=>$$(e9.BEGIN,$),I2=($)=>$$(e9.SEPARATE,$),U2=($)=>$$(e9.END,$),MX={CENTER:"center",INSIDE:"inside",LEFT:"left",OUTSIDE:"outside",RIGHT:"right"},IX={BOTTOM:"bottom",CENTER:"center",INSIDE:"inside",OUTSIDE:"outside",TOP:"top"},wX={DECIMAL:"decimal",UPPER_ROMAN:"upperRoman",LOWER_ROMAN:"lowerRoman",UPPER_LETTER:"upperLetter",LOWER_LETTER:"lowerLetter",ORDINAL:"ordinal",CARDINAL_TEXT:"cardinalText",ORDINAL_TEXT:"ordinalText",HEX:"hex",CHICAGO:"chicago",IDEOGRAPH_DIGITAL:"ideographDigital",JAPANESE_COUNTING:"japaneseCounting",AIUEO:"aiueo",IROHA:"iroha",DECIMAL_FULL_WIDTH:"decimalFullWidth",DECIMAL_HALF_WIDTH:"decimalHalfWidth",JAPANESE_LEGAL:"japaneseLegal",JAPANESE_DIGITAL_TEN_THOUSAND:"japaneseDigitalTenThousand",DECIMAL_ENCLOSED_CIRCLE:"decimalEnclosedCircle",DECIMAL_FULL_WIDTH_2:"decimalFullWidth2",AIUEO_FULL_WIDTH:"aiueoFullWidth",IROHA_FULL_WIDTH:"irohaFullWidth",DECIMAL_ZERO:"decimalZero",BULLET:"bullet",GANADA:"ganada",CHOSUNG:"chosung",DECIMAL_ENCLOSED_FULL_STOP:"decimalEnclosedFullstop",DECIMAL_ENCLOSED_PAREN:"decimalEnclosedParen",DECIMAL_ENCLOSED_CIRCLE_CHINESE:"decimalEnclosedCircleChinese",IDEOGRAPH_ENCLOSED_CIRCLE:"ideographEnclosedCircle",IDEOGRAPH_TRADITIONAL:"ideographTraditional",IDEOGRAPH_ZODIAC:"ideographZodiac",IDEOGRAPH_ZODIAC_TRADITIONAL:"ideographZodiacTraditional",TAIWANESE_COUNTING:"taiwaneseCounting",IDEOGRAPH_LEGAL_TRADITIONAL:"ideographLegalTraditional",TAIWANESE_COUNTING_THOUSAND:"taiwaneseCountingThousand",TAIWANESE_DIGITAL:"taiwaneseDigital",CHINESE_COUNTING:"chineseCounting",CHINESE_LEGAL_SIMPLIFIED:"chineseLegalSimplified",CHINESE_COUNTING_TEN_THOUSAND:"chineseCountingThousand",KOREAN_DIGITAL:"koreanDigital",KOREAN_COUNTING:"koreanCounting",KOREAN_LEGAL:"koreanLegal",KOREAN_DIGITAL_2:"koreanDigital2",VIETNAMESE_COUNTING:"vietnameseCounting",RUSSIAN_LOWER:"russianLower",RUSSIAN_UPPER:"russianUpper",NONE:"none",NUMBER_IN_DASH:"numberInDash",HEBREW_1:"hebrew1",HEBREW_2:"hebrew2",ARABIC_ALPHA:"arabicAlpha",ARABIC_ABJAD:"arabicAbjad",HINDI_VOWELS:"hindiVowels",HINDI_CONSONANTS:"hindiConsonants",HINDI_NUMBERS:"hindiNumbers",HINDI_COUNTING:"hindiCounting",THAI_LETTERS:"thaiLetters",THAI_NUMBERS:"thaiNumbers",THAI_COUNTING:"thaiCounting",BAHT_TEXT:"bahtText",DOLLAR_TEXT:"dollarText"},g0={DEFAULT:"default",PRESERVE:"preserve"};class x0 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{space:"xml:space"})}}class vQ extends o{constructor(){super("w:instrText");this.root.push(new x0({space:g0.PRESERVE})),this.root.push("PAGE")}}class _Q extends o{constructor(){super("w:instrText");this.root.push(new x0({space:g0.PRESERVE})),this.root.push("NUMPAGES")}}class yQ extends o{constructor(){super("w:instrText");this.root.push(new x0({space:g0.PRESERVE})),this.root.push("SECTIONPAGES")}}class bQ extends o{constructor(){super("w:instrText");this.root.push(new x0({space:g0.PRESERVE})),this.root.push("SECTION")}}var j1=({fill:$,color:U,type:Y})=>new B0({name:"w:shd",attributes:{fill:{key:"w:fill",value:$===void 0?void 0:S2($)},color:{key:"w:color",value:U===void 0?void 0:S2(U)},type:{key:"w:val",value:Y}}}),WX={CLEAR:"clear",DIAGONAL_CROSS:"diagCross",DIAGONAL_STRIPE:"diagStripe",HORIZONTAL_CROSS:"horzCross",HORIZONTAL_STRIPE:"horzStripe",NIL:"nil",PERCENT_5:"pct5",PERCENT_10:"pct10",PERCENT_12:"pct12",PERCENT_15:"pct15",PERCENT_20:"pct20",PERCENT_25:"pct25",PERCENT_30:"pct30",PERCENT_35:"pct35",PERCENT_37:"pct37",PERCENT_40:"pct40",PERCENT_45:"pct45",PERCENT_50:"pct50",PERCENT_55:"pct55",PERCENT_60:"pct60",PERCENT_62:"pct62",PERCENT_65:"pct65",PERCENT_70:"pct70",PERCENT_75:"pct75",PERCENT_80:"pct80",PERCENT_85:"pct85",PERCENT_87:"pct87",PERCENT_90:"pct90",PERCENT_95:"pct95",REVERSE_DIAGONAL_STRIPE:"reverseDiagStripe",SOLID:"solid",THIN_DIAGONAL_CROSS:"thinDiagCross",THIN_DIAGONAL_STRIPE:"thinDiagStripe",THIN_HORIZONTAL_CROSS:"thinHorzCross",THIN_REVERSE_DIAGONAL_STRIPE:"thinReverseDiagStripe",THIN_VERTICAL_STRIPE:"thinVertStripe",VERTICAL_STRIPE:"vertStripe"};class _0 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{id:"w:id",author:"w:author",date:"w:date"})}}class gQ extends o{constructor($){super("w:del");this.root.push(new _0({id:$.id,author:$.author,date:$.date}))}}class xQ extends o{constructor($){super("w:ins");this.root.push(new _0({id:$.id,author:$.author,date:$.date}))}}var U$={DOT:"dot"},Y$=($=U$.DOT)=>new B0({name:"w:em",attributes:{val:{key:"w:val",value:$}}}),HX=()=>Y$(U$.DOT);class fQ extends o{constructor($){super("w:spacing");this.root.push(new O0({val:e0($)}))}}class hQ extends o{constructor($){super("w:color");this.root.push(new O0({val:S2($)}))}}class uQ extends o{constructor($){super("w:highlight");this.root.push(new O0({val:$}))}}class dQ extends o{constructor($){super("w:highlightCs");this.root.push(new O0({val:$}))}}var jX=($)=>new B0({name:"w:lang",attributes:{value:{key:"w:val",value:$.value},eastAsia:{key:"w:eastAsia",value:$.eastAsia},bidirectional:{key:"w:bidi",value:$.bidirectional}}}),g1=($,U)=>{if(typeof $==="string"){let Z=$;return new B0({name:"w:rFonts",attributes:{ascii:{key:"w:ascii",value:Z},cs:{key:"w:cs",value:Z},eastAsia:{key:"w:eastAsia",value:Z},hAnsi:{key:"w:hAnsi",value:Z},hint:{key:"w:hint",value:U}}})}let Y=$;return new B0({name:"w:rFonts",attributes:{ascii:{key:"w:ascii",value:Y.ascii},cs:{key:"w:cs",value:Y.cs},eastAsia:{key:"w:eastAsia",value:Y.eastAsia},hAnsi:{key:"w:hAnsi",value:Y.hAnsi},hint:{key:"w:hint",value:Y.hint}}})},cQ=($)=>new B0({name:"w:vertAlign",attributes:{val:{key:"w:val",value:$}}}),zX=()=>cQ("superscript"),FX=()=>cQ("subscript"),Z$={SINGLE:"single",WORDS:"words",DOUBLE:"double",THICK:"thick",DOTTED:"dotted",DOTTEDHEAVY:"dottedHeavy",DASH:"dash",DASHEDHEAVY:"dashedHeavy",DASHLONG:"dashLong",DASHLONGHEAVY:"dashLongHeavy",DOTDASH:"dotDash",DASHDOTHEAVY:"dashDotHeavy",DOTDOTDASH:"dotDotDash",DASHDOTDOTHEAVY:"dashDotDotHeavy",WAVE:"wave",WAVYHEAVY:"wavyHeavy",WAVYDOUBLE:"wavyDouble",NONE:"none"},mQ=($=Z$.SINGLE,U)=>new B0({name:"w:u",attributes:{val:{key:"w:val",value:$},color:{key:"w:color",value:U===void 0?void 0:S2(U)}}}),NX={BLINK_BACKGROUND:"blinkBackground",LIGHTS:"lights",ANTS_BLACK:"antsBlack",ANTS_RED:"antsRed",SHIMMER:"shimmer",SPARKLE:"sparkle",NONE:"none"},RX={BLACK:"black",BLUE:"blue",CYAN:"cyan",DARK_BLUE:"darkBlue",DARK_CYAN:"darkCyan",DARK_GRAY:"darkGray",DARK_GREEN:"darkGreen",DARK_MAGENTA:"darkMagenta",DARK_RED:"darkRed",DARK_YELLOW:"darkYellow",GREEN:"green",LIGHT_GRAY:"lightGray",MAGENTA:"magenta",NONE:"none",RED:"red",WHITE:"white",YELLOW:"yellow"};class J2 extends Q2{constructor($){var U,Y;super("w:rPr");if(!$)return;if($.style)this.push(new Y2("w:rStyle",$.style));if($.font)if(typeof $.font==="string")this.push(g1($.font));else if("name"in $.font)this.push(g1($.font.name,$.font.hint));else this.push(g1($.font));if($.bold!==void 0)this.push(new X0("w:b",$.bold));if($.boldComplexScript===void 0&&$.bold!==void 0||$.boldComplexScript)this.push(new X0("w:bCs",(U=$.boldComplexScript)!=null?U:$.bold));if($.italics!==void 0)this.push(new X0("w:i",$.italics));if($.italicsComplexScript===void 0&&$.italics!==void 0||$.italicsComplexScript)this.push(new X0("w:iCs",(Y=$.italicsComplexScript)!=null?Y:$.italics));if($.smallCaps!==void 0)this.push(new X0("w:smallCaps",$.smallCaps));else if($.allCaps!==void 0)this.push(new X0("w:caps",$.allCaps));if($.strike!==void 0)this.push(new X0("w:strike",$.strike));if($.doubleStrike!==void 0)this.push(new X0("w:dstrike",$.doubleStrike));if($.emboss!==void 0)this.push(new X0("w:emboss",$.emboss));if($.imprint!==void 0)this.push(new X0("w:imprint",$.imprint));if($.noProof!==void 0)this.push(new X0("w:noProof",$.noProof));if($.snapToGrid!==void 0)this.push(new X0("w:snapToGrid",$.snapToGrid));if($.vanish)this.push(new X0("w:vanish",$.vanish));if($.color)this.push(new hQ($.color));if($.characterSpacing)this.push(new fQ($.characterSpacing));if($.scale!==void 0)this.push(new k2("w:w",$.scale));if($.kern)this.push(new q1("w:kern",$.kern));if($.position)this.push(new Y2("w:position",$.position));if($.size!==void 0)this.push(new q1("w:sz",$.size));let Z=$.sizeComplexScript===void 0||$.sizeComplexScript===!0?$.size:$.sizeComplexScript;if(Z)this.push(new q1("w:szCs",Z));if($.highlight)this.push(new uQ($.highlight));let J=$.highlightComplexScript===void 0||$.highlightComplexScript===!0?$.highlight:$.highlightComplexScript;if(J)this.push(new dQ(J));if($.underline)this.push(mQ($.underline.type,$.underline.color));if($.effect)this.push(new Y2("w:effect",$.effect));if($.border)this.push(N0("w:bdr",$.border));if($.shading)this.push(j1($.shading));if($.subScript)this.push(FX());if($.superScript)this.push(zX());if($.rightToLeft!==void 0)this.push(new X0("w:rtl",$.rightToLeft));if($.emphasisMark)this.push(Y$($.emphasisMark.type));if($.language)this.push(jX($.language));if($.specVanish)this.push(new X0("w:specVanish",$.vanish));if($.math)this.push(new X0("w:oMath",$.math));if($.revision)this.push(new J$($.revision))}push($){this.root.push($)}}class Q$ extends J2{constructor($){super($);if($==null?void 0:$.insertion)this.push(new xQ($.insertion));if($==null?void 0:$.deletion)this.push(new gQ($.deletion))}}class J$ extends o{constructor($){super("w:rPrChange");this.root.push(new _0({id:$.id,author:$.author,date:$.date})),this.addChildElement(new J2($))}}class a2 extends o{constructor($){var U;super("w:t");if(typeof $==="string")this.root.push(new x0({space:g0.PRESERVE})),this.root.push($);else this.root.push(new x0({space:(U=$.space)!=null?U:g0.DEFAULT})),this.root.push($.text)}}var N2={CURRENT:"CURRENT",TOTAL_PAGES:"TOTAL_PAGES",TOTAL_PAGES_IN_SECTION:"TOTAL_PAGES_IN_SECTION",CURRENT_SECTION:"SECTION"};class C0 extends o{constructor($){super("w:r");if(Y0(this,"properties"),this.properties=new J2($),this.root.push(this.properties),$.break)for(let U=0;U<$.break;U++)this.root.push(SQ());if($.children)for(let U of $.children){if(typeof U==="string"){switch(U){case N2.CURRENT:this.root.push($2()),this.root.push(new vQ),this.root.push(I2()),this.root.push(U2());break;case N2.TOTAL_PAGES:this.root.push($2()),this.root.push(new _Q),this.root.push(I2()),this.root.push(U2());break;case N2.TOTAL_PAGES_IN_SECTION:this.root.push($2()),this.root.push(new yQ),this.root.push(I2()),this.root.push(U2());break;case N2.CURRENT_SECTION:this.root.push($2()),this.root.push(new bQ),this.root.push(I2()),this.root.push(U2());break;default:this.root.push(new a2(U));break}continue}this.root.push(U)}else if($.text!==void 0)this.root.push(new a2($.text))}}class p2 extends C0{constructor($){super(typeof $==="string"?{text:$}:$)}}class lQ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{char:"w:char",symbolfont:"w:font"})}}var DZ=class extends o{constructor(U="",Y="Wingdings"){super("w:sym");this.root.push(new lQ({char:U,symbolfont:Y}))}};class G$ extends C0{constructor($){if(typeof $==="string"){super({});return this.root.push(new DZ($)),this}super($);this.root.push(new DZ($.char,$.symbolfont))}}var Z9={},z0={},Q9,AZ;function z1(){if(AZ)return Q9;AZ=1,Q9=$;function $(U,Y){if(!U)throw Error(Y||"Assertion failed")}return $.equal=function(Y,Z,J){if(Y!=Z)throw Error(J||"Assertion failed: "+Y+" != "+Z)},Q9}var PZ;function G2(){if(PZ)return z0;PZ=1;var $=z1(),U=R2();z0.inherits=U;function Y(S,h){if((S.charCodeAt(h)&64512)!==55296)return!1;if(h<0||h+1>=S.length)return!1;return(S.charCodeAt(h+1)&64512)===56320}function Z(S,h){if(Array.isArray(S))return S.slice();if(!S)return[];var N=[];if(typeof S==="string"){if(!h){var a=0;for(var $0=0;$0>6|192,N[a++]=m&63|128;else if(Y(S,$0))m=65536+((m&1023)<<10)+(S.charCodeAt(++$0)&1023),N[a++]=m>>18|240,N[a++]=m>>12&63|128,N[a++]=m>>6&63|128,N[a++]=m&63|128;else N[a++]=m>>12|224,N[a++]=m>>6&63|128,N[a++]=m&63|128}}else if(h==="hex"){if(S=S.replace(/[^a-z0-9]+/ig,""),S.length%2!==0)S="0"+S;for($0=0;$0>>24|S>>>8&65280|S<<8&16711680|(S&255)<<24;return h>>>0}z0.htonl=G;function X(S,h){var N="";for(var a=0;a>>0}return m}z0.join32=F;function z(S,h){var N=Array(S.length*4);for(var a=0,$0=0;a>>24,N[$0+1]=m>>>16&255,N[$0+2]=m>>>8&255,N[$0+3]=m&255;else N[$0+3]=m>>>24,N[$0+2]=m>>>16&255,N[$0+1]=m>>>8&255,N[$0]=m&255}return N}z0.split32=z;function W(S,h){return S>>>h|S<<32-h}z0.rotr32=W;function k(S,h){return S<>>32-h}z0.rotl32=k;function D(S,h){return S+h>>>0}z0.sum32=D;function C(S,h,N){return S+h+N>>>0}z0.sum32_3=C;function H(S,h,N,a){return S+h+N+a>>>0}z0.sum32_4=H;function O(S,h,N,a,$0){return S+h+N+a+$0>>>0}z0.sum32_5=O;function V(S,h,N,a){var $0=S[h],m=S[h+1],J0=a+m>>>0,U0=(J0>>0,S[h+1]=J0}z0.sum64=V;function j(S,h,N,a){var $0=h+a>>>0,m=($0>>0}z0.sum64_hi=j;function M(S,h,N,a){var $0=h+a;return $0>>>0}z0.sum64_lo=M;function L(S,h,N,a,$0,m,J0,U0){var L0=0,i=h;i=i+a>>>0,L0+=i>>0,L0+=i>>0,L0+=i>>0}z0.sum64_4_hi=L;function A(S,h,N,a,$0,m,J0,U0){var L0=h+a+m+U0;return L0>>>0}z0.sum64_4_lo=A;function y(S,h,N,a,$0,m,J0,U0,L0,i){var _=0,r=h;r=r+a>>>0,_+=r>>0,_+=r>>0,_+=r>>0,_+=r>>0}z0.sum64_5_hi=y;function g(S,h,N,a,$0,m,J0,U0,L0,i){var _=h+a+m+U0+i;return _>>>0}z0.sum64_5_lo=g;function d(S,h,N){var a=h<<32-N|S>>>N;return a>>>0}z0.rotr64_hi=d;function E(S,h,N){var a=S<<32-N|h>>>N;return a>>>0}z0.rotr64_lo=E;function s(S,h,N){return S>>>N}z0.shr64_hi=s;function V0(S,h,N){var a=S<<32-N|h>>>N;return a>>>0}return z0.shr64_lo=V0,z0}var J9={},TZ;function F1(){if(TZ)return J9;TZ=1;var $=G2(),U=z1();function Y(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}return J9.BlockHash=Y,Y.prototype.update=function(J,G){if(J=$.toArray(J,G),!this.pending)this.pending=J;else this.pending=this.pending.concat(J);if(this.pendingTotal+=J.length,this.pending.length>=this._delta8){J=this.pending;var X=J.length%this._delta8;if(this.pending=J.slice(J.length-X,J.length),this.pending.length===0)this.pending=null;J=$.join32(J,0,J.length-X,this.endian);for(var Q=0;Q>>24&255,Q[B++]=J>>>16&255,Q[B++]=J>>>8&255,Q[B++]=J&255}else{Q[B++]=J&255,Q[B++]=J>>>8&255,Q[B++]=J>>>16&255,Q[B++]=J>>>24&255,Q[B++]=0,Q[B++]=0,Q[B++]=0,Q[B++]=0;for(F=8;F>>3}s0.g0_256=B;function F(z){return U(z,17)^U(z,19)^z>>>10}return s0.g1_256=F,s0}var G9,OZ;function DX(){if(OZ)return G9;OZ=1;var $=G2(),U=F1(),Y=aQ(),Z=$.rotl32,J=$.sum32,G=$.sum32_5,X=Y.ft_1,Q=U.BlockHash,B=[1518500249,1859775393,2400959708,3395469782];function F(){if(!(this instanceof F))return new F;Q.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=Array(80)}return $.inherits(F,Q),G9=F,F.blockSize=512,F.outSize=160,F.hmacStrength=80,F.padLength=64,F.prototype._update=function(W,k){var D=this.W;for(var C=0;C<16;C++)D[C]=W[k+C];for(;Cthis.blockSize)J=new this.Hash().update(J).digest();U(J.length<=this.blockSize);for(var G=J.length;G{return(Y=U)=>{let Z="",J=Y|0;while(J--)Z+=$[Math.random()*$.length|0];return Z}},yX=($=21)=>{let U="",Y=$|0;while(Y--)U+=vX[Math.random()*64|0];return U},bX=($)=>Math.floor($/25.4*72*20),d0=($)=>Math.floor($*72*20),N1=($=0)=>{let U=$;return()=>++U},rQ=()=>N1(),sQ=()=>N1(1),nQ=()=>N1(),oQ=()=>N1(),R1=()=>yX().toLowerCase(),A9=($)=>SX.sha1().update($ instanceof ArrayBuffer?new Uint8Array($):$).digest("hex"),Y1=($)=>_X("1234567890abcdef",$)(),tQ=()=>`${Y1(8)}-${Y1(4)}-${Y1(4)}-${Y1(4)}-${Y1(12)}`,X1=($)=>new Uint8Array(new TextEncoder().encode($)),eQ={CHARACTER:"character",COLUMN:"column",INSIDE_MARGIN:"insideMargin",LEFT_MARGIN:"leftMargin",MARGIN:"margin",OUTSIDE_MARGIN:"outsideMargin",PAGE:"page",RIGHT_MARGIN:"rightMargin"},$J={BOTTOM_MARGIN:"bottomMargin",INSIDE_MARGIN:"insideMargin",LINE:"line",MARGIN:"margin",OUTSIDE_MARGIN:"outsideMargin",PAGE:"page",PARAGRAPH:"paragraph",TOP_MARGIN:"topMargin"},UJ=()=>new B0({name:"wp:simplePos",attributes:{x:{key:"x",value:0},y:{key:"y",value:0}}}),YJ=($)=>new B0({name:"wp:align",children:[$]}),ZJ=($)=>new B0({name:"wp:posOffset",children:[$.toString()]}),QJ=({relative:$,align:U,offset:Y})=>new B0({name:"wp:positionH",attributes:{relativeFrom:{key:"relativeFrom",value:$!=null?$:eQ.PAGE}},children:[(()=>{if(U)return YJ(U);else if(Y!==void 0)return ZJ(Y);else throw Error("There is no configuration provided for floating position (Align or offset)")})()]}),JJ=({relative:$,align:U,offset:Y})=>new B0({name:"wp:positionV",attributes:{relativeFrom:{key:"relativeFrom",value:$!=null?$:$J.PAGE}},children:[(()=>{if(U)return YJ(U);else if(Y!==void 0)return ZJ(Y);else throw Error("There is no configuration provided for floating position (Align or offset)")})()]}),GJ=(($)=>{return $.CENTER="ctr",$.TOP="t",$.BOTTOM="b",$})(GJ||{}),KJ=($={})=>{var U,Y,Z,J;return new B0({name:"wps:bodyPr",attributes:{lIns:{key:"lIns",value:(U=$.margins)==null?void 0:U.left},rIns:{key:"rIns",value:(Y=$.margins)==null?void 0:Y.right},tIns:{key:"tIns",value:(Z=$.margins)==null?void 0:Z.top},bIns:{key:"bIns",value:(J=$.margins)==null?void 0:J.bottom},anchor:{key:"anchor",value:$.verticalAnchor}},children:[...$.noAutoFit?[new X0("a:noAutofit",$.noAutoFit)]:[]]})},gX=($={txBox:"1"})=>new B0({name:"wps:cNvSpPr",attributes:{txBox:{key:"txBox",value:$.txBox}}}),xX=($)=>new B0({name:"w:txbxContent",children:[...$]}),fX=($)=>new B0({name:"wps:txbx",children:[xX($)]});class qJ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{cx:"cx",cy:"cy"})}}class XJ extends o{constructor($,U){super("a:ext");Y0(this,"attributes"),this.attributes=new qJ({cx:$,cy:U}),this.root.push(this.attributes)}}class VJ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{x:"x",y:"y"})}}class BJ extends o{constructor($,U){super("a:off");this.root.push(new VJ({x:$!=null?$:0,y:U!=null?U:0}))}}class LJ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{flipVertical:"flipV",flipHorizontal:"flipH",rotation:"rot"})}}class K$ extends o{constructor($){var U,Y,Z,J,G,X;super("a:xfrm");Y0(this,"extents"),Y0(this,"offset"),this.root.push(new LJ({flipVertical:(U=$.flip)==null?void 0:U.vertical,flipHorizontal:(Y=$.flip)==null?void 0:Y.horizontal,rotation:$.rotation})),this.offset=new BJ((J=(Z=$.offset)==null?void 0:Z.emus)==null?void 0:J.x,(X=(G=$.offset)==null?void 0:G.emus)==null?void 0:X.y),this.extents=new XJ($.emus.x,$.emus.y),this.root.push(this.offset),this.root.push(this.extents)}}var MJ=()=>new B0({name:"a:noFill"}),hX=($)=>new B0({name:"a:srgbClr",attributes:{value:{key:"val",value:$.value}}}),uX=($)=>new B0({name:"a:schemeClr",attributes:{value:{key:"val",value:$.value}}}),P9=($)=>new B0({name:"a:solidFill",children:[$.type==="rgb"?hX($):uX($)]}),dX=($)=>new B0({name:"a:ln",attributes:{width:{key:"w",value:$.width},cap:{key:"cap",value:$.cap},compoundLine:{key:"cmpd",value:$.compoundLine},align:{key:"algn",value:$.align}},children:[$.type==="noFill"?MJ():$.solidFillType==="rgb"?P9({type:"rgb",value:$.value}):P9({type:"scheme",value:$.value})]});class IJ extends o{constructor(){super("a:avLst")}}class wJ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{prst:"prst"})}}class WJ extends o{constructor(){super("a:prstGeom");this.root.push(new wJ({prst:"rect"})),this.root.push(new IJ)}}class HJ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{bwMode:"bwMode"})}}class q$ extends o{constructor({element:$,outline:U,solidFill:Y,transform:Z}){super(`${$}:spPr`);if(Y0(this,"form"),this.root.push(new HJ({bwMode:"auto"})),this.form=new K$(Z),this.root.push(this.form),this.root.push(new WJ),U)this.root.push(MJ()),this.root.push(dX(U));if(Y)this.root.push(P9(Y))}}var xZ=($)=>new B0({name:"wps:wsp",children:[gX($.nonVisualProperties),new q$({element:"wps",transform:$.transformation,outline:$.outline,solidFill:$.solidFill}),fX($.children),KJ($.bodyProperties)]});class x1 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{uri:"uri"})}}var cX=($)=>new B0({name:"asvg:svgBlip",attributes:{asvg:{key:"xmlns:asvg",value:"http://schemas.microsoft.com/office/drawing/2016/SVG/main"},embed:{key:"r:embed",value:`rId{${$.fileName}}`}}}),mX=($)=>new B0({name:"a:ext",attributes:{uri:{key:"uri",value:"{96DAC541-7B7A-43D3-8B79-37D633B846F1}"}},children:[cX($)]}),lX=($)=>new B0({name:"a:extLst",children:[mX($)]}),aX=($)=>new B0({name:"a:blip",attributes:{embed:{key:"r:embed",value:`rId{${$.type==="svg"?$.fallback.fileName:$.fileName}}`},cstate:{key:"cstate",value:"none"}},children:$.type==="svg"?[lX($)]:[]});class jJ extends o{constructor(){super("a:srcRect")}}class zJ extends o{constructor(){super("a:fillRect")}}class FJ extends o{constructor(){super("a:stretch");this.root.push(new zJ)}}class NJ extends o{constructor($){super("pic:blipFill");this.root.push(aX($)),this.root.push(new jJ),this.root.push(new FJ)}}class RJ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{noChangeAspect:"noChangeAspect",noChangeArrowheads:"noChangeArrowheads"})}}class DJ extends o{constructor(){super("a:picLocks");this.root.push(new RJ({noChangeAspect:1,noChangeArrowheads:1}))}}class AJ extends o{constructor(){super("pic:cNvPicPr");this.root.push(new DJ)}}var PJ=($,U)=>new B0({name:"a:hlinkClick",attributes:R0(W0({},U?{xmlns:{key:"xmlns:a",value:"http://schemas.openxmlformats.org/drawingml/2006/main"}}:{}),{id:{key:"r:id",value:`rId${$}`}})});class TJ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{id:"id",name:"name",descr:"descr"})}}class CJ extends o{constructor(){super("pic:cNvPr");this.root.push(new TJ({id:0,name:"",descr:""}))}prepForXml($){for(let U=$.stack.length-1;U>=0;U--){let Y=$.stack[U];if(!(Y instanceof _2))continue;this.root.push(PJ(Y.linkId,!1));break}return super.prepForXml($)}}class OJ extends o{constructor(){super("pic:nvPicPr");this.root.push(new CJ),this.root.push(new AJ)}}class kJ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{xmlns:"xmlns:pic"})}}class T9 extends o{constructor({mediaData:$,transform:U,outline:Y}){super("pic:pic");this.root.push(new kJ({xmlns:"http://schemas.openxmlformats.org/drawingml/2006/picture"})),this.root.push(new OJ),this.root.push(new NJ($)),this.root.push(new q$({element:"pic",transform:U,outline:Y}))}}var pX=($)=>new B0({name:"wpg:grpSpPr",children:[new K$($)]}),iX=()=>new B0({name:"wpg:cNvGrpSpPr"}),rX=($)=>new B0({name:"wpg:wgp",children:[iX(),pX($.transformation),...$.children]});class EJ extends o{constructor({mediaData:$,transform:U,outline:Y,solidFill:Z}){super("a:graphicData");if($.type==="wps"){this.root.push(new x1({uri:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape"}));let J=xZ(R0(W0({},$.data),{transformation:U,outline:Y,solidFill:Z}));this.root.push(J)}else if($.type==="wpg"){this.root.push(new x1({uri:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"}));let G=$.children.map((Q)=>{if(Q.type==="wps")return xZ(R0(W0({},Q.data),{transformation:Q.transformation,outline:Q.outline,solidFill:Q.solidFill}));else return new T9({mediaData:Q,transform:Q.transformation,outline:Q.outline})}),X=rX({children:G,transformation:U});this.root.push(X)}else{this.root.push(new x1({uri:"http://schemas.openxmlformats.org/drawingml/2006/picture"}));let G=new T9({mediaData:$,transform:U,outline:Y});this.root.push(G)}}}class SJ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{a:"xmlns:a"})}}class X$ extends o{constructor({mediaData:$,transform:U,outline:Y,solidFill:Z}){super("a:graphic");Y0(this,"data"),this.root.push(new SJ({a:"http://schemas.openxmlformats.org/drawingml/2006/main"})),this.data=new EJ({mediaData:$,transform:U,outline:Y,solidFill:Z}),this.root.push(this.data)}}var G1={NONE:0,SQUARE:1,TIGHT:2,TOP_AND_BOTTOM:3},vJ={BOTH_SIDES:"bothSides",LEFT:"left",RIGHT:"right",LARGEST:"largest"},C9=()=>new B0({name:"wp:wrapNone"}),_J=($,U={top:0,bottom:0,left:0,right:0})=>new B0({name:"wp:wrapSquare",attributes:{wrapText:{key:"wrapText",value:$.side||vJ.BOTH_SIDES},distT:{key:"distT",value:U.top},distB:{key:"distB",value:U.bottom},distL:{key:"distL",value:U.left},distR:{key:"distR",value:U.right}}}),yJ=($={top:0,bottom:0})=>new B0({name:"wp:wrapTight",attributes:{distT:{key:"distT",value:$.top},distB:{key:"distB",value:$.bottom}}}),bJ=($={top:0,bottom:0})=>new B0({name:"wp:wrapTopAndBottom",attributes:{distT:{key:"distT",value:$.top},distB:{key:"distB",value:$.bottom}}});class V$ extends o{constructor({name:$,description:U,title:Y,id:Z}={name:"",description:"",title:""}){super("wp:docPr");Y0(this,"docPropertiesUniqueNumericId",nQ());let J={id:{key:"id",value:Z!=null?Z:this.docPropertiesUniqueNumericId()},name:{key:"name",value:$}};if(U!==null&&U!==void 0)J.description={key:"descr",value:U};if(Y!==null&&Y!==void 0)J.title={key:"title",value:Y};this.root.push(new n1(J))}prepForXml($){for(let U=$.stack.length-1;U>=0;U--){let Y=$.stack[U];if(!(Y instanceof _2))continue;this.root.push(PJ(Y.linkId,!0));break}return super.prepForXml($)}}var gJ=({top:$,right:U,bottom:Y,left:Z})=>new B0({name:"wp:effectExtent",attributes:{top:{key:"t",value:$},right:{key:"r",value:U},bottom:{key:"b",value:Y},left:{key:"l",value:Z}}}),xJ=({x:$,y:U})=>new B0({name:"wp:extent",attributes:{x:{key:"cx",value:$},y:{key:"cy",value:U}}});class fJ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{xmlns:"xmlns:a",noChangeAspect:"noChangeAspect"})}}class hJ extends o{constructor(){super("a:graphicFrameLocks");this.root.push(new fJ({xmlns:"http://schemas.openxmlformats.org/drawingml/2006/main",noChangeAspect:1}))}}var uJ=()=>new B0({name:"wp:cNvGraphicFramePr",children:[new hJ]});class dJ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{distT:"distT",distB:"distB",distL:"distL",distR:"distR",allowOverlap:"allowOverlap",behindDoc:"behindDoc",layoutInCell:"layoutInCell",locked:"locked",relativeHeight:"relativeHeight",simplePos:"simplePos"})}}class cJ extends o{constructor({mediaData:$,transform:U,drawingOptions:Y}){super("wp:anchor");let Z=W0({allowOverlap:!0,behindDocument:!1,lockAnchor:!1,layoutInCell:!0,verticalPosition:{},horizontalPosition:{}},Y.floating);if(this.root.push(new dJ({distT:Z.margins?Z.margins.top||0:0,distB:Z.margins?Z.margins.bottom||0:0,distL:Z.margins?Z.margins.left||0:0,distR:Z.margins?Z.margins.right||0:0,simplePos:"0",allowOverlap:Z.allowOverlap===!0?"1":"0",behindDoc:Z.behindDocument===!0?"1":"0",locked:Z.lockAnchor===!0?"1":"0",layoutInCell:Z.layoutInCell===!0?"1":"0",relativeHeight:Z.zIndex?Z.zIndex:U.emus.y})),this.root.push(UJ()),this.root.push(QJ(Z.horizontalPosition)),this.root.push(JJ(Z.verticalPosition)),this.root.push(xJ({x:U.emus.x,y:U.emus.y})),this.root.push(gJ({top:0,right:0,bottom:0,left:0})),Y.floating!==void 0&&Y.floating.wrap!==void 0)switch(Y.floating.wrap.type){case G1.SQUARE:this.root.push(_J(Y.floating.wrap,Y.floating.margins));break;case G1.TIGHT:this.root.push(yJ(Y.floating.margins));break;case G1.TOP_AND_BOTTOM:this.root.push(bJ(Y.floating.margins));break;case G1.NONE:default:this.root.push(C9())}else this.root.push(C9());this.root.push(new V$(Y.docProperties)),this.root.push(uJ()),this.root.push(new X$({mediaData:$,transform:U,outline:Y.outline,solidFill:Y.solidFill}))}}var sX=({mediaData:$,transform:U,docProperties:Y,outline:Z,solidFill:J})=>{var G,X,Q,B;return new B0({name:"wp:inline",attributes:{distanceTop:{key:"distT",value:0},distanceBottom:{key:"distB",value:0},distanceLeft:{key:"distL",value:0},distanceRight:{key:"distR",value:0}},children:[xJ({x:U.emus.x,y:U.emus.y}),gJ(Z?{top:((G=Z.width)!=null?G:9525)*2,right:((X=Z.width)!=null?X:9525)*2,bottom:((Q=Z.width)!=null?Q:9525)*2,left:((B=Z.width)!=null?B:9525)*2}:{top:0,right:0,bottom:0,left:0}),new V$(Y),uJ(),new X$({mediaData:$,transform:U,outline:Z,solidFill:J})]})};class D1 extends o{constructor($,U={}){super("w:drawing");if(!U.floating)this.root.push(sX({mediaData:$,transform:$.transformation,docProperties:U.docProperties,outline:U.outline,solidFill:U.solidFill}));else this.root.push(new cJ({mediaData:$,transform:$.transformation,drawingOptions:U}))}}var nX=($)=>{let Y=$.indexOf(";base64,"),Z=Y===-1?0:Y+8;return new Uint8Array(atob($.substring(Z)).split("").map((J)=>J.charCodeAt(0)))},mJ=($)=>typeof $==="string"?nX($):$,M9=($,U)=>({data:mJ($.data),fileName:U,transformation:{pixels:{x:Math.round($.transformation.width),y:Math.round($.transformation.height)},emus:{x:Math.round($.transformation.width*9525),y:Math.round($.transformation.height*9525)},flip:$.transformation.flip,rotation:$.transformation.rotation?$.transformation.rotation*60000:void 0}});class lJ extends C0{constructor($){super({});Y0(this,"imageData");let Y=`${A9($.data)}.${$.type}`;this.imageData=$.type==="svg"?R0(W0({type:$.type},M9($,Y)),{fallback:W0({type:$.fallback.type},M9(R0(W0({},$.fallback),{transformation:$.transformation}),`${A9($.fallback.data)}.${$.fallback.type}`))}):W0({type:$.type},M9($,Y));let Z=new D1(this.imageData,{floating:$.floating,docProperties:$.altText,outline:$.outline});this.root.push(Z)}prepForXml($){if($.file.Media.addImage(this.imageData.fileName,this.imageData),this.imageData.type==="svg")$.file.Media.addImage(this.imageData.fallback.fileName,this.imageData.fallback);return super.prepForXml($)}}var B$=($)=>{var U,Y,Z,J,G,X,Q,B;return{offset:{pixels:{x:Math.round((Y=(U=$.offset)==null?void 0:U.left)!=null?Y:0),y:Math.round((J=(Z=$.offset)==null?void 0:Z.top)!=null?J:0)},emus:{x:Math.round(((X=(G=$.offset)==null?void 0:G.left)!=null?X:0)*9525),y:Math.round(((B=(Q=$.offset)==null?void 0:Q.top)!=null?B:0)*9525)}},pixels:{x:Math.round($.width),y:Math.round($.height)},emus:{x:Math.round($.width*9525),y:Math.round($.height*9525)},flip:$.flip,rotation:$.rotation?$.rotation*60000:void 0}};class aJ extends C0{constructor($){super({});Y0(this,"wpsShapeData"),this.wpsShapeData={type:$.type,transformation:B$($.transformation),data:W0({},$)};let U=new D1(this.wpsShapeData,{floating:$.floating,docProperties:$.altText,outline:$.outline,solidFill:$.solidFill});this.root.push(U)}}class pJ extends C0{constructor($){super({});Y0(this,"wpgGroupData"),Y0(this,"mediaDatas"),this.wpgGroupData={type:$.type,transformation:B$($.transformation),children:$.children};let U=new D1(this.wpgGroupData,{floating:$.floating,docProperties:$.altText});this.mediaDatas=$.children.filter((Y)=>Y.type!=="wps").map((Y)=>Y),this.root.push(U)}prepForXml($){return this.mediaDatas.forEach((U)=>{if($.file.Media.addImage(U.fileName,U),U.type==="svg")$.file.Media.addImage(U.fallback.fileName,U.fallback)}),super.prepForXml($)}}class iJ extends o{constructor($){super("w:instrText");this.root.push(new x0({space:g0.PRESERVE})),this.root.push(`SEQ ${$}`)}}class rJ extends C0{constructor($){super({});this.root.push($2(!0)),this.root.push(new iJ($)),this.root.push(I2()),this.root.push(U2())}}class sJ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{instr:"w:instr"})}}class J8 extends o{constructor($,U){super("w:fldSimple");if(this.root.push(new sJ({instr:$})),U!==void 0)this.root.push(new p2(U))}}class nJ extends J8{constructor($){super(` MERGEFIELD ${$} `,`«${$}»`)}}class oJ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{xmlns:"xmlns"})}}var tJ={EXTERNAL:"External"},oX=($,U,Y,Z)=>new B0({name:"Relationship",attributes:{id:{key:"Id",value:$},type:{key:"Type",value:U},target:{key:"Target",value:Y},targetMode:{key:"TargetMode",value:Z}}});class W2 extends o{constructor(){super("Relationships");this.root.push(new oJ({xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"}))}addRelationship($,U,Y,Z){this.root.push(oX(`rId${$}`,U,Y,Z))}get RelationshipCount(){return this.root.length-1}}class eJ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{id:"w:id",initials:"w:initials",author:"w:author",date:"w:date"})}}class G8 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{id:"w:id"})}}class $G extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{"xmlns:cx":"xmlns:cx","xmlns:cx1":"xmlns:cx1","xmlns:cx2":"xmlns:cx2","xmlns:cx3":"xmlns:cx3","xmlns:cx4":"xmlns:cx4","xmlns:cx5":"xmlns:cx5","xmlns:cx6":"xmlns:cx6","xmlns:cx7":"xmlns:cx7","xmlns:cx8":"xmlns:cx8","xmlns:mc":"xmlns:mc","xmlns:aink":"xmlns:aink","xmlns:am3d":"xmlns:am3d","xmlns:o":"xmlns:o","xmlns:r":"xmlns:r","xmlns:m":"xmlns:m","xmlns:v":"xmlns:v","xmlns:wp14":"xmlns:wp14","xmlns:wp":"xmlns:wp","xmlns:w10":"xmlns:w10","xmlns:w":"xmlns:w","xmlns:w14":"xmlns:w14","xmlns:w15":"xmlns:w15","xmlns:w16cex":"xmlns:w16cex","xmlns:w16cid":"xmlns:w16cid","xmlns:w16":"xmlns:w16","xmlns:w16sdtdh":"xmlns:w16sdtdh","xmlns:w16se":"xmlns:w16se","xmlns:wpg":"xmlns:wpg","xmlns:wpi":"xmlns:wpi","xmlns:wne":"xmlns:wne","xmlns:wps":"xmlns:wps"})}}class UG extends o{constructor($){super("w:commentRangeStart");this.root.push(new G8({id:$}))}}class YG extends o{constructor($){super("w:commentRangeEnd");this.root.push(new G8({id:$}))}}class ZG extends o{constructor($){super("w:commentReference");this.root.push(new G8({id:$}))}}class L$ extends o{constructor({id:$,initials:U,author:Y,date:Z=new Date,children:J}){super("w:comment");this.root.push(new eJ({id:$,initials:U,author:Y,date:Z.toISOString()}));for(let G of J)this.root.push(G)}}class M$ extends o{constructor({children:$}){super("w:comments");Y0(this,"relationships"),this.root.push(new $G({"xmlns:cx":"http://schemas.microsoft.com/office/drawing/2014/chartex","xmlns:cx1":"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex","xmlns:cx2":"http://schemas.microsoft.com/office/drawing/2015/10/21/chartex","xmlns:cx3":"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex","xmlns:cx4":"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex","xmlns:cx5":"http://schemas.microsoft.com/office/drawing/2016/5/11/chartex","xmlns:cx6":"http://schemas.microsoft.com/office/drawing/2016/5/12/chartex","xmlns:cx7":"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex","xmlns:cx8":"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","xmlns:aink":"http://schemas.microsoft.com/office/drawing/2016/ink","xmlns:am3d":"http://schemas.microsoft.com/office/drawing/2017/model3d","xmlns:o":"urn:schemas-microsoft-com:office:office","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:m":"http://schemas.openxmlformats.org/officeDocument/2006/math","xmlns:v":"urn:schemas-microsoft-com:vml","xmlns:wp14":"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing","xmlns:wp":"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing","xmlns:w10":"urn:schemas-microsoft-com:office:word","xmlns:w":"http://schemas.openxmlformats.org/wordprocessingml/2006/main","xmlns:w14":"http://schemas.microsoft.com/office/word/2010/wordml","xmlns:w15":"http://schemas.microsoft.com/office/word/2012/wordml","xmlns:w16cex":"http://schemas.microsoft.com/office/word/2018/wordml/cex","xmlns:w16cid":"http://schemas.microsoft.com/office/word/2016/wordml/cid","xmlns:w16":"http://schemas.microsoft.com/office/word/2018/wordml","xmlns:w16sdtdh":"http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash","xmlns:w16se":"http://schemas.microsoft.com/office/word/2015/wordml/symex","xmlns:wpg":"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup","xmlns:wpi":"http://schemas.microsoft.com/office/word/2010/wordprocessingInk","xmlns:wne":"http://schemas.microsoft.com/office/word/2006/wordml","xmlns:wps":"http://schemas.microsoft.com/office/word/2010/wordprocessingShape"}));for(let U of $)this.root.push(new L$(U));this.relationships=new W2}get Relationships(){return this.relationships}}class QG extends k0{constructor(){super("w:noBreakHyphen")}}class JG extends k0{constructor(){super("w:softHyphen")}}class GG extends k0{constructor(){super("w:dayShort")}}class KG extends k0{constructor(){super("w:monthShort")}}class qG extends k0{constructor(){super("w:yearShort")}}class XG extends k0{constructor(){super("w:dayLong")}}class VG extends k0{constructor(){super("w:monthLong")}}class BG extends k0{constructor(){super("w:yearLong")}}class LG extends k0{constructor(){super("w:annotationRef")}}class MG extends k0{constructor(){super("w:footnoteRef")}}class I$ extends k0{constructor(){super("w:endnoteRef")}}class IG extends k0{constructor(){super("w:separator")}}class wG extends k0{constructor(){super("w:continuationSeparator")}}class WG extends k0{constructor(){super("w:pgNum")}}class HG extends k0{constructor(){super("w:cr")}}class w$ extends k0{constructor(){super("w:tab")}}class jG extends k0{constructor(){super("w:lastRenderedPageBreak")}}var tX={LEFT:"left",CENTER:"center",RIGHT:"right"},eX={MARGIN:"margin",INDENT:"indent"},$V={NONE:"none",DOT:"dot",HYPHEN:"hyphen",UNDERSCORE:"underscore",MIDDLE_DOT:"middleDot"};class zG extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{alignment:"w:alignment",relativeTo:"w:relativeTo",leader:"w:leader"})}}class FG extends o{constructor($){super("w:ptab");this.root.push(new zG({alignment:$.alignment,relativeTo:$.relativeTo,leader:$.leader}))}}var NG={COLUMN:"column",PAGE:"page"};class W$ extends o{constructor($){super("w:br");this.root.push(new O0({type:$}))}}class RG extends C0{constructor(){super({});this.root.push(new W$(NG.PAGE))}}class DG extends C0{constructor(){super({});this.root.push(new W$(NG.COLUMN))}}class H$ extends o{constructor(){super("w:pageBreakBefore")}}var v2={AT_LEAST:"atLeast",EXACTLY:"exactly",EXACT:"exact",AUTO:"auto"},AG=({after:$,before:U,line:Y,lineRule:Z,beforeAutoSpacing:J,afterAutoSpacing:G})=>new B0({name:"w:spacing",attributes:{after:{key:"w:after",value:$},before:{key:"w:before",value:U},line:{key:"w:line",value:Y},lineRule:{key:"w:lineRule",value:Z},beforeAutoSpacing:{key:"w:beforeAutospacing",value:J},afterAutoSpacing:{key:"w:afterAutospacing",value:G}}}),UV={HEADING_1:"Heading1",HEADING_2:"Heading2",HEADING_3:"Heading3",HEADING_4:"Heading4",HEADING_5:"Heading5",HEADING_6:"Heading6",TITLE:"Title"},K1=($)=>new B0({name:"w:pStyle",attributes:{val:{key:"w:val",value:$}}}),O9={LEFT:"left",RIGHT:"right",CENTER:"center",BAR:"bar",CLEAR:"clear",DECIMAL:"decimal",END:"end",NUM:"num",START:"start"},YV={DOT:"dot",HYPHEN:"hyphen",MIDDLE_DOT:"middleDot",NONE:"none",UNDERSCORE:"underscore"},ZV={MAX:9026},PG=({type:$,position:U,leader:Y})=>new B0({name:"w:tab",attributes:{val:{key:"w:val",value:$},pos:{key:"w:pos",value:U},leader:{key:"w:leader",value:Y}}}),TG=($)=>new B0({name:"w:tabs",children:$.map((U)=>PG(U))});class V1 extends o{constructor($,U){super("w:numPr");this.root.push(new CG(U)),this.root.push(new OG($))}}class CG extends o{constructor($){super("w:ilvl");if($>9)throw Error("Level cannot be greater than 9. Read more here: https://answers.microsoft.com/en-us/msoffice/forum/all/does-word-support-more-than-9-list-levels/d130fdcd-1781-446d-8c84-c6c79124e4d7");this.root.push(new O0({val:$}))}}class OG extends o{constructor($){super("w:numId");this.root.push(new O0({val:typeof $==="string"?`{${$}}`:$}))}}class r2 extends o{constructor(){super(...arguments);Y0(this,"fileChild",Symbol())}}class kG extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{id:"r:id",history:"w:history",anchor:"w:anchor"})}}var QV={INTERNAL:"INTERNAL",EXTERNAL:"EXTERNAL"};class _2 extends o{constructor($,U,Y){super("w:hyperlink");Y0(this,"linkId"),this.linkId=U;let Z={history:1,anchor:Y?Y:void 0,id:!Y?`rId${this.linkId}`:void 0},J=new kG(Z);this.root.push(J),$.forEach((G)=>{this.root.push(G)})}}class j$ extends _2{constructor($){super($.children,R1(),$.anchor)}}class K8 extends o{constructor($){super("w:externalHyperlink");this.options=$}}class EG extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{id:"w:id",name:"w:name"})}}class SG extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{id:"w:id"})}}class z${constructor($){Y0(this,"bookmarkUniqueNumericId",oQ()),Y0(this,"start"),Y0(this,"children"),Y0(this,"end");let U=this.bookmarkUniqueNumericId();this.start=new F$($.id,U),this.children=$.children,this.end=new N$(U)}}class F$ extends o{constructor($,U){super("w:bookmarkStart");let Y=new EG({name:$,id:U});this.root.push(Y)}}class N$ extends o{constructor($){super("w:bookmarkEnd");let U=new SG({id:$});this.root.push(U)}}var vG=(($)=>{return $.NONE="none",$.RELATIVE="relative",$.NO_CONTEXT="no_context",$.FULL_CONTEXT="full_context",$})(vG||{}),JV={["relative"]:"\\r",["no_context"]:"\\n",["full_context"]:"\\w",["none"]:void 0};class _G extends J8{constructor($,U,Y={}){let{hyperlink:Z=!0,referenceFormat:J="full_context"}=Y,G=`REF ${$}`,X=[...Z?["\\h"]:[],...[JV[J]].filter((B)=>!!B)],Q=`${G} ${X.join(" ")}`;super(Q,U)}}var yG=($)=>new B0({name:"w:outlineLvl",attributes:{val:{key:"w:val",value:$}}});class bG extends o{constructor($,U={}){super("w:instrText");this.root.push(new x0({space:g0.PRESERVE}));let Y=`PAGEREF ${$}`;if(U.hyperlink)Y=`${Y} \\h`;if(U.useRelativePosition)Y=`${Y} \\p`;this.root.push(Y)}}class gG extends C0{constructor($,U={}){super({children:[$2(!0),new bG($,U),U2()]})}}var GV={ANSI:"00",DEFAULT:"01",SYMBOL:"02",MAC:"4D",JIS:"80",HANGUL:"81",JOHAB:"82",GB_2312:"86",CHINESEBIG5:"88",GREEK:"A1",TURKISH:"A2",VIETNAMESE:"A3",HEBREW:"B1",ARABIC:"B2",BALTIC:"BA",RUSSIAN:"CC",THAI:"DE",EASTEUROPE:"EE",OEM:"FF"},_1=({id:$,fontKey:U,subsetted:Y},Z)=>new B0({name:Z,attributes:W0({id:{key:"r:id",value:$}},U?{fontKey:{key:"w:fontKey",value:`{${U}}`}}:{}),children:[...Y?[new X0("w:subsetted",Y)]:[]]}),KV=({name:$,altName:U,panose1:Y,charset:Z,family:J,notTrueType:G,pitch:X,sig:Q,embedRegular:B,embedBold:F,embedItalic:z,embedBoldItalic:W})=>new B0({name:"w:font",attributes:{name:{key:"w:name",value:$}},children:[...U?[u2("w:altName",U)]:[],...Y?[u2("w:panose1",Y)]:[],...Z?[u2("w:charset",Z)]:[],u2("w:family",J),...G?[new X0("w:notTrueType",G)]:[],u2("w:pitch",X),...Q?[new B0({name:"w:sig",attributes:{usb0:{key:"w:usb0",value:Q.usb0},usb1:{key:"w:usb1",value:Q.usb1},usb2:{key:"w:usb2",value:Q.usb2},usb3:{key:"w:usb3",value:Q.usb3},csb0:{key:"w:csb0",value:Q.csb0},csb1:{key:"w:csb1",value:Q.csb1}}})]:[],...B?[_1(B,"w:embedRegular")]:[],...F?[_1(F,"w:embedBold")]:[],...z?[_1(z,"w:embedItalic")]:[],...W?[_1(W,"w:embedBoldItalic")]:[]]}),qV=({name:$,index:U,fontKey:Y,characterSet:Z})=>KV({name:$,sig:{usb0:"E0002AFF",usb1:"C000247B",usb2:"00000009",usb3:"00000000",csb0:"000001FF",csb1:"00000000"},charset:Z,family:"auto",pitch:"variable",embedRegular:{fontKey:Y,id:`rId${U}`}}),XV=($)=>new B0({name:"w:fonts",attributes:{mc:{key:"xmlns:mc",value:"http://schemas.openxmlformats.org/markup-compatibility/2006"},r:{key:"xmlns:r",value:"http://schemas.openxmlformats.org/officeDocument/2006/relationships"},w:{key:"xmlns:w",value:"http://schemas.openxmlformats.org/wordprocessingml/2006/main"},w14:{key:"xmlns:w14",value:"http://schemas.microsoft.com/office/word/2010/wordml"},w15:{key:"xmlns:w15",value:"http://schemas.microsoft.com/office/word/2012/wordml"},w16cex:{key:"xmlns:w16cex",value:"http://schemas.microsoft.com/office/word/2018/wordml/cex"},w16cid:{key:"xmlns:w16cid",value:"http://schemas.microsoft.com/office/word/2016/wordml/cid"},w16:{key:"xmlns:w16",value:"http://schemas.microsoft.com/office/word/2018/wordml"},w16sdtdh:{key:"xmlns:w16sdtdh",value:"http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash"},w16se:{key:"xmlns:w16se",value:"http://schemas.microsoft.com/office/word/2015/wordml/symex"},Ignorable:{key:"mc:Ignorable",value:"w14 w15 w16se w16cid w16 w16cex w16sdtdh"}},children:$.map((U,Y)=>qV({name:U.name,index:Y+1,fontKey:U.fontKey,characterSet:U.characterSet}))});class R${constructor($){Y0(this,"fontTable"),Y0(this,"relationships"),Y0(this,"fontOptionsWithKey",[]),this.options=$,this.fontOptionsWithKey=$.map((U)=>R0(W0({},U),{fontKey:tQ()})),this.fontTable=XV(this.fontOptionsWithKey),this.relationships=new W2;for(let U=0;U<$.length;U++)this.relationships.addRelationship(U+1,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/font",`fonts/${$[U].name}.odttf`)}get View(){return this.fontTable}get Relationships(){return this.relationships}}var VV=()=>new B0({name:"w:wordWrap",attributes:{val:{key:"w:val",value:0}}}),BV={NONE:"none",DROP:"drop",MARGIN:"margin"},LV={MARGIN:"margin",PAGE:"page",TEXT:"text"},MV={AROUND:"around",AUTO:"auto",NONE:"none",NOT_BESIDE:"notBeside",THROUGH:"through",TIGHT:"tight"},xG=($)=>{var U,Y;return new B0({name:"w:framePr",attributes:{anchorLock:{key:"w:anchorLock",value:$.anchorLock},dropCap:{key:"w:dropCap",value:$.dropCap},width:{key:"w:w",value:$.width},height:{key:"w:h",value:$.height},x:{key:"w:x",value:$.position?$.position.x:void 0},y:{key:"w:y",value:$.position?$.position.y:void 0},anchorHorizontal:{key:"w:hAnchor",value:$.anchor.horizontal},anchorVertical:{key:"w:vAnchor",value:$.anchor.vertical},spaceHorizontal:{key:"w:hSpace",value:(U=$.space)==null?void 0:U.horizontal},spaceVertical:{key:"w:vSpace",value:(Y=$.space)==null?void 0:Y.vertical},rule:{key:"w:hRule",value:$.rule},alignmentX:{key:"w:xAlign",value:$.alignment?$.alignment.x:void 0},alignmentY:{key:"w:yAlign",value:$.alignment?$.alignment.y:void 0},lines:{key:"w:lines",value:$.lines},wrap:{key:"w:wrap",value:$.wrap}}})};class Z2 extends Q2{constructor($){var U,Y;super("w:pPr",$==null?void 0:$.includeIfEmpty);if(Y0(this,"numberingReferences",[]),!$)return this;if($.heading)this.push(K1($.heading));if($.bullet)this.push(K1("ListParagraph"));if($.numbering){if(!$.style&&!$.heading){if(!$.numbering.custom)this.push(K1("ListParagraph"))}}if($.style)this.push(K1($.style));if($.keepNext!==void 0)this.push(new X0("w:keepNext",$.keepNext));if($.keepLines!==void 0)this.push(new X0("w:keepLines",$.keepLines));if($.pageBreakBefore)this.push(new H$);if($.frame)this.push(xG($.frame));if($.widowControl!==void 0)this.push(new X0("w:widowControl",$.widowControl));if($.bullet)this.push(new V1(1,$.bullet.level));if($.numbering)this.numberingReferences.push({reference:$.numbering.reference,instance:(U=$.numbering.instance)!=null?U:0}),this.push(new V1(`${$.numbering.reference}-${(Y=$.numbering.instance)!=null?Y:0}`,$.numbering.level));else if($.numbering===!1)this.push(new V1(0,0));if($.border)this.push(new o9($.border));if($.thematicBreak)this.push(new t9);if($.shading)this.push(j1($.shading));if($.wordWrap)this.push(VV());if($.overflowPunctuation)this.push(new X0("w:overflowPunct",$.overflowPunctuation));let Z=[...$.rightTabStop!==void 0?[{type:O9.RIGHT,position:$.rightTabStop}]:[],...$.tabStops?$.tabStops:[],...$.leftTabStop!==void 0?[{type:O9.LEFT,position:$.leftTabStop}]:[]];if(Z.length>0)this.push(TG(Z));if($.bidirectional!==void 0)this.push(new X0("w:bidi",$.bidirectional));if($.spacing)this.push(AG($.spacing));if($.indent)this.push(EQ($.indent));if($.contextualSpacing!==void 0)this.push(new X0("w:contextualSpacing",$.contextualSpacing));if($.alignment)this.push(n9($.alignment));if($.outlineLevel!==void 0)this.push(yG($.outlineLevel));if($.suppressLineNumbers!==void 0)this.push(new X0("w:suppressLineNumbers",$.suppressLineNumbers));if($.autoSpaceEastAsianText!==void 0)this.push(new X0("w:autoSpaceDN",$.autoSpaceEastAsianText));if($.run)this.push(new Q$($.run));if($.revision)this.push(new D$($.revision))}push($){this.root.push($)}prepForXml($){if(!($.viewWrapper instanceof R$))for(let U of this.numberingReferences)$.file.Numbering.createConcreteNumberingInstance(U.reference,U.instance);return super.prepForXml($)}}class D$ extends o{constructor($){super("w:pPrChange");this.root.push(new _0({id:$.id,author:$.author,date:$.date})),this.root.push(new Z2(R0(W0({},$),{includeIfEmpty:!0})))}}class h0 extends r2{constructor($){super("w:p");if(Y0(this,"properties"),typeof $==="string")return this.properties=new Z2({}),this.root.push(this.properties),this.root.push(new p2($)),this;if(this.properties=new Z2($),this.root.push(this.properties),$.text)this.root.push(new p2($.text));if($.children)for(let U of $.children){if(U instanceof z$){this.root.push(U.start);for(let Y of U.children)this.root.push(Y);this.root.push(U.end);continue}this.root.push(U)}}prepForXml($){for(let U of this.root)if(U instanceof K8){let Y=this.root.indexOf(U),Z=new _2(U.options.children,R1());$.viewWrapper.Relationships.addRelationship(Z.linkId,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",U.options.link,tJ.EXTERNAL),this.root[Y]=Z}return super.prepForXml($)}addRunToFront($){return this.root.splice(1,0,$),this}}var IV=class extends o{constructor(U){super("m:oMath");for(let Y of U.children)this.root.push(Y)}};class fG extends o{constructor($){super("m:t");this.root.push($)}}class hG extends o{constructor($){super("m:r");this.root.push(new fG($))}}class A$ extends o{constructor($){super("m:den");for(let U of $)this.root.push(U)}}class P$ extends o{constructor($){super("m:num");for(let U of $)this.root.push(U)}}class uG extends o{constructor($){super("m:f");this.root.push(new P$($.numerator)),this.root.push(new A$($.denominator))}}var dG=({accent:$})=>new B0({name:"m:chr",attributes:{accent:{key:"m:val",value:$}}}),y0=({children:$})=>new B0({name:"m:e",children:$}),cG=({value:$})=>new B0({name:"m:limLoc",attributes:{value:{key:"m:val",value:$||"undOvr"}}}),wV=()=>new B0({name:"m:subHide",attributes:{hide:{key:"m:val",value:1}}}),WV=()=>new B0({name:"m:supHide",attributes:{hide:{key:"m:val",value:1}}}),T$=({accent:$,hasSuperScript:U,hasSubScript:Y,limitLocationVal:Z})=>new B0({name:"m:naryPr",children:[...$?[dG({accent:$})]:[],cG({value:Z}),...!U?[WV()]:[],...!Y?[wV()]:[]]}),s2=({children:$})=>new B0({name:"m:sub",children:$}),n2=({children:$})=>new B0({name:"m:sup",children:$});class mG extends o{constructor($){super("m:nary");if(this.root.push(T$({accent:"∑",hasSuperScript:!!$.superScript,hasSubScript:!!$.subScript})),$.subScript)this.root.push(s2({children:$.subScript}));if($.superScript)this.root.push(n2({children:$.superScript}));this.root.push(y0({children:$.children}))}}class lG extends o{constructor($){super("m:nary");if(this.root.push(T$({accent:"",hasSuperScript:!!$.superScript,hasSubScript:!!$.subScript,limitLocationVal:"subSup"})),$.subScript)this.root.push(s2({children:$.subScript}));if($.superScript)this.root.push(n2({children:$.superScript}));this.root.push(y0({children:$.children}))}}class q8 extends o{constructor($){super("m:lim");for(let U of $)this.root.push(U)}}class aG extends o{constructor($){super("m:limUpp");this.root.push(y0({children:$.children})),this.root.push(new q8($.limit))}}class pG extends o{constructor($){super("m:limLow");this.root.push(y0({children:$.children})),this.root.push(new q8($.limit))}}var iG=()=>new B0({name:"m:sSupPr"});class rG extends o{constructor($){super("m:sSup");this.root.push(iG()),this.root.push(y0({children:$.children})),this.root.push(n2({children:$.superScript}))}}var sG=()=>new B0({name:"m:sSubPr"});class nG extends o{constructor($){super("m:sSub");this.root.push(sG()),this.root.push(y0({children:$.children})),this.root.push(s2({children:$.subScript}))}}var oG=()=>new B0({name:"m:sSubSupPr"});class tG extends o{constructor($){super("m:sSubSup");this.root.push(oG()),this.root.push(y0({children:$.children})),this.root.push(s2({children:$.subScript})),this.root.push(n2({children:$.superScript}))}}var eG=()=>new B0({name:"m:sPrePr"});class $K extends B0{constructor({children:$,subScript:U,superScript:Y}){super({name:"m:sPre",children:[eG(),y0({children:$}),s2({children:U}),n2({children:Y})]})}}var HV="";class C$ extends o{constructor($){super("m:deg");if($)for(let U of $)this.root.push(U)}}class UK extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{hide:"m:val"})}}class YK extends o{constructor(){super("m:degHide");this.root.push(new UK({hide:1}))}}class O$ extends o{constructor($){super("m:radPr");if(!$)this.root.push(new YK)}}class ZK extends o{constructor($){super("m:rad");this.root.push(new O$(!!$.degree)),this.root.push(new C$($.degree)),this.root.push(y0({children:$.children}))}}class k$ extends o{constructor($){super("m:fName");for(let U of $)this.root.push(U)}}class E$ extends o{constructor(){super("m:funcPr")}}class QK extends o{constructor($){super("m:func");this.root.push(new E$),this.root.push(new k$($.name)),this.root.push(y0({children:$.children}))}}var jV=({character:$})=>new B0({name:"m:begChr",attributes:{character:{key:"m:val",value:$}}}),zV=({character:$})=>new B0({name:"m:endChr",attributes:{character:{key:"m:val",value:$}}}),X8=({characters:$})=>new B0({name:"m:dPr",children:$?[jV({character:$.beginningCharacter}),zV({character:$.endingCharacter})]:[]});class JK extends o{constructor($){super("m:d");this.root.push(X8({})),this.root.push(y0({children:$.children}))}}class GK extends o{constructor($){super("m:d");this.root.push(X8({characters:{beginningCharacter:"[",endingCharacter:"]"}})),this.root.push(y0({children:$.children}))}}class KK extends o{constructor($){super("m:d");this.root.push(X8({characters:{beginningCharacter:"{",endingCharacter:"}"}})),this.root.push(y0({children:$.children}))}}class qK extends o{constructor($){super("m:d");this.root.push(X8({characters:{beginningCharacter:"〈",endingCharacter:"〉"}})),this.root.push(y0({children:$.children}))}}var FV=($)=>new B0({name:"w:gridCol",attributes:$!==void 0?{width:{key:"w:w",value:T0($)}}:void 0});class S$ extends o{constructor($,U){super("w:tblGrid");for(let Y of $)this.root.push(FV(Y));if(U)this.root.push(new VK(U))}}class XK extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{id:"w:id"})}}class VK extends o{constructor($){super("w:tblGridChange");this.root.push(new XK({id:$.id})),this.root.push(new S$($.columnWidths))}}class BK extends o{constructor($){super("w:ins");this.root.push(new _0({id:$.id,author:$.author,date:$.date})),this.addChildElement(new p2($))}}class LK extends o{constructor(){super("w:delInstrText");this.root.push(new x0({space:g0.PRESERVE})),this.root.push("PAGE")}}class MK extends o{constructor(){super("w:delInstrText");this.root.push(new x0({space:g0.PRESERVE})),this.root.push("NUMPAGES")}}class IK extends o{constructor(){super("w:delInstrText");this.root.push(new x0({space:g0.PRESERVE})),this.root.push("SECTIONPAGES")}}class k9 extends o{constructor($){super("w:delText");this.root.push(new x0({space:g0.PRESERVE})),this.root.push($)}}class wK extends o{constructor($){super("w:del");Y0(this,"deletedTextRunWrapper"),this.root.push(new _0({id:$.id,author:$.author,date:$.date})),this.deletedTextRunWrapper=new WK($),this.addChildElement(this.deletedTextRunWrapper)}}class WK extends o{constructor($){super("w:r");if(this.root.push(new J2($)),$.children)for(let U of $.children){if(typeof U==="string"){switch(U){case N2.CURRENT:this.root.push($2()),this.root.push(new LK),this.root.push(I2()),this.root.push(U2());break;case N2.TOTAL_PAGES:this.root.push($2()),this.root.push(new MK),this.root.push(I2()),this.root.push(U2());break;case N2.TOTAL_PAGES_IN_SECTION:this.root.push($2()),this.root.push(new IK),this.root.push(I2()),this.root.push(U2());break;default:this.root.push(new k9(U));break}continue}this.root.push(U)}else if($.text)this.root.push(new k9($.text));if($.break)for(let U=0;U<$.break;U++)this.root.splice(1,0,SQ())}}class v$ extends o{constructor($){super("w:ins");this.root.push(new _0({id:$.id,author:$.author,date:$.date}))}}class _$ extends o{constructor($){super("w:del");this.root.push(new _0({id:$.id,author:$.author,date:$.date}))}}class y$ extends o{constructor($){super("w:cellIns");this.root.push(new _0({id:$.id,author:$.author,date:$.date}))}}class b$ extends o{constructor($){super("w:cellDel");this.root.push(new _0({id:$.id,author:$.author,date:$.date}))}}var NV={CONTINUE:"cont",RESTART:"rest"};class g$ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{id:"w:id",author:"w:author",date:"w:date",verticalMerge:"w:vMerge",verticalMergeOriginal:"w:vMergeOrig"})}}class x$ extends o{constructor($){super("w:cellMerge");this.root.push(new g$($))}}var HK={TOP:"top",CENTER:"center",BOTTOM:"bottom"},jK=R0(W0({},HK),{BOTH:"both"}),RV=jK,f$=($)=>new B0({name:"w:vAlign",attributes:{verticalAlign:{key:"w:val",value:$}}}),zK=({marginUnitType:$=l1.DXA,top:U,left:Y,bottom:Z,right:J})=>[{name:"w:top",size:U},{name:"w:left",size:Y},{name:"w:bottom",size:Z},{name:"w:right",size:J}].filter((G)=>G.size!==void 0).map(({name:G,size:X})=>M1(G,{type:$,size:X})),DV=($)=>{let U=zK($);if(U.length===0)return;return new B0({name:"w:tblCellMar",children:U})},AV=($)=>{let U=zK($);if(U.length===0)return;return new B0({name:"w:tcMar",children:U})},l1={AUTO:"auto",DXA:"dxa",NIL:"nil",PERCENTAGE:"pct"},M1=($,{type:U=l1.AUTO,size:Y})=>{let Z=Y;if(U===l1.PERCENTAGE&&typeof Y==="number")Z=`${Y}%`;return new B0({name:$,attributes:{type:{key:"w:type",value:U},size:{key:"w:w",value:s9(Z)}}})};class h$ extends Q2{constructor($){super("w:tcBorders");if($.top)this.root.push(N0("w:top",$.top));if($.start)this.root.push(N0("w:start",$.start));if($.left)this.root.push(N0("w:left",$.left));if($.bottom)this.root.push(N0("w:bottom",$.bottom));if($.end)this.root.push(N0("w:end",$.end));if($.right)this.root.push(N0("w:right",$.right))}}class FK extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{val:"w:val"})}}class u$ extends o{constructor($){super("w:gridSpan");this.root.push(new FK({val:S0($)}))}}var d$={CONTINUE:"continue",RESTART:"restart"};class NK extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{val:"w:val"})}}class a1 extends o{constructor($){super("w:vMerge");this.root.push(new NK({val:$}))}}var PV={BOTTOM_TO_TOP_LEFT_TO_RIGHT:"btLr",LEFT_TO_RIGHT_TOP_TO_BOTTOM:"lrTb",TOP_TO_BOTTOM_RIGHT_TO_LEFT:"tbRl"};class RK extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{val:"w:val"})}}class c$ extends o{constructor($){super("w:textDirection");this.root.push(new RK({val:$}))}}class m$ extends Q2{constructor($){super("w:tcPr",$.includeIfEmpty);if($.width)this.root.push(M1("w:tcW",$.width));if($.columnSpan)this.root.push(new u$($.columnSpan));if($.verticalMerge)this.root.push(new a1($.verticalMerge));else if($.rowSpan&&$.rowSpan>1)this.root.push(new a1(d$.RESTART));if($.borders)this.root.push(new h$($.borders));if($.shading)this.root.push(j1($.shading));if($.margins){let U=AV($.margins);if(U)this.root.push(U)}if($.textDirection)this.root.push(new c$($.textDirection));if($.verticalAlign)this.root.push(f$($.verticalAlign));if($.insertion)this.root.push(new y$($.insertion));if($.deletion)this.root.push(new b$($.deletion));if($.revision)this.root.push(new DK($.revision));if($.cellMerge)this.root.push(new x$($.cellMerge))}}class DK extends o{constructor($){super("w:tcPrChange");this.root.push(new _0({id:$.id,author:$.author,date:$.date})),this.root.push(new m$(R0(W0({},$),{includeIfEmpty:!0})))}}class V8 extends o{constructor($){super("w:tc");this.options=$,this.root.push(new m$($));for(let U of $.children)this.root.push(U)}prepForXml($){if(!(this.root[this.root.length-1]instanceof h0))this.root.push(new h0({}));return super.prepForXml($)}}var x2={style:Q8.NONE,size:0,color:"auto"},f2={style:Q8.SINGLE,size:4,color:"auto"};class B8 extends o{constructor($){var U,Y,Z,J,G,X;super("w:tblBorders");this.root.push(N0("w:top",(U=$.top)!=null?U:f2)),this.root.push(N0("w:left",(Y=$.left)!=null?Y:f2)),this.root.push(N0("w:bottom",(Z=$.bottom)!=null?Z:f2)),this.root.push(N0("w:right",(J=$.right)!=null?J:f2)),this.root.push(N0("w:insideH",(G=$.insideHorizontal)!=null?G:f2)),this.root.push(N0("w:insideV",(X=$.insideVertical)!=null?X:f2))}}Y0(B8,"NONE",{top:x2,bottom:x2,left:x2,right:x2,insideHorizontal:x2,insideVertical:x2});var TV={MARGIN:"margin",PAGE:"page",TEXT:"text"},CV={CENTER:"center",INSIDE:"inside",LEFT:"left",OUTSIDE:"outside",RIGHT:"right"},OV={CENTER:"center",INSIDE:"inside",BOTTOM:"bottom",OUTSIDE:"outside",INLINE:"inline",TOP:"top"},kV={NEVER:"never",OVERLAP:"overlap"},EV=($)=>new B0({name:"w:tblOverlap",attributes:{val:{key:"w:val",value:$}}}),AK=({horizontalAnchor:$,verticalAnchor:U,absoluteHorizontalPosition:Y,relativeHorizontalPosition:Z,absoluteVerticalPosition:J,relativeVerticalPosition:G,bottomFromText:X,topFromText:Q,leftFromText:B,rightFromText:F,overlap:z})=>new B0({name:"w:tblpPr",attributes:{leftFromText:{key:"w:leftFromText",value:B===void 0?void 0:T0(B)},rightFromText:{key:"w:rightFromText",value:F===void 0?void 0:T0(F)},topFromText:{key:"w:topFromText",value:Q===void 0?void 0:T0(Q)},bottomFromText:{key:"w:bottomFromText",value:X===void 0?void 0:T0(X)},absoluteHorizontalPosition:{key:"w:tblpX",value:Y===void 0?void 0:e0(Y)},absoluteVerticalPosition:{key:"w:tblpY",value:J===void 0?void 0:e0(J)},horizontalAnchor:{key:"w:horzAnchor",value:$},relativeHorizontalPosition:{key:"w:tblpXSpec",value:Z},relativeVerticalPosition:{key:"w:tblpYSpec",value:G},verticalAnchor:{key:"w:vertAnchor",value:U}},children:z?[EV(z)]:void 0}),SV={AUTOFIT:"autofit",FIXED:"fixed"},PK=($)=>new B0({name:"w:tblLayout",attributes:{type:{key:"w:type",value:$}}}),vV={DXA:"dxa"},TK=({type:$=vV.DXA,value:U})=>new B0({name:"w:tblCellSpacing",attributes:{type:{key:"w:type",value:$},value:{key:"w:w",value:s9(U)}}}),CK=({firstRow:$,lastRow:U,firstColumn:Y,lastColumn:Z,noHBand:J,noVBand:G})=>new B0({name:"w:tblLook",attributes:{firstRow:{key:"w:firstRow",value:$},lastRow:{key:"w:lastRow",value:U},firstColumn:{key:"w:firstColumn",value:Y},lastColumn:{key:"w:lastColumn",value:Z},noHBand:{key:"w:noHBand",value:J},noVBand:{key:"w:noVBand",value:G}}});class L8 extends Q2{constructor($){super("w:tblPr",$.includeIfEmpty);if($.style)this.root.push(new Y2("w:tblStyle",$.style));if($.float)this.root.push(AK($.float));if($.visuallyRightToLeft!==void 0)this.root.push(new X0("w:bidiVisual",$.visuallyRightToLeft));if($.width)this.root.push(M1("w:tblW",$.width));if($.alignment)this.root.push(n9($.alignment));if($.indent)this.root.push(M1("w:tblInd",$.indent));if($.borders)this.root.push(new B8($.borders));if($.shading)this.root.push(j1($.shading));if($.layout)this.root.push(PK($.layout));if($.cellMargin){let U=DV($.cellMargin);if(U)this.root.push(U)}if($.tableLook)this.root.push(CK($.tableLook));if($.cellSpacing)this.root.push(TK($.cellSpacing));if($.revision)this.root.push(new OK($.revision))}}class OK extends o{constructor($){super("w:tblPrChange");this.root.push(new _0({id:$.id,author:$.author,date:$.date})),this.root.push(new L8(R0(W0({},$),{includeIfEmpty:!0})))}}class kK extends r2{constructor({rows:$,width:U,columnWidths:Y=Array(Math.max(...$.map((H)=>H.CellCount))).fill(100),columnWidthsRevision:Z,margins:J,indent:G,float:X,layout:Q,style:B,borders:F,alignment:z,visuallyRightToLeft:W,tableLook:k,cellSpacing:D,revision:C}){super("w:tbl");this.root.push(new L8({borders:F!=null?F:{},width:U!=null?U:{size:100},indent:G,float:X,layout:Q,style:B,alignment:z,cellMargin:J,visuallyRightToLeft:W,tableLook:k,cellSpacing:D,revision:C})),this.root.push(new S$(Y,Z));for(let H of $)this.root.push(H);$.forEach((H,O)=>{if(O===$.length-1)return;let V=0;H.cells.forEach((j)=>{if(j.options.rowSpan&&j.options.rowSpan>1){let M=new V8({rowSpan:j.options.rowSpan-1,columnSpan:j.options.columnSpan,borders:j.options.borders,children:[],verticalMerge:d$.CONTINUE});$[O+1].addCellToColumnIndex(M,V)}V+=j.options.columnSpan||1})})}}var _V={AUTO:"auto",ATLEAST:"atLeast",EXACT:"exact"},EK=($,U)=>new B0({name:"w:trHeight",attributes:{value:{key:"w:val",value:T0($)},rule:{key:"w:hRule",value:U}}});class M8 extends Q2{constructor($){super("w:trPr",$.includeIfEmpty);if($.cantSplit!==void 0)this.root.push(new X0("w:cantSplit",$.cantSplit));if($.tableHeader!==void 0)this.root.push(new X0("w:tblHeader",$.tableHeader));if($.height)this.root.push(EK($.height.value,$.height.rule));if($.cellSpacing)this.root.push(TK($.cellSpacing));if($.insertion)this.root.push(new v$($.insertion));if($.deletion)this.root.push(new _$($.deletion));if($.revision)this.root.push(new l$($.revision))}}class l$ extends o{constructor($){super("w:trPrChange");this.root.push(new _0({id:$.id,author:$.author,date:$.date})),this.root.push(new M8(R0(W0({},$),{includeIfEmpty:!0})))}}class SK extends o{constructor($){super("w:tr");this.options=$,this.root.push(new M8($));for(let U of $.children)this.root.push(U)}get CellCount(){return this.options.children.length}get cells(){return this.root.filter(($)=>$ instanceof V8)}addCellToIndex($,U){this.root.splice(U+1,0,$)}addCellToColumnIndex($,U){let Y=this.columnIndexToRootIndex(U,!0);this.addCellToIndex($,Y-1)}rootIndexToColumnIndex($){if($<1||$>=this.root.length)throw Error(`cell 'rootIndex' should between 1 to ${this.root.length-1}`);let U=0;for(let Y=1;Y<$;Y++){let Z=this.root[Y];U+=Z.options.columnSpan||1}return U}columnIndexToRootIndex($,U=!1){if($<0)throw Error("cell 'columnIndex' should not less than zero");let Y=0,Z=1;while(Y<=$){if(Z>=this.root.length)if(U)return this.root.length;else throw Error(`cell 'columnIndex' should not great than ${Y-1}`);let J=this.root[Z];Z+=1,Y+=J&&J.options.columnSpan||1}return Z-1}}class vK extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{xmlns:"xmlns",vt:"xmlns:vt"})}}class _K extends o{constructor(){super("Properties");this.root.push(new vK({xmlns:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"}))}}class yK extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{xmlns:"xmlns"})}}var B2=($,U)=>new B0({name:"Default",attributes:{contentType:{key:"ContentType",value:$},extension:{key:"Extension",value:U}}}),f0=($,U)=>new B0({name:"Override",attributes:{contentType:{key:"ContentType",value:$},partName:{key:"PartName",value:U}}});class bK extends o{constructor(){super("Types");this.root.push(new yK({xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"})),this.root.push(B2("image/png","png")),this.root.push(B2("image/jpeg","jpeg")),this.root.push(B2("image/jpeg","jpg")),this.root.push(B2("image/bmp","bmp")),this.root.push(B2("image/gif","gif")),this.root.push(B2("image/svg+xml","svg")),this.root.push(B2("application/vnd.openxmlformats-package.relationships+xml","rels")),this.root.push(B2("application/xml","xml")),this.root.push(B2("application/vnd.openxmlformats-officedocument.obfuscatedFont","odttf")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml","/word/document.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml","/word/styles.xml")),this.root.push(f0("application/vnd.openxmlformats-package.core-properties+xml","/docProps/core.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.custom-properties+xml","/docProps/custom.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.extended-properties+xml","/docProps/app.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml","/word/numbering.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml","/word/footnotes.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml","/word/endnotes.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml","/word/settings.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml","/word/comments.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml","/word/fontTable.xml"))}addFooter($){this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml",`/word/footer${$}.xml`))}addHeader($){this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml",`/word/header${$}.xml`))}}var p1={wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",cp:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",xsi:"http://www.w3.org/2001/XMLSchema-instance",cx:"http://schemas.microsoft.com/office/drawing/2014/chartex",cx1:"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex",cx2:"http://schemas.microsoft.com/office/drawing/2015/10/21/chartex",cx3:"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex",cx4:"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex",cx5:"http://schemas.microsoft.com/office/drawing/2016/5/11/chartex",cx6:"http://schemas.microsoft.com/office/drawing/2016/5/12/chartex",cx7:"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex",cx8:"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex",aink:"http://schemas.microsoft.com/office/drawing/2016/ink",am3d:"http://schemas.microsoft.com/office/drawing/2017/model3d",w16cex:"http://schemas.microsoft.com/office/word/2018/wordml/cex",w16cid:"http://schemas.microsoft.com/office/word/2016/wordml/cid",w16:"http://schemas.microsoft.com/office/word/2018/wordml",w16sdtdh:"http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash",w16se:"http://schemas.microsoft.com/office/word/2015/wordml/symex"};class o2 extends I0{constructor($,U){super(W0({Ignorable:U},Object.fromEntries($.map((Y)=>[Y,p1[Y]]))));Y0(this,"xmlKeys",W0({Ignorable:"mc:Ignorable"},Object.fromEntries(Object.keys(p1).map((Y)=>[Y,`xmlns:${Y}`]))))}}class gK extends o{constructor($){super("cp:coreProperties");if(this.root.push(new o2(["cp","dc","dcterms","dcmitype","xsi"])),$.title)this.root.push(new L2("dc:title",$.title));if($.subject)this.root.push(new L2("dc:subject",$.subject));if($.creator)this.root.push(new L2("dc:creator",$.creator));if($.keywords)this.root.push(new L2("cp:keywords",$.keywords));if($.description)this.root.push(new L2("dc:description",$.description));if($.lastModifiedBy)this.root.push(new L2("cp:lastModifiedBy",$.lastModifiedBy));if($.revision)this.root.push(new L2("cp:revision",String($.revision)));this.root.push(new E9("dcterms:created")),this.root.push(new E9("dcterms:modified"))}}class xK extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{type:"xsi:type"})}}class E9 extends o{constructor($){super($);this.root.push(new xK({type:"dcterms:W3CDTF"})),this.root.push(OQ(new Date))}}class fK extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{xmlns:"xmlns",vt:"xmlns:vt"})}}class hK extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{formatId:"fmtid",pid:"pid",name:"name"})}}class uK extends o{constructor($,U){super("property");this.root.push(new hK({formatId:"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",pid:$.toString(),name:U.name})),this.root.push(new dK(U.value))}}class dK extends o{constructor($){super("vt:lpwstr");this.root.push($)}}class cK extends o{constructor($){super("Properties");Y0(this,"nextId"),Y0(this,"properties",[]),this.root.push(new fK({xmlns:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"})),this.nextId=2;for(let U of $)this.addCustomProperty(U)}prepForXml($){return this.properties.forEach((U)=>this.root.push(U)),super.prepForXml($)}addCustomProperty($){this.properties.push(new uK(this.nextId++,$))}}var mK=({space:$,count:U,separate:Y,equalWidth:Z,children:J})=>new B0({name:"w:cols",attributes:{space:{key:"w:space",value:$===void 0?void 0:T0($)},count:{key:"w:num",value:U===void 0?void 0:S0(U)},separate:{key:"w:sep",value:Y},equalWidth:{key:"w:equalWidth",value:Z}},children:!Z&&J?J:void 0}),yV={DEFAULT:"default",LINES:"lines",LINES_AND_CHARS:"linesAndChars",SNAP_TO_CHARS:"snapToChars"},lK=({type:$,linePitch:U,charSpace:Y})=>new B0({name:"w:docGrid",attributes:{type:{key:"w:type",value:$},linePitch:{key:"w:linePitch",value:S0(U)},charSpace:{key:"w:charSpace",value:Y?S0(Y):void 0}}}),E2={DEFAULT:"default",FIRST:"first",EVEN:"even"},S9={HEADER:"w:headerReference",FOOTER:"w:footerReference"},f1=($,U)=>new B0({name:$,attributes:{type:{key:"w:type",value:U.type||E2.DEFAULT},id:{key:"r:id",value:`rId${U.id}`}}}),bV={NEW_PAGE:"newPage",NEW_SECTION:"newSection",CONTINUOUS:"continuous"},aK=({countBy:$,start:U,restart:Y,distance:Z})=>new B0({name:"w:lnNumType",attributes:{countBy:{key:"w:countBy",value:$===void 0?void 0:S0($)},start:{key:"w:start",value:U===void 0?void 0:S0(U)},restart:{key:"w:restart",value:Y},distance:{key:"w:distance",value:Z===void 0?void 0:T0(Z)}}}),gV={ALL_PAGES:"allPages",FIRST_PAGE:"firstPage",NOT_FIRST_PAGE:"notFirstPage"},xV={PAGE:"page",TEXT:"text"},fV={BACK:"back",FRONT:"front"};class v9 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{display:"w:display",offsetFrom:"w:offsetFrom",zOrder:"w:zOrder"})}}class a$ extends Q2{constructor($){super("w:pgBorders");if(!$)return this;if($.pageBorders)this.root.push(new v9({display:$.pageBorders.display,offsetFrom:$.pageBorders.offsetFrom,zOrder:$.pageBorders.zOrder}));else this.root.push(new v9({}));if($.pageBorderTop)this.root.push(N0("w:top",$.pageBorderTop));if($.pageBorderLeft)this.root.push(N0("w:left",$.pageBorderLeft));if($.pageBorderBottom)this.root.push(N0("w:bottom",$.pageBorderBottom));if($.pageBorderRight)this.root.push(N0("w:right",$.pageBorderRight))}}var pK=($,U,Y,Z,J,G,X)=>new B0({name:"w:pgMar",attributes:{top:{key:"w:top",value:e0($)},right:{key:"w:right",value:T0(U)},bottom:{key:"w:bottom",value:e0(Y)},left:{key:"w:left",value:T0(Z)},header:{key:"w:header",value:T0(J)},footer:{key:"w:footer",value:T0(G)},gutter:{key:"w:gutter",value:T0(X)}}}),hV={HYPHEN:"hyphen",PERIOD:"period",COLON:"colon",EM_DASH:"emDash",EN_DASH:"endash"},iK=({start:$,formatType:U,separator:Y})=>new B0({name:"w:pgNumType",attributes:{start:{key:"w:start",value:$===void 0?void 0:S0($)},formatType:{key:"w:fmt",value:U},separator:{key:"w:chapSep",value:Y}}}),i1={PORTRAIT:"portrait",LANDSCAPE:"landscape"},rK=({width:$,height:U,orientation:Y,code:Z})=>{let J=T0($),G=T0(U);return new B0({name:"w:pgSz",attributes:{width:{key:"w:w",value:Y===i1.LANDSCAPE?G:J},height:{key:"w:h",value:Y===i1.LANDSCAPE?J:G},orientation:{key:"w:orient",value:Y},code:{key:"w:code",value:Z}}})},uV={LEFT_TO_RIGHT_TOP_TO_BOTTOM:"lrTb",TOP_TO_BOTTOM_RIGHT_TO_LEFT:"tbRl"};class sK extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{val:"w:val"})}}class p$ extends o{constructor($){super("w:textDirection");this.root.push(new sK({val:$}))}}var dV={NEXT_PAGE:"nextPage",NEXT_COLUMN:"nextColumn",CONTINUOUS:"continuous",EVEN_PAGE:"evenPage",ODD_PAGE:"oddPage"},nK=($)=>new B0({name:"w:type",attributes:{val:{key:"w:val",value:$}}}),F2={TOP:1440,RIGHT:1440,BOTTOM:1440,LEFT:1440,HEADER:708,FOOTER:708,GUTTER:0},h1={WIDTH:11906,HEIGHT:16838,ORIENTATION:i1.PORTRAIT};class I8 extends o{constructor({page:{size:{width:$=h1.WIDTH,height:U=h1.HEIGHT,orientation:Y=h1.ORIENTATION}={},margin:{top:Z=F2.TOP,right:J=F2.RIGHT,bottom:G=F2.BOTTOM,left:X=F2.LEFT,header:Q=F2.HEADER,footer:B=F2.FOOTER,gutter:F=F2.GUTTER}={},pageNumbers:z={},borders:W,textDirection:k}={},grid:{linePitch:D=360,charSpace:C,type:H}={},headerWrapperGroup:O={},footerWrapperGroup:V={},lineNumbers:j,titlePage:M,verticalAlign:L,column:A,type:y,revision:g}={}){super("w:sectPr");if(this.addHeaderFooterGroup(S9.HEADER,O),this.addHeaderFooterGroup(S9.FOOTER,V),y)this.root.push(nK(y));if(this.root.push(rK({width:$,height:U,orientation:Y})),this.root.push(pK(Z,J,G,X,Q,B,F)),W)this.root.push(new a$(W));if(j)this.root.push(aK(j));if(this.root.push(iK(z)),A)this.root.push(mK(A));if(L)this.root.push(f$(L));if(M!==void 0)this.root.push(new X0("w:titlePg",M));if(k)this.root.push(new p$(k));if(g)this.root.push(new i$(g));this.root.push(lK({linePitch:D,charSpace:C,type:H}))}addHeaderFooterGroup($,U){if(U.default)this.root.push(f1($,{type:E2.DEFAULT,id:U.default.View.ReferenceId}));if(U.first)this.root.push(f1($,{type:E2.FIRST,id:U.first.View.ReferenceId}));if(U.even)this.root.push(f1($,{type:E2.EVEN,id:U.even.View.ReferenceId}))}}class i$ extends o{constructor($){super("w:sectPrChange");this.root.push(new _0({id:$.id,author:$.author,date:$.date})),this.root.push(new I8($))}}class oK extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{width:"w:w",space:"w:space"})}}class tK extends o{constructor($){super("w:col");this.root.push(new oK({width:T0($.width),space:$.space===void 0?void 0:T0($.space)}))}}class r$ extends o{constructor(){super("w:body");Y0(this,"sections",[])}addSection($){let U=this.sections.pop();this.root.push(this.createSectionParagraph(U)),this.sections.push(new I8($))}prepForXml($){if(this.sections.length===1)this.root.splice(0,1),this.root.push(this.sections.pop());return super.prepForXml($)}push($){this.root.push($)}createSectionParagraph($){let U=new h0({}),Y=new Z2({});return Y.push($),U.addChildElement(Y),U}}class s$ extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{color:"w:color",themeColor:"w:themeColor",themeShade:"w:themeShade",themeTint:"w:themeTint"})}}class n$ extends o{constructor($){super("w:background");this.root.push(new s$({color:$.color===void 0?void 0:S2($.color),themeColor:$.themeColor,themeShade:$.themeShade===void 0?void 0:D9($.themeShade),themeTint:$.themeTint===void 0?void 0:D9($.themeTint)}))}}class eK extends o{constructor($){super("w:document");if(Y0(this,"body"),this.root.push(new o2(["wpc","mc","o","r","m","v","wp14","wp","w10","w","w14","w15","wpg","wpi","wne","wps","cx","cx1","cx2","cx3","cx4","cx5","cx6","cx7","cx8","aink","am3d","w16cex","w16cid","w16","w16sdtdh","w16se"],"w14 w15 wp14")),this.body=new r$,$.background)this.root.push(new n$($.background));this.root.push(this.body)}add($){return this.body.push($),this}get Body(){return this.body}}class $5{constructor($){Y0(this,"document"),Y0(this,"relationships"),this.document=new eK($),this.relationships=new W2}get View(){return this.document}get Relationships(){return this.relationships}}class U5 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",Ignorable:"mc:Ignorable"})}}class Y5 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{type:"w:type",id:"w:id"})}}class Z5 extends C0{constructor(){super({style:"EndnoteReference"});this.root.push(new I$)}}var fZ={SEPARATOR:"separator",CONTINUATION_SEPARATOR:"continuationSeparator"};class u1 extends o{constructor($){super("w:endnote");this.root.push(new Y5({type:$.type,id:$.id}));for(let U=0;U<$.children.length;U++){let Y=$.children[U];if(U===0)Y.addRunToFront(new Z5);this.root.push(Y)}}}class Q5 extends o{constructor(){super("w:continuationSeparator")}}class o$ extends C0{constructor(){super({});this.root.push(new Q5)}}class J5 extends o{constructor(){super("w:separator")}}class t$ extends C0{constructor(){super({});this.root.push(new J5)}}class e$ extends o{constructor(){super("w:endnotes");this.root.push(new U5({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",Ignorable:"w14 w15 wp14"}));let $=new u1({id:-1,type:fZ.SEPARATOR,children:[new h0({spacing:{after:0,line:240,lineRule:v2.AUTO},children:[new t$]})]});this.root.push($);let U=new u1({id:0,type:fZ.CONTINUATION_SEPARATOR,children:[new h0({spacing:{after:0,line:240,lineRule:v2.AUTO},children:[new o$]})]});this.root.push(U)}createEndnote($,U){let Y=new u1({id:$,children:U});this.root.push(Y)}}class G5{constructor(){Y0(this,"endnotes"),Y0(this,"relationships"),this.endnotes=new e$,this.relationships=new W2}get View(){return this.endnotes}get Relationships(){return this.relationships}}class K5 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",cp:"xmlns:cp",dc:"xmlns:dc",dcterms:"xmlns:dcterms",dcmitype:"xmlns:dcmitype",xsi:"xmlns:xsi",type:"xsi:type"})}}var cV=class extends Y8{constructor(U,Y){super("w:ftr",Y);if(Y0(this,"refId"),this.refId=U,!Y)this.root.push(new K5({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape"}))}get ReferenceId(){return this.refId}add(U){this.root.push(U)}};class $U{constructor($,U,Y){Y0(this,"footer"),Y0(this,"relationships"),this.media=$,this.footer=new cV(U,Y),this.relationships=new W2}add($){this.footer.add($)}addChildElement($){this.footer.addChildElement($)}get View(){return this.footer}get Relationships(){return this.relationships}get Media(){return this.media}}class q5 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{type:"w:type",id:"w:id"})}}class X5 extends o{constructor(){super("w:footnoteRef")}}class V5 extends C0{constructor(){super({style:"FootnoteReference"});this.root.push(new X5)}}var hZ={SEPERATOR:"separator",CONTINUATION_SEPERATOR:"continuationSeparator"};class d1 extends o{constructor($){super("w:footnote");this.root.push(new q5({type:$.type,id:$.id}));for(let U=0;U<$.children.length;U++){let Y=$.children[U];if(U===0)Y.addRunToFront(new V5);this.root.push(Y)}}}class B5 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",Ignorable:"mc:Ignorable"})}}class UU extends o{constructor(){super("w:footnotes");this.root.push(new B5({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",Ignorable:"w14 w15 wp14"}));let $=new d1({id:-1,type:hZ.SEPERATOR,children:[new h0({spacing:{after:0,line:240,lineRule:v2.AUTO},children:[new t$]})]});this.root.push($);let U=new d1({id:0,type:hZ.CONTINUATION_SEPERATOR,children:[new h0({spacing:{after:0,line:240,lineRule:v2.AUTO},children:[new o$]})]});this.root.push(U)}createFootNote($,U){let Y=new d1({id:$,children:U});this.root.push(Y)}}class L5{constructor(){Y0(this,"footnotess"),Y0(this,"relationships"),this.footnotess=new UU,this.relationships=new W2}get View(){return this.footnotess}get Relationships(){return this.relationships}}class M5 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",cp:"xmlns:cp",dc:"xmlns:dc",dcterms:"xmlns:dcterms",dcmitype:"xmlns:dcmitype",xsi:"xmlns:xsi",type:"xsi:type",cx:"xmlns:cx",cx1:"xmlns:cx1",cx2:"xmlns:cx2",cx3:"xmlns:cx3",cx4:"xmlns:cx4",cx5:"xmlns:cx5",cx6:"xmlns:cx6",cx7:"xmlns:cx7",cx8:"xmlns:cx8",w16cid:"xmlns:w16cid",w16se:"xmlns:w16se"})}}var mV=class extends Y8{constructor(U,Y){super("w:hdr",Y);if(Y0(this,"refId"),this.refId=U,!Y)this.root.push(new M5({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",cx:"http://schemas.microsoft.com/office/drawing/2014/chartex",cx1:"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex",cx2:"http://schemas.microsoft.com/office/drawing/2015/10/21/chartex",cx3:"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex",cx4:"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex",cx5:"http://schemas.microsoft.com/office/drawing/2016/5/11/chartex",cx6:"http://schemas.microsoft.com/office/drawing/2016/5/12/chartex",cx7:"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex",cx8:"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex",w16cid:"http://schemas.microsoft.com/office/word/2016/wordml/cid",w16se:"http://schemas.microsoft.com/office/word/2015/wordml/symex"}))}get ReferenceId(){return this.refId}add(U){this.root.push(U)}};class YU{constructor($,U,Y){Y0(this,"header"),Y0(this,"relationships"),this.media=$,this.header=new mV(U,Y),this.relationships=new W2}add($){return this.header.add($),this}addChildElement($){this.header.addChildElement($)}get View(){return this.header}get Relationships(){return this.relationships}get Media(){return this.media}}class w8{constructor(){Y0(this,"map"),this.map=new Map}addImage($,U){this.map.set($,U)}get Array(){return Array.from(this.map.values())}}var lV="",n0={DECIMAL:"decimal",UPPER_ROMAN:"upperRoman",LOWER_ROMAN:"lowerRoman",UPPER_LETTER:"upperLetter",LOWER_LETTER:"lowerLetter",ORDINAL:"ordinal",CARDINAL_TEXT:"cardinalText",ORDINAL_TEXT:"ordinalText",HEX:"hex",CHICAGO:"chicago",IDEOGRAPH__DIGITAL:"ideographDigital",JAPANESE_COUNTING:"japaneseCounting",AIUEO:"aiueo",IROHA:"iroha",DECIMAL_FULL_WIDTH:"decimalFullWidth",DECIMAL_HALF_WIDTH:"decimalHalfWidth",JAPANESE_LEGAL:"japaneseLegal",JAPANESE_DIGITAL_TEN_THOUSAND:"japaneseDigitalTenThousand",DECIMAL_ENCLOSED_CIRCLE:"decimalEnclosedCircle",DECIMAL_FULL_WIDTH2:"decimalFullWidth2",AIUEO_FULL_WIDTH:"aiueoFullWidth",IROHA_FULL_WIDTH:"irohaFullWidth",DECIMAL_ZERO:"decimalZero",BULLET:"bullet",GANADA:"ganada",CHOSUNG:"chosung",DECIMAL_ENCLOSED_FULLSTOP:"decimalEnclosedFullstop",DECIMAL_ENCLOSED_PARENTHESES:"decimalEnclosedParen",DECIMAL_ENCLOSED_CIRCLE_CHINESE:"decimalEnclosedCircleChinese",IDEOGRAPH_ENCLOSED_CIRCLE:"ideographEnclosedCircle",IDEOGRAPH_TRADITIONAL:"ideographTraditional",IDEOGRAPH_ZODIAC:"ideographZodiac",IDEOGRAPH_ZODIAC_TRADITIONAL:"ideographZodiacTraditional",TAIWANESE_COUNTING:"taiwaneseCounting",IDEOGRAPH_LEGAL_TRADITIONAL:"ideographLegalTraditional",TAIWANESE_COUNTING_THOUSAND:"taiwaneseCountingThousand",TAIWANESE_DIGITAL:"taiwaneseDigital",CHINESE_COUNTING:"chineseCounting",CHINESE_LEGAL_SIMPLIFIED:"chineseLegalSimplified",CHINESE_COUNTING_THOUSAND:"chineseCountingThousand",KOREAN_DIGITAL:"koreanDigital",KOREAN_COUNTING:"koreanCounting",KOREAN_LEGAL:"koreanLegal",KOREAN_DIGITAL2:"koreanDigital2",VIETNAMESE_COUNTING:"vietnameseCounting",RUSSIAN_LOWER:"russianLower",RUSSIAN_UPPER:"russianUpper",NONE:"none",NUMBER_IN_DASH:"numberInDash",HEBREW1:"hebrew1",HEBREW2:"hebrew2",ARABIC_ALPHA:"arabicAlpha",ARABIC_ABJAD:"arabicAbjad",HINDI_VOWELS:"hindiVowels",HINDI_CONSONANTS:"hindiConsonants",HINDI_NUMBERS:"hindiNumbers",HINDI_COUNTING:"hindiCounting",THAI_LETTERS:"thaiLetters",THAI_NUMBERS:"thaiNumbers",THAI_COUNTING:"thaiCounting",BAHT_TEXT:"bahtText",DOLLAR_TEXT:"dollarText",CUSTOM:"custom"};class I5 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{ilvl:"w:ilvl",tentative:"w15:tentative"})}}class w5 extends o{constructor($){super("w:numFmt");this.root.push(new O0({val:$}))}}class W5 extends o{constructor($){super("w:lvlText");this.root.push(new O0({val:$}))}}class H5 extends o{constructor($){super("w:lvlJc");this.root.push(new O0({val:$}))}}var aV={NOTHING:"nothing",SPACE:"space",TAB:"tab"};class j5 extends o{constructor($){super("w:suff");this.root.push(new O0({val:$}))}}class z5 extends o{constructor(){super("w:isLgl")}}class W8 extends o{constructor({level:$,format:U,text:Y,alignment:Z=m0.START,start:J=1,style:G,suffix:X,isLegalNumberingStyle:Q}){super("w:lvl");if(Y0(this,"paragraphProperties"),Y0(this,"runProperties"),this.root.push(new k2("w:start",S0(J))),U)this.root.push(new w5(U));if(X)this.root.push(new j5(X));if(Q)this.root.push(new z5);if(Y)this.root.push(new W5(Y));if(this.root.push(new H5(Z)),this.paragraphProperties=new Z2(G&&G.paragraph),this.runProperties=new J2(G&&G.run),this.root.push(this.paragraphProperties),this.root.push(this.runProperties),$>9)throw Error("Level cannot be greater than 9. Read more here: https://answers.microsoft.com/en-us/msoffice/forum/all/does-word-support-more-than-9-list-levels/d130fdcd-1781-446d-8c84-c6c79124e4d7");this.root.push(new I5({ilvl:S0($),tentative:1}))}}class ZU extends W8{}class F5 extends W8{}class N5 extends o{constructor($){super("w:multiLevelType");this.root.push(new O0({val:$}))}}class R5 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{abstractNumId:"w:abstractNumId",restartNumberingAfterBreak:"w15:restartNumberingAfterBreak"})}}class r1 extends o{constructor($,U){super("w:abstractNum");Y0(this,"id"),this.root.push(new R5({abstractNumId:S0($),restartNumberingAfterBreak:0})),this.root.push(new N5("hybridMultilevel")),this.id=$;for(let Y of U)this.root.push(new ZU(Y))}}class D5 extends o{constructor($){super("w:abstractNumId");this.root.push(new O0({val:$}))}}class A5 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{numId:"w:numId"})}}class s1 extends o{constructor($){super("w:num");if(Y0(this,"numId"),Y0(this,"reference"),Y0(this,"instance"),this.numId=$.numId,this.reference=$.reference,this.instance=$.instance,this.root.push(new A5({numId:S0($.numId)})),this.root.push(new D5(S0($.abstractNumId))),$.overrideLevels&&$.overrideLevels.length)for(let U of $.overrideLevels)this.root.push(new QU(U.num,U.start))}}class P5 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{ilvl:"w:ilvl"})}}class QU extends o{constructor($,U){super("w:lvlOverride");if(this.root.push(new P5({ilvl:$})),U!==void 0)this.root.push(new C5(U))}}class T5 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{val:"w:val"})}}class C5 extends o{constructor($){super("w:startOverride");this.root.push(new T5({val:$}))}}class JU extends o{constructor($){super("w:numbering");Y0(this,"abstractNumberingMap",new Map),Y0(this,"concreteNumberingMap",new Map),Y0(this,"referenceConfigMap",new Map),Y0(this,"abstractNumUniqueNumericId",rQ()),Y0(this,"concreteNumUniqueNumericId",sQ()),this.root.push(new o2(["wpc","mc","o","r","m","v","wp14","wp","w10","w","w14","w15","wpg","wpi","wne","wps"],"w14 w15 wp14"));let U=new r1(this.abstractNumUniqueNumericId(),[{level:0,format:n0.BULLET,text:"●",alignment:m0.LEFT,style:{paragraph:{indent:{left:d0(0.5),hanging:d0(0.25)}}}},{level:1,format:n0.BULLET,text:"○",alignment:m0.LEFT,style:{paragraph:{indent:{left:d0(1),hanging:d0(0.25)}}}},{level:2,format:n0.BULLET,text:"■",alignment:m0.LEFT,style:{paragraph:{indent:{left:2160,hanging:d0(0.25)}}}},{level:3,format:n0.BULLET,text:"●",alignment:m0.LEFT,style:{paragraph:{indent:{left:2880,hanging:d0(0.25)}}}},{level:4,format:n0.BULLET,text:"○",alignment:m0.LEFT,style:{paragraph:{indent:{left:3600,hanging:d0(0.25)}}}},{level:5,format:n0.BULLET,text:"■",alignment:m0.LEFT,style:{paragraph:{indent:{left:4320,hanging:d0(0.25)}}}},{level:6,format:n0.BULLET,text:"●",alignment:m0.LEFT,style:{paragraph:{indent:{left:5040,hanging:d0(0.25)}}}},{level:7,format:n0.BULLET,text:"●",alignment:m0.LEFT,style:{paragraph:{indent:{left:5760,hanging:d0(0.25)}}}},{level:8,format:n0.BULLET,text:"●",alignment:m0.LEFT,style:{paragraph:{indent:{left:6480,hanging:d0(0.25)}}}}]);this.concreteNumberingMap.set("default-bullet-numbering",new s1({numId:1,abstractNumId:U.id,reference:"default-bullet-numbering",instance:0,overrideLevels:[{num:0,start:1}]})),this.abstractNumberingMap.set("default-bullet-numbering",U);for(let Y of $.config)this.abstractNumberingMap.set(Y.reference,new r1(this.abstractNumUniqueNumericId(),Y.levels)),this.referenceConfigMap.set(Y.reference,Y.levels)}prepForXml($){for(let U of this.abstractNumberingMap.values())this.root.push(U);for(let U of this.concreteNumberingMap.values())this.root.push(U);return super.prepForXml($)}createConcreteNumberingInstance($,U){let Y=this.abstractNumberingMap.get($);if(!Y)return;let Z=`${$}-${U}`;if(this.concreteNumberingMap.has(Z))return;let J=this.referenceConfigMap.get($),G=J&&J[0].start,X={numId:this.concreteNumUniqueNumericId(),abstractNumId:Y.id,reference:$,instance:U,overrideLevels:[typeof G==="number"&&Number.isInteger(G)?{num:0,start:G}:{num:0,start:1}]};this.concreteNumberingMap.set(Z,new s1(X))}get ConcreteNumbering(){return Array.from(this.concreteNumberingMap.values())}get ReferenceConfig(){return Array.from(this.referenceConfigMap.values())}}var pV=($)=>new B0({name:"w:compatSetting",attributes:{version:{key:"w:val",value:$},name:{key:"w:name",value:"compatibilityMode"},uri:{key:"w:uri",value:"http://schemas.microsoft.com/office/word"}}});class O5 extends o{constructor($){super("w:compat");if($.version)this.root.push(pV($.version));if($.useSingleBorderforContiguousCells)this.root.push(new X0("w:useSingleBorderforContiguousCells",$.useSingleBorderforContiguousCells));if($.wordPerfectJustification)this.root.push(new X0("w:wpJustification",$.wordPerfectJustification));if($.noTabStopForHangingIndent)this.root.push(new X0("w:noTabHangInd",$.noTabStopForHangingIndent));if($.noLeading)this.root.push(new X0("w:noLeading",$.noLeading));if($.spaceForUnderline)this.root.push(new X0("w:spaceForUL",$.spaceForUnderline));if($.noColumnBalance)this.root.push(new X0("w:noColumnBalance",$.noColumnBalance));if($.balanceSingleByteDoubleByteWidth)this.root.push(new X0("w:balanceSingleByteDoubleByteWidth",$.balanceSingleByteDoubleByteWidth));if($.noExtraLineSpacing)this.root.push(new X0("w:noExtraLineSpacing",$.noExtraLineSpacing));if($.doNotLeaveBackslashAlone)this.root.push(new X0("w:doNotLeaveBackslashAlone",$.doNotLeaveBackslashAlone));if($.underlineTrailingSpaces)this.root.push(new X0("w:ulTrailSpace",$.underlineTrailingSpaces));if($.doNotExpandShiftReturn)this.root.push(new X0("w:doNotExpandShiftReturn",$.doNotExpandShiftReturn));if($.spacingInWholePoints)this.root.push(new X0("w:spacingInWholePoints",$.spacingInWholePoints));if($.lineWrapLikeWord6)this.root.push(new X0("w:lineWrapLikeWord6",$.lineWrapLikeWord6));if($.printBodyTextBeforeHeader)this.root.push(new X0("w:printBodyTextBeforeHeader",$.printBodyTextBeforeHeader));if($.printColorsBlack)this.root.push(new X0("w:printColBlack",$.printColorsBlack));if($.spaceWidth)this.root.push(new X0("w:wpSpaceWidth",$.spaceWidth));if($.showBreaksInFrames)this.root.push(new X0("w:showBreaksInFrames",$.showBreaksInFrames));if($.subFontBySize)this.root.push(new X0("w:subFontBySize",$.subFontBySize));if($.suppressBottomSpacing)this.root.push(new X0("w:suppressBottomSpacing",$.suppressBottomSpacing));if($.suppressTopSpacing)this.root.push(new X0("w:suppressTopSpacing",$.suppressTopSpacing));if($.suppressSpacingAtTopOfPage)this.root.push(new X0("w:suppressSpacingAtTopOfPage",$.suppressSpacingAtTopOfPage));if($.suppressTopSpacingWP)this.root.push(new X0("w:suppressTopSpacingWP",$.suppressTopSpacingWP));if($.suppressSpBfAfterPgBrk)this.root.push(new X0("w:suppressSpBfAfterPgBrk",$.suppressSpBfAfterPgBrk));if($.swapBordersFacingPages)this.root.push(new X0("w:swapBordersFacingPages",$.swapBordersFacingPages));if($.convertMailMergeEsc)this.root.push(new X0("w:convMailMergeEsc",$.convertMailMergeEsc));if($.truncateFontHeightsLikeWP6)this.root.push(new X0("w:truncateFontHeightsLikeWP6",$.truncateFontHeightsLikeWP6));if($.macWordSmallCaps)this.root.push(new X0("w:mwSmallCaps",$.macWordSmallCaps));if($.usePrinterMetrics)this.root.push(new X0("w:usePrinterMetrics",$.usePrinterMetrics));if($.doNotSuppressParagraphBorders)this.root.push(new X0("w:doNotSuppressParagraphBorders",$.doNotSuppressParagraphBorders));if($.wrapTrailSpaces)this.root.push(new X0("w:wrapTrailSpaces",$.wrapTrailSpaces));if($.footnoteLayoutLikeWW8)this.root.push(new X0("w:footnoteLayoutLikeWW8",$.footnoteLayoutLikeWW8));if($.shapeLayoutLikeWW8)this.root.push(new X0("w:shapeLayoutLikeWW8",$.shapeLayoutLikeWW8));if($.alignTablesRowByRow)this.root.push(new X0("w:alignTablesRowByRow",$.alignTablesRowByRow));if($.forgetLastTabAlignment)this.root.push(new X0("w:forgetLastTabAlignment",$.forgetLastTabAlignment));if($.adjustLineHeightInTable)this.root.push(new X0("w:adjustLineHeightInTable",$.adjustLineHeightInTable));if($.autoSpaceLikeWord95)this.root.push(new X0("w:autoSpaceLikeWord95",$.autoSpaceLikeWord95));if($.noSpaceRaiseLower)this.root.push(new X0("w:noSpaceRaiseLower",$.noSpaceRaiseLower));if($.doNotUseHTMLParagraphAutoSpacing)this.root.push(new X0("w:doNotUseHTMLParagraphAutoSpacing",$.doNotUseHTMLParagraphAutoSpacing));if($.layoutRawTableWidth)this.root.push(new X0("w:layoutRawTableWidth",$.layoutRawTableWidth));if($.layoutTableRowsApart)this.root.push(new X0("w:layoutTableRowsApart",$.layoutTableRowsApart));if($.useWord97LineBreakRules)this.root.push(new X0("w:useWord97LineBreakRules",$.useWord97LineBreakRules));if($.doNotBreakWrappedTables)this.root.push(new X0("w:doNotBreakWrappedTables",$.doNotBreakWrappedTables));if($.doNotSnapToGridInCell)this.root.push(new X0("w:doNotSnapToGridInCell",$.doNotSnapToGridInCell));if($.selectFieldWithFirstOrLastCharacter)this.root.push(new X0("w:selectFldWithFirstOrLastChar",$.selectFieldWithFirstOrLastCharacter));if($.applyBreakingRules)this.root.push(new X0("w:applyBreakingRules",$.applyBreakingRules));if($.doNotWrapTextWithPunctuation)this.root.push(new X0("w:doNotWrapTextWithPunct",$.doNotWrapTextWithPunctuation));if($.doNotUseEastAsianBreakRules)this.root.push(new X0("w:doNotUseEastAsianBreakRules",$.doNotUseEastAsianBreakRules));if($.useWord2002TableStyleRules)this.root.push(new X0("w:useWord2002TableStyleRules",$.useWord2002TableStyleRules));if($.growAutofit)this.root.push(new X0("w:growAutofit",$.growAutofit));if($.useFELayout)this.root.push(new X0("w:useFELayout",$.useFELayout));if($.useNormalStyleForList)this.root.push(new X0("w:useNormalStyleForList",$.useNormalStyleForList));if($.doNotUseIndentAsNumberingTabStop)this.root.push(new X0("w:doNotUseIndentAsNumberingTabStop",$.doNotUseIndentAsNumberingTabStop));if($.useAlternateEastAsianLineBreakRules)this.root.push(new X0("w:useAltKinsokuLineBreakRules",$.useAlternateEastAsianLineBreakRules));if($.allowSpaceOfSameStyleInTable)this.root.push(new X0("w:allowSpaceOfSameStyleInTable",$.allowSpaceOfSameStyleInTable));if($.doNotSuppressIndentation)this.root.push(new X0("w:doNotSuppressIndentation",$.doNotSuppressIndentation));if($.doNotAutofitConstrainedTables)this.root.push(new X0("w:doNotAutofitConstrainedTables",$.doNotAutofitConstrainedTables));if($.autofitToFirstFixedWidthCell)this.root.push(new X0("w:autofitToFirstFixedWidthCell",$.autofitToFirstFixedWidthCell));if($.underlineTabInNumberingList)this.root.push(new X0("w:underlineTabInNumList",$.underlineTabInNumberingList));if($.displayHangulFixedWidth)this.root.push(new X0("w:displayHangulFixedWidth",$.displayHangulFixedWidth));if($.splitPgBreakAndParaMark)this.root.push(new X0("w:splitPgBreakAndParaMark",$.splitPgBreakAndParaMark));if($.doNotVerticallyAlignCellWithSp)this.root.push(new X0("w:doNotVertAlignCellWithSp",$.doNotVerticallyAlignCellWithSp));if($.doNotBreakConstrainedForcedTable)this.root.push(new X0("w:doNotBreakConstrainedForcedTable",$.doNotBreakConstrainedForcedTable));if($.ignoreVerticalAlignmentInTextboxes)this.root.push(new X0("w:doNotVertAlignInTxbx",$.ignoreVerticalAlignmentInTextboxes));if($.useAnsiKerningPairs)this.root.push(new X0("w:useAnsiKerningPairs",$.useAnsiKerningPairs));if($.cachedColumnBalance)this.root.push(new X0("w:cachedColBalance",$.cachedColumnBalance))}}class k5 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",Ignorable:"mc:Ignorable"})}}class E5 extends o{constructor($){var U,Y,Z,J,G,X,Q,B;super("w:settings");if(this.root.push(new k5({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",Ignorable:"w14 w15 wp14"})),this.root.push(new X0("w:displayBackgroundShape",!0)),$.trackRevisions!==void 0)this.root.push(new X0("w:trackRevisions",$.trackRevisions));if($.evenAndOddHeaders!==void 0)this.root.push(new X0("w:evenAndOddHeaders",$.evenAndOddHeaders));if($.updateFields!==void 0)this.root.push(new X0("w:updateFields",$.updateFields));if($.defaultTabStop!==void 0)this.root.push(new k2("w:defaultTabStop",$.defaultTabStop));if(((U=$.hyphenation)==null?void 0:U.autoHyphenation)!==void 0)this.root.push(new X0("w:autoHyphenation",$.hyphenation.autoHyphenation));if(((Y=$.hyphenation)==null?void 0:Y.hyphenationZone)!==void 0)this.root.push(new k2("w:hyphenationZone",$.hyphenation.hyphenationZone));if(((Z=$.hyphenation)==null?void 0:Z.consecutiveHyphenLimit)!==void 0)this.root.push(new k2("w:consecutiveHyphenLimit",$.hyphenation.consecutiveHyphenLimit));if(((J=$.hyphenation)==null?void 0:J.doNotHyphenateCaps)!==void 0)this.root.push(new X0("w:doNotHyphenateCaps",$.hyphenation.doNotHyphenateCaps));this.root.push(new O5(R0(W0({},(G=$.compatibility)!=null?G:{}),{version:(B=(Q=(X=$.compatibility)==null?void 0:X.version)!=null?Q:$.compatibilityModeVersion)!=null?B:15})))}}class GU extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{val:"w:val"})}}class S5 extends o{constructor($){super("w:name");this.root.push(new GU({val:$}))}}class v5 extends o{constructor($){super("w:uiPriority");this.root.push(new GU({val:S0($)}))}}class _5 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{type:"w:type",styleId:"w:styleId",default:"w:default",customStyle:"w:customStyle"})}}class KU extends o{constructor($,U){super("w:style");if(this.root.push(new _5($)),U.name)this.root.push(new S5(U.name));if(U.basedOn)this.root.push(new Y2("w:basedOn",U.basedOn));if(U.next)this.root.push(new Y2("w:next",U.next));if(U.link)this.root.push(new Y2("w:link",U.link));if(U.uiPriority!==void 0)this.root.push(new v5(U.uiPriority));if(U.semiHidden!==void 0)this.root.push(new X0("w:semiHidden",U.semiHidden));if(U.unhideWhenUsed!==void 0)this.root.push(new X0("w:unhideWhenUsed",U.unhideWhenUsed));if(U.quickFormat!==void 0)this.root.push(new X0("w:qFormat",U.quickFormat))}}class y2 extends KU{constructor($){super({type:"paragraph",styleId:$.id},$);Y0(this,"paragraphProperties"),Y0(this,"runProperties"),this.paragraphProperties=new Z2($.paragraph),this.runProperties=new J2($.run),this.root.push(this.paragraphProperties),this.root.push(this.runProperties)}}class D2 extends KU{constructor($){super({type:"character",styleId:$.id},W0({uiPriority:99,unhideWhenUsed:!0},$));Y0(this,"runProperties"),this.runProperties=new J2($.run),this.root.push(this.runProperties)}}class H2 extends y2{constructor($){super(W0({basedOn:"Normal",next:"Normal",quickFormat:!0},$))}}class y5 extends H2{constructor($){super(W0({id:"Title",name:"Title"},$))}}class b5 extends H2{constructor($){super(W0({id:"Heading1",name:"Heading 1"},$))}}class g5 extends H2{constructor($){super(W0({id:"Heading2",name:"Heading 2"},$))}}class x5 extends H2{constructor($){super(W0({id:"Heading3",name:"Heading 3"},$))}}class f5 extends H2{constructor($){super(W0({id:"Heading4",name:"Heading 4"},$))}}class h5 extends H2{constructor($){super(W0({id:"Heading5",name:"Heading 5"},$))}}class u5 extends H2{constructor($){super(W0({id:"Heading6",name:"Heading 6"},$))}}class d5 extends H2{constructor($){super(W0({id:"Strong",name:"Strong"},$))}}class c5 extends y2{constructor($){super(W0({id:"ListParagraph",name:"List Paragraph",basedOn:"Normal",quickFormat:!0},$))}}class m5 extends y2{constructor($){super(W0({id:"FootnoteText",name:"footnote text",link:"FootnoteTextChar",basedOn:"Normal",uiPriority:99,semiHidden:!0,unhideWhenUsed:!0,paragraph:{spacing:{after:0,line:240,lineRule:v2.AUTO}},run:{size:20}},$))}}class l5 extends D2{constructor($){super(W0({id:"FootnoteReference",name:"footnote reference",basedOn:"DefaultParagraphFont",semiHidden:!0,run:{superScript:!0}},$))}}class a5 extends D2{constructor($){super(W0({id:"FootnoteTextChar",name:"Footnote Text Char",basedOn:"DefaultParagraphFont",link:"FootnoteText",semiHidden:!0,run:{size:20}},$))}}class p5 extends y2{constructor($){super(W0({id:"EndnoteText",name:"endnote text",link:"EndnoteTextChar",basedOn:"Normal",uiPriority:99,semiHidden:!0,unhideWhenUsed:!0,paragraph:{spacing:{after:0,line:240,lineRule:v2.AUTO}},run:{size:20}},$))}}class i5 extends D2{constructor($){super(W0({id:"EndnoteReference",name:"endnote reference",basedOn:"DefaultParagraphFont",semiHidden:!0,run:{superScript:!0}},$))}}class r5 extends D2{constructor($){super(W0({id:"EndnoteTextChar",name:"Endnote Text Char",basedOn:"DefaultParagraphFont",link:"EndnoteText",semiHidden:!0,run:{size:20}},$))}}class s5 extends D2{constructor($){super(W0({id:"Hyperlink",name:"Hyperlink",basedOn:"DefaultParagraphFont",run:{color:"0563C1",underline:{type:Z$.SINGLE}}},$))}}class B1 extends o{constructor($){super("w:styles");if($.initialStyles)this.root.push($.initialStyles);if($.importedStyles)for(let U of $.importedStyles)this.root.push(U);if($.paragraphStyles)for(let U of $.paragraphStyles)this.root.push(new y2(U));if($.characterStyles)for(let U of $.characterStyles)this.root.push(new D2(U))}}class qU extends o{constructor($){super("w:pPrDefault");this.root.push(new Z2($))}}class XU extends o{constructor($){super("w:rPrDefault");this.root.push(new J2($))}}class VU extends o{constructor($){super("w:docDefaults");Y0(this,"runPropertiesDefaults"),Y0(this,"paragraphPropertiesDefaults"),this.runPropertiesDefaults=new XU($.run),this.paragraphPropertiesDefaults=new qU($.paragraph),this.root.push(this.runPropertiesDefaults),this.root.push(this.paragraphPropertiesDefaults)}}class n5{newInstance($){let U=$8.xml2js($,{compact:!1}),Y;for(let J of U.elements||[])if(J.name==="w:styles")Y=J;if(Y===void 0)throw Error("can not find styles element");let Z=Y.elements||[];return{initialStyles:new i9(Y.attributes),importedStyles:Z.map((J)=>U8(J))}}}class c1{newInstance($={}){var U;return{initialStyles:new o2(["mc","r","w","w14","w15"],"w14 w15"),importedStyles:[new VU((U=$.document)!=null?U:{}),new y5(W0({run:{size:56}},$.title)),new b5(W0({run:{color:"2E74B5",size:32}},$.heading1)),new g5(W0({run:{color:"2E74B5",size:26}},$.heading2)),new x5(W0({run:{color:"1F4D78",size:24}},$.heading3)),new f5(W0({run:{color:"2E74B5",italics:!0}},$.heading4)),new h5(W0({run:{color:"2E74B5"}},$.heading5)),new u5(W0({run:{color:"1F4D78"}},$.heading6)),new d5(W0({run:{bold:!0}},$.strong)),new c5($.listParagraph||{}),new s5($.hyperlink||{}),new l5($.footnoteReference||{}),new m5($.footnoteText||{}),new a5($.footnoteTextChar||{}),new i5($.endnoteReference||{}),new p5($.endnoteText||{}),new r5($.endnoteTextChar||{})]}}}class o5{constructor($){Y0(this,"currentRelationshipId",1),Y0(this,"documentWrapper"),Y0(this,"headers",[]),Y0(this,"footers",[]),Y0(this,"coreProperties"),Y0(this,"numbering"),Y0(this,"media"),Y0(this,"fileRelationships"),Y0(this,"footnotesWrapper"),Y0(this,"endnotesWrapper"),Y0(this,"settings"),Y0(this,"contentTypes"),Y0(this,"customProperties"),Y0(this,"appProperties"),Y0(this,"styles"),Y0(this,"comments"),Y0(this,"fontWrapper");var U,Y,Z,J,G,X,Q,B,F,z,W,k,D;if(this.coreProperties=new gK(R0(W0({},$),{creator:(U=$.creator)!=null?U:"Un-named",revision:(Y=$.revision)!=null?Y:1,lastModifiedBy:(Z=$.lastModifiedBy)!=null?Z:"Un-named"})),this.numbering=new JU($.numbering?$.numbering:{config:[]}),this.comments=new M$((J=$.comments)!=null?J:{children:[]}),this.fileRelationships=new W2,this.customProperties=new cK((G=$.customProperties)!=null?G:[]),this.appProperties=new _K,this.footnotesWrapper=new L5,this.endnotesWrapper=new G5,this.contentTypes=new bK,this.documentWrapper=new $5({background:$.background}),this.settings=new E5({compatibilityModeVersion:$.compatabilityModeVersion,compatibility:$.compatibility,evenAndOddHeaders:$.evenAndOddHeaderAndFooters?!0:!1,trackRevisions:(X=$.features)==null?void 0:X.trackRevisions,updateFields:(Q=$.features)==null?void 0:Q.updateFields,defaultTabStop:$.defaultTabStop,hyphenation:{autoHyphenation:(B=$.hyphenation)==null?void 0:B.autoHyphenation,hyphenationZone:(F=$.hyphenation)==null?void 0:F.hyphenationZone,consecutiveHyphenLimit:(z=$.hyphenation)==null?void 0:z.consecutiveHyphenLimit,doNotHyphenateCaps:(W=$.hyphenation)==null?void 0:W.doNotHyphenateCaps}}),this.media=new w8,$.externalStyles!==void 0){let H=new c1().newInstance((k=$.styles)==null?void 0:k.default),V=new n5().newInstance($.externalStyles);this.styles=new B1(R0(W0({},V),{importedStyles:[...H.importedStyles,...V.importedStyles]}))}else if($.styles){let H=new c1().newInstance($.styles.default);this.styles=new B1(W0(W0({},H),$.styles))}else{let C=new c1;this.styles=new B1(C.newInstance())}this.addDefaultRelationships();for(let C of $.sections)this.addSection(C);if($.footnotes)for(let C in $.footnotes)this.footnotesWrapper.View.createFootNote(parseFloat(C),$.footnotes[C].children);if($.endnotes)for(let C in $.endnotes)this.endnotesWrapper.View.createEndnote(parseFloat(C),$.endnotes[C].children);this.fontWrapper=new R$((D=$.fonts)!=null?D:[])}addSection({headers:$={},footers:U={},children:Y,properties:Z}){this.documentWrapper.View.Body.addSection(R0(W0({},Z),{headerWrapperGroup:{default:$.default?this.createHeader($.default):void 0,first:$.first?this.createHeader($.first):void 0,even:$.even?this.createHeader($.even):void 0},footerWrapperGroup:{default:U.default?this.createFooter(U.default):void 0,first:U.first?this.createFooter(U.first):void 0,even:U.even?this.createFooter(U.even):void 0}}));for(let J of Y)this.documentWrapper.View.add(J)}createHeader($){let U=new YU(this.media,this.currentRelationshipId++);for(let Y of $.options.children)U.add(Y);return this.addHeaderToDocument(U),U}createFooter($){let U=new $U(this.media,this.currentRelationshipId++);for(let Y of $.options.children)U.add(Y);return this.addFooterToDocument(U),U}addHeaderToDocument($,U=E2.DEFAULT){this.headers.push({header:$,type:U}),this.documentWrapper.Relationships.addRelationship($.View.ReferenceId,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",`header${this.headers.length}.xml`),this.contentTypes.addHeader(this.headers.length)}addFooterToDocument($,U=E2.DEFAULT){this.footers.push({footer:$,type:U}),this.documentWrapper.Relationships.addRelationship($.View.ReferenceId,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",`footer${this.footers.length}.xml`),this.contentTypes.addFooter(this.footers.length)}addDefaultRelationships(){this.fileRelationships.addRelationship(1,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument","word/document.xml"),this.fileRelationships.addRelationship(2,"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties","docProps/core.xml"),this.fileRelationships.addRelationship(3,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties","docProps/app.xml"),this.fileRelationships.addRelationship(4,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties","docProps/custom.xml"),this.documentWrapper.Relationships.addRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles","styles.xml"),this.documentWrapper.Relationships.addRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering","numbering.xml"),this.documentWrapper.Relationships.addRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes","footnotes.xml"),this.documentWrapper.Relationships.addRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes","endnotes.xml"),this.documentWrapper.Relationships.addRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings","settings.xml"),this.documentWrapper.Relationships.addRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments","comments.xml")}get Document(){return this.documentWrapper}get Styles(){return this.styles}get CoreProperties(){return this.coreProperties}get Numbering(){return this.numbering}get Media(){return this.media}get FileRelationships(){return this.fileRelationships}get Headers(){return this.headers.map(($)=>$.header)}get Footers(){return this.footers.map(($)=>$.footer)}get ContentTypes(){return this.contentTypes}get CustomProperties(){return this.customProperties}get AppProperties(){return this.appProperties}get FootNotes(){return this.footnotesWrapper}get Endnotes(){return this.endnotesWrapper}get Settings(){return this.settings}get Comments(){return this.comments}get FontTable(){return this.fontWrapper}}class t5 extends o{constructor($={}){super("w:instrText");Y0(this,"properties"),this.properties=$,this.root.push(new x0({space:g0.PRESERVE}));let U="TOC";if(this.properties.captionLabel)U=`${U} \\a "${this.properties.captionLabel}"`;if(this.properties.entriesFromBookmark)U=`${U} \\b "${this.properties.entriesFromBookmark}"`;if(this.properties.captionLabelIncludingNumbers)U=`${U} \\c "${this.properties.captionLabelIncludingNumbers}"`;if(this.properties.sequenceAndPageNumbersSeparator)U=`${U} \\d "${this.properties.sequenceAndPageNumbersSeparator}"`;if(this.properties.tcFieldIdentifier)U=`${U} \\f "${this.properties.tcFieldIdentifier}"`;if(this.properties.hyperlink)U=`${U} \\h`;if(this.properties.tcFieldLevelRange)U=`${U} \\l "${this.properties.tcFieldLevelRange}"`;if(this.properties.pageNumbersEntryLevelsRange)U=`${U} \\n "${this.properties.pageNumbersEntryLevelsRange}"`;if(this.properties.headingStyleRange)U=`${U} \\o "${this.properties.headingStyleRange}"`;if(this.properties.entryAndPageNumberSeparator)U=`${U} \\p "${this.properties.entryAndPageNumberSeparator}"`;if(this.properties.seqFieldIdentifierForPrefix)U=`${U} \\s "${this.properties.seqFieldIdentifierForPrefix}"`;if(this.properties.stylesWithLevels&&this.properties.stylesWithLevels.length){let Y=this.properties.stylesWithLevels.map((Z)=>`${Z.styleName},${Z.level}`).join(",");U=`${U} \\t "${Y}"`}if(this.properties.useAppliedParagraphOutlineLevel)U=`${U} \\u`;if(this.properties.preserveTabInEntries)U=`${U} \\w`;if(this.properties.preserveNewLineInEntries)U=`${U} \\x`;if(this.properties.hideTabAndPageNumbersInWebView)U=`${U} \\z`;this.root.push(U)}}class BU extends o{constructor(){super("w:sdtContent")}}class LU extends o{constructor($){super("w:sdtPr");if($)this.root.push(new Y2("w:alias",$))}}class e5 extends r2{constructor($="Table of Contents",U={}){var Y=U,{contentChildren:Z=[],cachedEntries:J=[],beginDirty:G=!0}=Y,X=oZ(Y,["contentChildren","cachedEntries","beginDirty"]);super("w:sdt");this.root.push(new LU($));let Q=new BU,B=[new C0({children:[$2(G),new t5(X),I2()]})],F=[new C0({children:[U2()]})];if(J!==void 0&&J.length>0){let{stylesWithLevels:W}=X,k=J.map((C,H)=>{var O,V;let j=this.buildCachedContentParagraphChild(C,X),M=(V=(O=W==null?void 0:W.find((A)=>A.level===C.level))==null?void 0:O.styleName)!=null?V:`TOC${C.level}`,L=H===0?[...B,j]:H===J.length-1?[j,...F]:[j];return new h0({style:M,tabStops:this.getTabStopsForLevel(C.level),children:L})}),D=k;if(J.length<=1)D=[...k,new h0({children:F})];for(let C of D)Q.addChildElement(C)}else{let W=new h0({children:B});Q.addChildElement(W);for(let D of Z)Q.addChildElement(D);let k=new h0({children:F});Q.addChildElement(k)}this.root.push(Q)}getTabStopsForLevel($,U=9025){return[{type:"clear",position:U+1-($-1)*240},{type:"right",position:U,leader:"dot"}]}buildCachedContentRun($,U){var Y,Z;return new C0({style:(U==null?void 0:U.hyperlink)&&$.href!==void 0?"IndexLink":void 0,children:[new a2({text:$.title}),new w$,new a2({text:(Z=(Y=$.page)==null?void 0:Y.toString())!=null?Z:""})]})}buildCachedContentParagraphChild($,U){let Y=this.buildCachedContentRun($,U);if((U==null?void 0:U.hyperlink)&&$.href!==void 0)return new j$({anchor:$.href,children:[Y]});return Y}}class $7{constructor($,U){Y0(this,"styleName"),Y0(this,"level"),this.styleName=$,this.level=U}}class U7{constructor($={children:[]}){Y0(this,"options"),this.options=$}}class Y7{constructor($={children:[]}){Y0(this,"options"),this.options=$}}class MU extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{id:"w:id"})}}class IU extends o{constructor($){super("w:footnoteReference");this.root.push(new MU({id:$}))}}class Z7 extends C0{constructor($){super({style:"FootnoteReference"});this.root.push(new IU($))}}class wU extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{id:"w:id"})}}class WU extends o{constructor($){super("w:endnoteReference");this.root.push(new wU({id:$}))}}class Q7 extends C0{constructor($){super({style:"EndnoteReference"});this.root.push(new WU($))}}class _9 extends I0{constructor(){super(...arguments);Y0(this,"xmlKeys",{val:"w14:val",symbolfont:"w14:font"})}}class L1 extends o{constructor($,U,Y){super($);if(Y)this.root.push(new _9({val:DQ(U),symbolfont:Y}));else this.root.push(new _9({val:U}))}}class HU extends o{constructor($){var U,Y,Z,J,G,X,Q,B;super("w14:checkbox");Y0(this,"DEFAULT_UNCHECKED_SYMBOL","2610"),Y0(this,"DEFAULT_CHECKED_SYMBOL","2612"),Y0(this,"DEFAULT_FONT","MS Gothic");let F=($==null?void 0:$.checked)?"1":"0",z,W;this.root.push(new L1("w14:checked",F)),z=((U=$==null?void 0:$.checkedState)==null?void 0:U.value)?(Y=$==null?void 0:$.checkedState)==null?void 0:Y.value:this.DEFAULT_CHECKED_SYMBOL,W=((Z=$==null?void 0:$.checkedState)==null?void 0:Z.font)?(J=$==null?void 0:$.checkedState)==null?void 0:J.font:this.DEFAULT_FONT,this.root.push(new L1("w14:checkedState",z,W)),z=((G=$==null?void 0:$.uncheckedState)==null?void 0:G.value)?(X=$==null?void 0:$.uncheckedState)==null?void 0:X.value:this.DEFAULT_UNCHECKED_SYMBOL,W=((Q=$==null?void 0:$.uncheckedState)==null?void 0:Q.font)?(B=$==null?void 0:$.uncheckedState)==null?void 0:B.font:this.DEFAULT_FONT,this.root.push(new L1("w14:uncheckedState",z,W))}}class J7 extends o{constructor($){var U,Y,Z,J;super("w:sdt");Y0(this,"DEFAULT_UNCHECKED_SYMBOL","2610"),Y0(this,"DEFAULT_CHECKED_SYMBOL","2612"),Y0(this,"DEFAULT_FONT","MS Gothic");let G=new LU($==null?void 0:$.alias);G.addChildElement(new HU($)),this.root.push(G);let X=new BU,Q=(U=$==null?void 0:$.checkedState)==null?void 0:U.font,B=(Y=$==null?void 0:$.checkedState)==null?void 0:Y.value,F=(Z=$==null?void 0:$.uncheckedState)==null?void 0:Z.font,z=(J=$==null?void 0:$.uncheckedState)==null?void 0:J.value,W,k;if($==null?void 0:$.checked)W=Q?Q:this.DEFAULT_FONT,k=B?B:this.DEFAULT_CHECKED_SYMBOL;else W=F?F:this.DEFAULT_FONT,k=z?z:this.DEFAULT_UNCHECKED_SYMBOL;let D=new G$({char:k,symbolfont:W});X.addChildElement(D),this.root.push(X)}}var iV=({shape:$})=>new B0({name:"w:pict",children:[$]}),rV=({children:$=[]})=>new B0({name:"w:txbxContent",children:$}),sV=({style:$,children:U,inset:Y})=>new B0({name:"v:textbox",attributes:{style:{key:"style",value:$},insetMode:{key:"insetmode",value:Y?"custom":"auto"},inset:{key:"inset",value:Y?`${Y.left}, ${Y.top}, ${Y.right}, ${Y.bottom}`:void 0}},children:[rV({children:U})]}),nV="#_x0000_t202",oV={flip:"flip",height:"height",left:"left",marginBottom:"margin-bottom",marginLeft:"margin-left",marginRight:"margin-right",marginTop:"margin-top",positionHorizontal:"mso-position-horizontal",positionHorizontalRelative:"mso-position-horizontal-relative",positionVertical:"mso-position-vertical",positionVerticalRelative:"mso-position-vertical-relative",wrapDistanceBottom:"mso-wrap-distance-bottom",wrapDistanceLeft:"mso-wrap-distance-left",wrapDistanceRight:"mso-wrap-distance-right",wrapDistanceTop:"mso-wrap-distance-top",wrapEdited:"mso-wrap-edited",wrapStyle:"mso-wrap-style",position:"position",rotation:"rotation",top:"top",visibility:"visibility",width:"width",zIndex:"z-index"},tV=($)=>$?Object.entries($).map(([U,Y])=>`${oV[U]}:${Y}`).join(";"):void 0,eV=({id:$,children:U,type:Y=nV,style:Z})=>new B0({name:"v:shape",attributes:{id:{key:"id",value:$},type:{key:"type",value:Y},style:{key:"style",value:tV(Z)}},children:[sV({style:"mso-fit-shape-to-text:t;",children:U})]});class G7 extends r2{constructor($){var U=$,{style:Y,children:Z}=U,J=oZ(U,["style","children"]);super("w:p");this.root.push(new Z2(J)),this.root.push(iV({shape:eV({children:Z,id:R1(),style:Y})}))}}var $B=m9();function y1($){throw Error('Could not dynamically require "'+$+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var I9={exports:{}},uZ;function UB(){if(uZ)return I9.exports;return uZ=1,function($,U){(function(Y){$.exports=Y()})(function(){return function Y(Z,J,G){function X(F,z){if(!J[F]){if(!Z[F]){var W=typeof y1=="function"&&y1;if(!z&&W)return W(F,!0);if(Q)return Q(F,!0);var k=Error("Cannot find module '"+F+"'");throw k.code="MODULE_NOT_FOUND",k}var D=J[F]={exports:{}};Z[F][0].call(D.exports,function(C){var H=Z[F][1][C];return X(H||C)},D,D.exports,Y,Z,J,G)}return J[F].exports}for(var Q=typeof y1=="function"&&y1,B=0;B>2,D=(3&F)<<4|z>>4,C=1>6:64,H=2>4,z=(15&k)<<4|(D=Q.indexOf(B.charAt(H++)))>>2,W=(3&D)<<6|(C=Q.indexOf(B.charAt(H++))),j[O++]=F,D!==64&&(j[O++]=z),C!==64&&(j[O++]=W);return j}},{"./support":30,"./utils":32}],2:[function(Y,Z,J){var G=Y("./external"),X=Y("./stream/DataWorker"),Q=Y("./stream/Crc32Probe"),B=Y("./stream/DataLengthProbe");function F(z,W,k,D,C){this.compressedSize=z,this.uncompressedSize=W,this.crc32=k,this.compression=D,this.compressedContent=C}F.prototype={getContentWorker:function(){var z=new X(G.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new B("data_length")),W=this;return z.on("end",function(){if(this.streamInfo.data_length!==W.uncompressedSize)throw Error("Bug : uncompressed data size mismatch")}),z},getCompressedWorker:function(){return new X(G.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},F.createWorkerFrom=function(z,W,k){return z.pipe(new Q).pipe(new B("uncompressedSize")).pipe(W.compressWorker(k)).pipe(new B("compressedSize")).withStreamInfo("compression",W)},Z.exports=F},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(Y,Z,J){var G=Y("./stream/GenericWorker");J.STORE={magic:"\x00\x00",compressWorker:function(){return new G("STORE compression")},uncompressWorker:function(){return new G("STORE decompression")}},J.DEFLATE=Y("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(Y,Z,J){var G=Y("./utils"),X=function(){for(var Q,B=[],F=0;F<256;F++){Q=F;for(var z=0;z<8;z++)Q=1&Q?3988292384^Q>>>1:Q>>>1;B[F]=Q}return B}();Z.exports=function(Q,B){return Q!==void 0&&Q.length?G.getTypeOf(Q)!=="string"?function(F,z,W,k){var D=X,C=k+W;F^=-1;for(var H=k;H>>8^D[255&(F^z[H])];return-1^F}(0|B,Q,Q.length,0):function(F,z,W,k){var D=X,C=k+W;F^=-1;for(var H=k;H>>8^D[255&(F^z.charCodeAt(H))];return-1^F}(0|B,Q,Q.length,0):0}},{"./utils":32}],5:[function(Y,Z,J){J.base64=!1,J.binary=!1,J.dir=!1,J.createFolders=!0,J.date=null,J.compression=null,J.compressionOptions=null,J.comment=null,J.unixPermissions=null,J.dosPermissions=null},{}],6:[function(Y,Z,J){var G=null;G=typeof Promise<"u"?Promise:Y("lie"),Z.exports={Promise:G}},{lie:37}],7:[function(Y,Z,J){var G=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",X=Y("pako"),Q=Y("./utils"),B=Y("./stream/GenericWorker"),F=G?"uint8array":"array";function z(W,k){B.call(this,"FlateWorker/"+W),this._pako=null,this._pakoAction=W,this._pakoOptions=k,this.meta={}}J.magic="\b\x00",Q.inherits(z,B),z.prototype.processChunk=function(W){this.meta=W.meta,this._pako===null&&this._createPako(),this._pako.push(Q.transformTo(F,W.data),!1)},z.prototype.flush=function(){B.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},z.prototype.cleanUp=function(){B.prototype.cleanUp.call(this),this._pako=null},z.prototype._createPako=function(){this._pako=new X[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var W=this;this._pako.onData=function(k){W.push({data:k,meta:W.meta})}},J.compressWorker=function(W){return new z("Deflate",W)},J.uncompressWorker=function(){return new z("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(Y,Z,J){function G(D,C){var H,O="";for(H=0;H>>=8;return O}function X(D,C,H,O,V,j){var M,L,A=D.file,y=D.compression,g=j!==F.utf8encode,d=Q.transformTo("string",j(A.name)),E=Q.transformTo("string",F.utf8encode(A.name)),s=A.comment,V0=Q.transformTo("string",j(s)),S=Q.transformTo("string",F.utf8encode(s)),h=E.length!==A.name.length,N=S.length!==s.length,a="",$0="",m="",J0=A.dir,U0=A.date,L0={crc32:0,compressedSize:0,uncompressedSize:0};C&&!H||(L0.crc32=D.crc32,L0.compressedSize=D.compressedSize,L0.uncompressedSize=D.uncompressedSize);var i=0;C&&(i|=8),g||!h&&!N||(i|=2048);var _=0,r=0;J0&&(_|=16),V==="UNIX"?(r=798,_|=function(Z0,p){var P=Z0;return Z0||(P=p?16893:33204),(65535&P)<<16}(A.unixPermissions,J0)):(r=20,_|=function(Z0){return 63&(Z0||0)}(A.dosPermissions)),M=U0.getUTCHours(),M<<=6,M|=U0.getUTCMinutes(),M<<=5,M|=U0.getUTCSeconds()/2,L=U0.getUTCFullYear()-1980,L<<=4,L|=U0.getUTCMonth()+1,L<<=5,L|=U0.getUTCDate(),h&&($0=G(1,1)+G(z(d),4)+E,a+="up"+G($0.length,2)+$0),N&&(m=G(1,1)+G(z(V0),4)+S,a+="uc"+G(m.length,2)+m);var n="";return n+=` -\x00`,n+=G(i,2),n+=y.magic,n+=G(M,2),n+=G(L,2),n+=G(L0.crc32,4),n+=G(L0.compressedSize,4),n+=G(L0.uncompressedSize,4),n+=G(d.length,2),n+=G(a.length,2),{fileRecord:W.LOCAL_FILE_HEADER+n+d+a,dirRecord:W.CENTRAL_FILE_HEADER+G(r,2)+n+G(V0.length,2)+"\x00\x00\x00\x00"+G(_,4)+G(O,4)+d+a+V0}}var Q=Y("../utils"),B=Y("../stream/GenericWorker"),F=Y("../utf8"),z=Y("../crc32"),W=Y("../signature");function k(D,C,H,O){B.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=C,this.zipPlatform=H,this.encodeFileName=O,this.streamFiles=D,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}Q.inherits(k,B),k.prototype.push=function(D){var C=D.meta.percent||0,H=this.entriesCount,O=this._sources.length;this.accumulate?this.contentBuffer.push(D):(this.bytesWritten+=D.data.length,B.prototype.push.call(this,{data:D.data,meta:{currentFile:this.currentFile,percent:H?(C+100*(H-O-1))/H:100}}))},k.prototype.openedSource=function(D){this.currentSourceOffset=this.bytesWritten,this.currentFile=D.file.name;var C=this.streamFiles&&!D.file.dir;if(C){var H=X(D,C,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:H.fileRecord,meta:{percent:0}})}else this.accumulate=!0},k.prototype.closedSource=function(D){this.accumulate=!1;var C=this.streamFiles&&!D.file.dir,H=X(D,C,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(H.dirRecord),C)this.push({data:function(O){return W.DATA_DESCRIPTOR+G(O.crc32,4)+G(O.compressedSize,4)+G(O.uncompressedSize,4)}(D),meta:{percent:100}});else for(this.push({data:H.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},k.prototype.flush=function(){for(var D=this.bytesWritten,C=0;C=this.index;B--)F=(F<<8)+this.byteAt(B);return this.index+=Q,F},readString:function(Q){return G.transformTo("string",this.readData(Q))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var Q=this.readInt(4);return new Date(Date.UTC(1980+(Q>>25&127),(Q>>21&15)-1,Q>>16&31,Q>>11&31,Q>>5&63,(31&Q)<<1))}},Z.exports=X},{"../utils":32}],19:[function(Y,Z,J){var G=Y("./Uint8ArrayReader");function X(Q){G.call(this,Q)}Y("../utils").inherits(X,G),X.prototype.readData=function(Q){this.checkOffset(Q);var B=this.data.slice(this.zero+this.index,this.zero+this.index+Q);return this.index+=Q,B},Z.exports=X},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(Y,Z,J){var G=Y("./DataReader");function X(Q){G.call(this,Q)}Y("../utils").inherits(X,G),X.prototype.byteAt=function(Q){return this.data.charCodeAt(this.zero+Q)},X.prototype.lastIndexOfSignature=function(Q){return this.data.lastIndexOf(Q)-this.zero},X.prototype.readAndCheckSignature=function(Q){return Q===this.readData(4)},X.prototype.readData=function(Q){this.checkOffset(Q);var B=this.data.slice(this.zero+this.index,this.zero+this.index+Q);return this.index+=Q,B},Z.exports=X},{"../utils":32,"./DataReader":18}],21:[function(Y,Z,J){var G=Y("./ArrayReader");function X(Q){G.call(this,Q)}Y("../utils").inherits(X,G),X.prototype.readData=function(Q){if(this.checkOffset(Q),Q===0)return new Uint8Array(0);var B=this.data.subarray(this.zero+this.index,this.zero+this.index+Q);return this.index+=Q,B},Z.exports=X},{"../utils":32,"./ArrayReader":17}],22:[function(Y,Z,J){var G=Y("../utils"),X=Y("../support"),Q=Y("./ArrayReader"),B=Y("./StringReader"),F=Y("./NodeBufferReader"),z=Y("./Uint8ArrayReader");Z.exports=function(W){var k=G.getTypeOf(W);return G.checkSupport(k),k!=="string"||X.uint8array?k==="nodebuffer"?new F(W):X.uint8array?new z(G.transformTo("uint8array",W)):new Q(G.transformTo("array",W)):new B(W)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(Y,Z,J){J.LOCAL_FILE_HEADER="PK\x03\x04",J.CENTRAL_FILE_HEADER="PK\x01\x02",J.CENTRAL_DIRECTORY_END="PK\x05\x06",J.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x06\x07",J.ZIP64_CENTRAL_DIRECTORY_END="PK\x06\x06",J.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(Y,Z,J){var G=Y("./GenericWorker"),X=Y("../utils");function Q(B){G.call(this,"ConvertWorker to "+B),this.destType=B}X.inherits(Q,G),Q.prototype.processChunk=function(B){this.push({data:X.transformTo(this.destType,B.data),meta:B.meta})},Z.exports=Q},{"../utils":32,"./GenericWorker":28}],25:[function(Y,Z,J){var G=Y("./GenericWorker"),X=Y("../crc32");function Q(){G.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}Y("../utils").inherits(Q,G),Q.prototype.processChunk=function(B){this.streamInfo.crc32=X(B.data,this.streamInfo.crc32||0),this.push(B)},Z.exports=Q},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(Y,Z,J){var G=Y("../utils"),X=Y("./GenericWorker");function Q(B){X.call(this,"DataLengthProbe for "+B),this.propName=B,this.withStreamInfo(B,0)}G.inherits(Q,X),Q.prototype.processChunk=function(B){if(B){var F=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=F+B.data.length}X.prototype.processChunk.call(this,B)},Z.exports=Q},{"../utils":32,"./GenericWorker":28}],27:[function(Y,Z,J){var G=Y("../utils"),X=Y("./GenericWorker");function Q(B){X.call(this,"DataWorker");var F=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,B.then(function(z){F.dataIsReady=!0,F.data=z,F.max=z&&z.length||0,F.type=G.getTypeOf(z),F.isPaused||F._tickAndRepeat()},function(z){F.error(z)})}G.inherits(Q,X),Q.prototype.cleanUp=function(){X.prototype.cleanUp.call(this),this.data=null},Q.prototype.resume=function(){return!!X.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,G.delay(this._tickAndRepeat,[],this)),!0)},Q.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(G.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},Q.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var B=null,F=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":B=this.data.substring(this.index,F);break;case"uint8array":B=this.data.subarray(this.index,F);break;case"array":case"nodebuffer":B=this.data.slice(this.index,F)}return this.index=F,this.push({data:B,meta:{percent:this.max?this.index/this.max*100:0}})},Z.exports=Q},{"../utils":32,"./GenericWorker":28}],28:[function(Y,Z,J){function G(X){this.name=X||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}G.prototype={push:function(X){this.emit("data",X)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(X){this.emit("error",X)}return!0},error:function(X){return!this.isFinished&&(this.isPaused?this.generatedError=X:(this.isFinished=!0,this.emit("error",X),this.previous&&this.previous.error(X),this.cleanUp()),!0)},on:function(X,Q){return this._listeners[X].push(Q),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(X,Q){if(this._listeners[X])for(var B=0;B "+X:X}},Z.exports=G},{}],29:[function(Y,Z,J){var G=Y("../utils"),X=Y("./ConvertWorker"),Q=Y("./GenericWorker"),B=Y("../base64"),F=Y("../support"),z=Y("../external"),W=null;if(F.nodestream)try{W=Y("../nodejs/NodejsStreamOutputAdapter")}catch(C){}function k(C,H){return new z.Promise(function(O,V){var j=[],M=C._internalType,L=C._outputType,A=C._mimeType;C.on("data",function(y,g){j.push(y),H&&H(g)}).on("error",function(y){j=[],V(y)}).on("end",function(){try{var y=function(g,d,E){switch(g){case"blob":return G.newBlob(G.transformTo("arraybuffer",d),E);case"base64":return B.encode(d);default:return G.transformTo(g,d)}}(L,function(g,d){var E,s=0,V0=null,S=0;for(E=0;E"u")J.blob=!1;else{var G=new ArrayBuffer(0);try{J.blob=new Blob([G],{type:"application/zip"}).size===0}catch(Q){try{var X=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);X.append(G),J.blob=X.getBlob("application/zip").size===0}catch(B){J.blob=!1}}}try{J.nodestream=!!Y("readable-stream").Readable}catch(Q){J.nodestream=!1}},{"readable-stream":16}],31:[function(Y,Z,J){for(var G=Y("./utils"),X=Y("./support"),Q=Y("./nodejsUtils"),B=Y("./stream/GenericWorker"),F=Array(256),z=0;z<256;z++)F[z]=252<=z?6:248<=z?5:240<=z?4:224<=z?3:192<=z?2:1;F[254]=F[254]=1;function W(){B.call(this,"utf-8 decode"),this.leftOver=null}function k(){B.call(this,"utf-8 encode")}J.utf8encode=function(D){return X.nodebuffer?Q.newBufferFrom(D,"utf-8"):function(C){var H,O,V,j,M,L=C.length,A=0;for(j=0;j>>6:(O<65536?H[M++]=224|O>>>12:(H[M++]=240|O>>>18,H[M++]=128|O>>>12&63),H[M++]=128|O>>>6&63),H[M++]=128|63&O);return H}(D)},J.utf8decode=function(D){return X.nodebuffer?G.transformTo("nodebuffer",D).toString("utf-8"):function(C){var H,O,V,j,M=C.length,L=Array(2*M);for(H=O=0;H>10&1023,L[O++]=56320|1023&V)}return L.length!==O&&(L.subarray?L=L.subarray(0,O):L.length=O),G.applyFromCharCode(L)}(D=G.transformTo(X.uint8array?"uint8array":"array",D))},G.inherits(W,B),W.prototype.processChunk=function(D){var C=G.transformTo(X.uint8array?"uint8array":"array",D.data);if(this.leftOver&&this.leftOver.length){if(X.uint8array){var H=C;(C=new Uint8Array(H.length+this.leftOver.length)).set(this.leftOver,0),C.set(H,this.leftOver.length)}else C=this.leftOver.concat(C);this.leftOver=null}var O=function(j,M){var L;for((M=M||j.length)>j.length&&(M=j.length),L=M-1;0<=L&&(192&j[L])==128;)L--;return L<0?M:L===0?M:L+F[j[L]]>M?L:M}(C),V=C;O!==C.length&&(X.uint8array?(V=C.subarray(0,O),this.leftOver=C.subarray(O,C.length)):(V=C.slice(0,O),this.leftOver=C.slice(O,C.length))),this.push({data:J.utf8decode(V),meta:D.meta})},W.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:J.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},J.Utf8DecodeWorker=W,G.inherits(k,B),k.prototype.processChunk=function(D){this.push({data:J.utf8encode(D.data),meta:D.meta})},J.Utf8EncodeWorker=k},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(Y,Z,J){var G=Y("./support"),X=Y("./base64"),Q=Y("./nodejsUtils"),B=Y("./external");function F(H){return H}function z(H,O){for(var V=0;V>8;this.dir=!!(16&this.externalFileAttributes),D==0&&(this.dosPermissions=63&this.externalFileAttributes),D==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var D=G(this.extraFields[1].value);this.uncompressedSize===X.MAX_VALUE_32BITS&&(this.uncompressedSize=D.readInt(8)),this.compressedSize===X.MAX_VALUE_32BITS&&(this.compressedSize=D.readInt(8)),this.localHeaderOffset===X.MAX_VALUE_32BITS&&(this.localHeaderOffset=D.readInt(8)),this.diskNumberStart===X.MAX_VALUE_32BITS&&(this.diskNumberStart=D.readInt(4))}},readExtraFields:function(D){var C,H,O,V=D.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});D.index+4>>6:(D<65536?k[O++]=224|D>>>12:(k[O++]=240|D>>>18,k[O++]=128|D>>>12&63),k[O++]=128|D>>>6&63),k[O++]=128|63&D);return k},J.buf2binstring=function(W){return z(W,W.length)},J.binstring2buf=function(W){for(var k=new G.Buf8(W.length),D=0,C=k.length;D>10&1023,j[C++]=56320|1023&H)}return z(j,C)},J.utf8border=function(W,k){var D;for((k=k||W.length)>W.length&&(k=W.length),D=k-1;0<=D&&(192&W[D])==128;)D--;return D<0?k:D===0?k:D+B[W[D]]>k?D:k}},{"./common":41}],43:[function(Y,Z,J){Z.exports=function(G,X,Q,B){for(var F=65535&G|0,z=G>>>16&65535|0,W=0;Q!==0;){for(Q-=W=2000>>1:X>>>1;Q[B]=X}return Q}();Z.exports=function(X,Q,B,F){var z=G,W=F+B;X^=-1;for(var k=F;k>>8^z[255&(X^Q[k])];return-1^X}},{}],46:[function(Y,Z,J){var G,X=Y("../utils/common"),Q=Y("./trees"),B=Y("./adler32"),F=Y("./crc32"),z=Y("./messages"),W=0,k=4,D=0,C=-2,H=-1,O=4,V=2,j=8,M=9,L=286,A=30,y=19,g=2*L+1,d=15,E=3,s=258,V0=s+E+1,S=42,h=113,N=1,a=2,$0=3,m=4;function J0(I,t){return I.msg=z[t],t}function U0(I){return(I<<1)-(4I.avail_out&&(T=I.avail_out),T!==0&&(X.arraySet(I.output,t.pending_buf,t.pending_out,T,I.next_out),I.next_out+=T,t.pending_out+=T,I.total_out+=T,I.avail_out-=T,t.pending-=T,t.pending===0&&(t.pending_out=0))}function _(I,t){Q._tr_flush_block(I,0<=I.block_start?I.block_start:-1,I.strstart-I.block_start,t),I.block_start=I.strstart,i(I.strm)}function r(I,t){I.pending_buf[I.pending++]=t}function n(I,t){I.pending_buf[I.pending++]=t>>>8&255,I.pending_buf[I.pending++]=255&t}function Z0(I,t){var T,K,q=I.max_chain_length,w=I.strstart,x=I.prev_length,l=I.nice_match,u=I.strstart>I.w_size-V0?I.strstart-(I.w_size-V0):0,Q0=I.window,q0=I.w_mask,K0=I.prev,M0=I.strstart+s,w0=Q0[w+x-1],H0=Q0[w+x];I.prev_length>=I.good_match&&(q>>=2),l>I.lookahead&&(l=I.lookahead);do if(Q0[(T=t)+x]===H0&&Q0[T+x-1]===w0&&Q0[T]===Q0[w]&&Q0[++T]===Q0[w+1]){w+=2,T++;do;while(Q0[++w]===Q0[++T]&&Q0[++w]===Q0[++T]&&Q0[++w]===Q0[++T]&&Q0[++w]===Q0[++T]&&Q0[++w]===Q0[++T]&&Q0[++w]===Q0[++T]&&Q0[++w]===Q0[++T]&&Q0[++w]===Q0[++T]&&wu&&--q!=0);return x<=I.lookahead?x:I.lookahead}function p(I){var t,T,K,q,w,x,l,u,Q0,q0,K0=I.w_size;do{if(q=I.window_size-I.lookahead-I.strstart,I.strstart>=K0+(K0-V0)){for(X.arraySet(I.window,I.window,K0,K0,0),I.match_start-=K0,I.strstart-=K0,I.block_start-=K0,t=T=I.hash_size;K=I.head[--t],I.head[t]=K0<=K?K-K0:0,--T;);for(t=T=K0;K=I.prev[--t],I.prev[t]=K0<=K?K-K0:0,--T;);q+=K0}if(I.strm.avail_in===0)break;if(x=I.strm,l=I.window,u=I.strstart+I.lookahead,Q0=q,q0=void 0,q0=x.avail_in,Q0=E)for(w=I.strstart-I.insert,I.ins_h=I.window[w],I.ins_h=(I.ins_h<=E&&(I.ins_h=(I.ins_h<=E)if(K=Q._tr_tally(I,I.strstart-I.match_start,I.match_length-E),I.lookahead-=I.match_length,I.match_length<=I.max_lazy_match&&I.lookahead>=E){for(I.match_length--;I.strstart++,I.ins_h=(I.ins_h<=E&&(I.ins_h=(I.ins_h<=E&&I.match_length<=I.prev_length){for(q=I.strstart+I.lookahead-E,K=Q._tr_tally(I,I.strstart-1-I.prev_match,I.prev_length-E),I.lookahead-=I.prev_length-1,I.prev_length-=2;++I.strstart<=q&&(I.ins_h=(I.ins_h<I.pending_buf_size-5&&(T=I.pending_buf_size-5);;){if(I.lookahead<=1){if(p(I),I.lookahead===0&&t===W)return N;if(I.lookahead===0)break}I.strstart+=I.lookahead,I.lookahead=0;var K=I.block_start+T;if((I.strstart===0||I.strstart>=K)&&(I.lookahead=I.strstart-K,I.strstart=K,_(I,!1),I.strm.avail_out===0))return N;if(I.strstart-I.block_start>=I.w_size-V0&&(_(I,!1),I.strm.avail_out===0))return N}return I.insert=0,t===k?(_(I,!0),I.strm.avail_out===0?$0:m):(I.strstart>I.block_start&&(_(I,!1),I.strm.avail_out),N)}),new c(4,4,8,4,P),new c(4,5,16,8,P),new c(4,6,32,32,P),new c(4,4,16,16,R),new c(8,16,32,32,R),new c(8,16,128,128,R),new c(8,32,128,256,R),new c(32,128,258,1024,R),new c(32,258,258,4096,R)],J.deflateInit=function(I,t){return e(I,t,j,15,8,0)},J.deflateInit2=e,J.deflateReset=b,J.deflateResetKeep=v,J.deflateSetHeader=function(I,t){return I&&I.state?I.state.wrap!==2?C:(I.state.gzhead=t,D):C},J.deflate=function(I,t){var T,K,q,w;if(!I||!I.state||5>8&255),r(K,K.gzhead.time>>16&255),r(K,K.gzhead.time>>24&255),r(K,K.level===9?2:2<=K.strategy||K.level<2?4:0),r(K,255&K.gzhead.os),K.gzhead.extra&&K.gzhead.extra.length&&(r(K,255&K.gzhead.extra.length),r(K,K.gzhead.extra.length>>8&255)),K.gzhead.hcrc&&(I.adler=F(I.adler,K.pending_buf,K.pending,0)),K.gzindex=0,K.status=69):(r(K,0),r(K,0),r(K,0),r(K,0),r(K,0),r(K,K.level===9?2:2<=K.strategy||K.level<2?4:0),r(K,3),K.status=h);else{var x=j+(K.w_bits-8<<4)<<8;x|=(2<=K.strategy||K.level<2?0:K.level<6?1:K.level===6?2:3)<<6,K.strstart!==0&&(x|=32),x+=31-x%31,K.status=h,n(K,x),K.strstart!==0&&(n(K,I.adler>>>16),n(K,65535&I.adler)),I.adler=1}if(K.status===69)if(K.gzhead.extra){for(q=K.pending;K.gzindex<(65535&K.gzhead.extra.length)&&(K.pending!==K.pending_buf_size||(K.gzhead.hcrc&&K.pending>q&&(I.adler=F(I.adler,K.pending_buf,K.pending-q,q)),i(I),q=K.pending,K.pending!==K.pending_buf_size));)r(K,255&K.gzhead.extra[K.gzindex]),K.gzindex++;K.gzhead.hcrc&&K.pending>q&&(I.adler=F(I.adler,K.pending_buf,K.pending-q,q)),K.gzindex===K.gzhead.extra.length&&(K.gzindex=0,K.status=73)}else K.status=73;if(K.status===73)if(K.gzhead.name){q=K.pending;do{if(K.pending===K.pending_buf_size&&(K.gzhead.hcrc&&K.pending>q&&(I.adler=F(I.adler,K.pending_buf,K.pending-q,q)),i(I),q=K.pending,K.pending===K.pending_buf_size)){w=1;break}w=K.gzindexq&&(I.adler=F(I.adler,K.pending_buf,K.pending-q,q)),w===0&&(K.gzindex=0,K.status=91)}else K.status=91;if(K.status===91)if(K.gzhead.comment){q=K.pending;do{if(K.pending===K.pending_buf_size&&(K.gzhead.hcrc&&K.pending>q&&(I.adler=F(I.adler,K.pending_buf,K.pending-q,q)),i(I),q=K.pending,K.pending===K.pending_buf_size)){w=1;break}w=K.gzindexq&&(I.adler=F(I.adler,K.pending_buf,K.pending-q,q)),w===0&&(K.status=103)}else K.status=103;if(K.status===103&&(K.gzhead.hcrc?(K.pending+2>K.pending_buf_size&&i(I),K.pending+2<=K.pending_buf_size&&(r(K,255&I.adler),r(K,I.adler>>8&255),I.adler=0,K.status=h)):K.status=h),K.pending!==0){if(i(I),I.avail_out===0)return K.last_flush=-1,D}else if(I.avail_in===0&&U0(t)<=U0(T)&&t!==k)return J0(I,-5);if(K.status===666&&I.avail_in!==0)return J0(I,-5);if(I.avail_in!==0||K.lookahead!==0||t!==W&&K.status!==666){var l=K.strategy===2?function(u,Q0){for(var q0;;){if(u.lookahead===0&&(p(u),u.lookahead===0)){if(Q0===W)return N;break}if(u.match_length=0,q0=Q._tr_tally(u,0,u.window[u.strstart]),u.lookahead--,u.strstart++,q0&&(_(u,!1),u.strm.avail_out===0))return N}return u.insert=0,Q0===k?(_(u,!0),u.strm.avail_out===0?$0:m):u.last_lit&&(_(u,!1),u.strm.avail_out===0)?N:a}(K,t):K.strategy===3?function(u,Q0){for(var q0,K0,M0,w0,H0=u.window;;){if(u.lookahead<=s){if(p(u),u.lookahead<=s&&Q0===W)return N;if(u.lookahead===0)break}if(u.match_length=0,u.lookahead>=E&&0u.lookahead&&(u.match_length=u.lookahead)}if(u.match_length>=E?(q0=Q._tr_tally(u,1,u.match_length-E),u.lookahead-=u.match_length,u.strstart+=u.match_length,u.match_length=0):(q0=Q._tr_tally(u,0,u.window[u.strstart]),u.lookahead--,u.strstart++),q0&&(_(u,!1),u.strm.avail_out===0))return N}return u.insert=0,Q0===k?(_(u,!0),u.strm.avail_out===0?$0:m):u.last_lit&&(_(u,!1),u.strm.avail_out===0)?N:a}(K,t):G[K.level].func(K,t);if(l!==$0&&l!==m||(K.status=666),l===N||l===$0)return I.avail_out===0&&(K.last_flush=-1),D;if(l===a&&(t===1?Q._tr_align(K):t!==5&&(Q._tr_stored_block(K,0,0,!1),t===3&&(L0(K.head),K.lookahead===0&&(K.strstart=0,K.block_start=0,K.insert=0))),i(I),I.avail_out===0))return K.last_flush=-1,D}return t!==k?D:K.wrap<=0?1:(K.wrap===2?(r(K,255&I.adler),r(K,I.adler>>8&255),r(K,I.adler>>16&255),r(K,I.adler>>24&255),r(K,255&I.total_in),r(K,I.total_in>>8&255),r(K,I.total_in>>16&255),r(K,I.total_in>>24&255)):(n(K,I.adler>>>16),n(K,65535&I.adler)),i(I),0=T.w_size&&(w===0&&(L0(T.head),T.strstart=0,T.block_start=0,T.insert=0),Q0=new X.Buf8(T.w_size),X.arraySet(Q0,t,q0-T.w_size,T.w_size,0),t=Q0,q0=T.w_size),x=I.avail_in,l=I.next_in,u=I.input,I.avail_in=q0,I.next_in=0,I.input=t,p(T);T.lookahead>=E;){for(K=T.strstart,q=T.lookahead-(E-1);T.ins_h=(T.ins_h<>>=E=d>>>24,M-=E,(E=d>>>16&255)===0)a[z++]=65535&d;else{if(!(16&E)){if((64&E)==0){d=L[(65535&d)+(j&(1<>>=E,M-=E),M<15&&(j+=N[B++]<>>=E=d>>>24,M-=E,!(16&(E=d>>>16&255))){if((64&E)==0){d=A[(65535&d)+(j&(1<>>=E,M-=E,(E=z-W)>3,j&=(1<<(M-=s<<3))-1,G.next_in=B,G.next_out=z,G.avail_in=B>>24&255)+(S>>>8&65280)+((65280&S)<<8)+((255&S)<<24)}function j(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new G.Buf16(320),this.work=new G.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function M(S){var h;return S&&S.state?(h=S.state,S.total_in=S.total_out=h.total=0,S.msg="",h.wrap&&(S.adler=1&h.wrap),h.mode=C,h.last=0,h.havedict=0,h.dmax=32768,h.head=null,h.hold=0,h.bits=0,h.lencode=h.lendyn=new G.Buf32(H),h.distcode=h.distdyn=new G.Buf32(O),h.sane=1,h.back=-1,k):D}function L(S){var h;return S&&S.state?((h=S.state).wsize=0,h.whave=0,h.wnext=0,M(S)):D}function A(S,h){var N,a;return S&&S.state?(a=S.state,h<0?(N=0,h=-h):(N=1+(h>>4),h<48&&(h&=15)),h&&(h<8||15=m.wsize?(G.arraySet(m.window,h,N-m.wsize,m.wsize,0),m.wnext=0,m.whave=m.wsize):(a<($0=m.wsize-m.wnext)&&($0=a),G.arraySet(m.window,h,N-a,$0,m.wnext),(a-=$0)?(G.arraySet(m.window,h,N-a,a,0),m.wnext=a,m.whave=m.wsize):(m.wnext+=$0,m.wnext===m.wsize&&(m.wnext=0),m.whave>>8&255,N.check=Q(N.check,w,2,0),_=i=0,N.mode=2;break}if(N.flags=0,N.head&&(N.head.done=!1),!(1&N.wrap)||(((255&i)<<8)+(i>>8))%31){S.msg="incorrect header check",N.mode=30;break}if((15&i)!=8){S.msg="unknown compression method",N.mode=30;break}if(_-=4,I=8+(15&(i>>>=4)),N.wbits===0)N.wbits=I;else if(I>N.wbits){S.msg="invalid window size",N.mode=30;break}N.dmax=1<>8&1),512&N.flags&&(w[0]=255&i,w[1]=i>>>8&255,N.check=Q(N.check,w,2,0)),_=i=0,N.mode=3;case 3:for(;_<32;){if(U0===0)break $;U0--,i+=a[m++]<<_,_+=8}N.head&&(N.head.time=i),512&N.flags&&(w[0]=255&i,w[1]=i>>>8&255,w[2]=i>>>16&255,w[3]=i>>>24&255,N.check=Q(N.check,w,4,0)),_=i=0,N.mode=4;case 4:for(;_<16;){if(U0===0)break $;U0--,i+=a[m++]<<_,_+=8}N.head&&(N.head.xflags=255&i,N.head.os=i>>8),512&N.flags&&(w[0]=255&i,w[1]=i>>>8&255,N.check=Q(N.check,w,2,0)),_=i=0,N.mode=5;case 5:if(1024&N.flags){for(;_<16;){if(U0===0)break $;U0--,i+=a[m++]<<_,_+=8}N.length=i,N.head&&(N.head.extra_len=i),512&N.flags&&(w[0]=255&i,w[1]=i>>>8&255,N.check=Q(N.check,w,2,0)),_=i=0}else N.head&&(N.head.extra=null);N.mode=6;case 6:if(1024&N.flags&&(U0<(Z0=N.length)&&(Z0=U0),Z0&&(N.head&&(I=N.head.extra_len-N.length,N.head.extra||(N.head.extra=Array(N.head.extra_len)),G.arraySet(N.head.extra,a,m,Z0,I)),512&N.flags&&(N.check=Q(N.check,a,Z0,m)),U0-=Z0,m+=Z0,N.length-=Z0),N.length))break $;N.length=0,N.mode=7;case 7:if(2048&N.flags){if(U0===0)break $;for(Z0=0;I=a[m+Z0++],N.head&&I&&N.length<65536&&(N.head.name+=String.fromCharCode(I)),I&&Z0>9&1,N.head.done=!0),S.adler=N.check=0,N.mode=12;break;case 10:for(;_<32;){if(U0===0)break $;U0--,i+=a[m++]<<_,_+=8}S.adler=N.check=V(i),_=i=0,N.mode=11;case 11:if(N.havedict===0)return S.next_out=J0,S.avail_out=L0,S.next_in=m,S.avail_in=U0,N.hold=i,N.bits=_,2;S.adler=N.check=1,N.mode=12;case 12:if(h===5||h===6)break $;case 13:if(N.last){i>>>=7&_,_-=7&_,N.mode=27;break}for(;_<3;){if(U0===0)break $;U0--,i+=a[m++]<<_,_+=8}switch(N.last=1&i,_-=1,3&(i>>>=1)){case 0:N.mode=14;break;case 1:if(s(N),N.mode=20,h!==6)break;i>>>=2,_-=2;break $;case 2:N.mode=17;break;case 3:S.msg="invalid block type",N.mode=30}i>>>=2,_-=2;break;case 14:for(i>>>=7&_,_-=7&_;_<32;){if(U0===0)break $;U0--,i+=a[m++]<<_,_+=8}if((65535&i)!=(i>>>16^65535)){S.msg="invalid stored block lengths",N.mode=30;break}if(N.length=65535&i,_=i=0,N.mode=15,h===6)break $;case 15:N.mode=16;case 16:if(Z0=N.length){if(U0>>=5,_-=5,N.ndist=1+(31&i),i>>>=5,_-=5,N.ncode=4+(15&i),i>>>=4,_-=4,286>>=3,_-=3}for(;N.have<19;)N.lens[x[N.have++]]=0;if(N.lencode=N.lendyn,N.lenbits=7,T={bits:N.lenbits},t=F(0,N.lens,0,19,N.lencode,0,N.work,T),N.lenbits=T.bits,t){S.msg="invalid code lengths set",N.mode=30;break}N.have=0,N.mode=19;case 19:for(;N.have>>16&255,f=65535&q,!((R=q>>>24)<=_);){if(U0===0)break $;U0--,i+=a[m++]<<_,_+=8}if(f<16)i>>>=R,_-=R,N.lens[N.have++]=f;else{if(f===16){for(K=R+2;_>>=R,_-=R,N.have===0){S.msg="invalid bit length repeat",N.mode=30;break}I=N.lens[N.have-1],Z0=3+(3&i),i>>>=2,_-=2}else if(f===17){for(K=R+3;_>>=R)),i>>>=3,_-=3}else{for(K=R+7;_>>=R)),i>>>=7,_-=7}if(N.have+Z0>N.nlen+N.ndist){S.msg="invalid bit length repeat",N.mode=30;break}for(;Z0--;)N.lens[N.have++]=I}}if(N.mode===30)break;if(N.lens[256]===0){S.msg="invalid code -- missing end-of-block",N.mode=30;break}if(N.lenbits=9,T={bits:N.lenbits},t=F(z,N.lens,0,N.nlen,N.lencode,0,N.work,T),N.lenbits=T.bits,t){S.msg="invalid literal/lengths set",N.mode=30;break}if(N.distbits=6,N.distcode=N.distdyn,T={bits:N.distbits},t=F(W,N.lens,N.nlen,N.ndist,N.distcode,0,N.work,T),N.distbits=T.bits,t){S.msg="invalid distances set",N.mode=30;break}if(N.mode=20,h===6)break $;case 20:N.mode=21;case 21:if(6<=U0&&258<=L0){S.next_out=J0,S.avail_out=L0,S.next_in=m,S.avail_in=U0,N.hold=i,N.bits=_,B(S,n),J0=S.next_out,$0=S.output,L0=S.avail_out,m=S.next_in,a=S.input,U0=S.avail_in,i=N.hold,_=N.bits,N.mode===12&&(N.back=-1);break}for(N.back=0;c=(q=N.lencode[i&(1<>>16&255,f=65535&q,!((R=q>>>24)<=_);){if(U0===0)break $;U0--,i+=a[m++]<<_,_+=8}if(c&&(240&c)==0){for(v=R,b=c,e=f;c=(q=N.lencode[e+((i&(1<>v)])>>>16&255,f=65535&q,!(v+(R=q>>>24)<=_);){if(U0===0)break $;U0--,i+=a[m++]<<_,_+=8}i>>>=v,_-=v,N.back+=v}if(i>>>=R,_-=R,N.back+=R,N.length=f,c===0){N.mode=26;break}if(32&c){N.back=-1,N.mode=12;break}if(64&c){S.msg="invalid literal/length code",N.mode=30;break}N.extra=15&c,N.mode=22;case 22:if(N.extra){for(K=N.extra;_>>=N.extra,_-=N.extra,N.back+=N.extra}N.was=N.length,N.mode=23;case 23:for(;c=(q=N.distcode[i&(1<>>16&255,f=65535&q,!((R=q>>>24)<=_);){if(U0===0)break $;U0--,i+=a[m++]<<_,_+=8}if((240&c)==0){for(v=R,b=c,e=f;c=(q=N.distcode[e+((i&(1<>v)])>>>16&255,f=65535&q,!(v+(R=q>>>24)<=_);){if(U0===0)break $;U0--,i+=a[m++]<<_,_+=8}i>>>=v,_-=v,N.back+=v}if(i>>>=R,_-=R,N.back+=R,64&c){S.msg="invalid distance code",N.mode=30;break}N.offset=f,N.extra=15&c,N.mode=24;case 24:if(N.extra){for(K=N.extra;_>>=N.extra,_-=N.extra,N.back+=N.extra}if(N.offset>N.dmax){S.msg="invalid distance too far back",N.mode=30;break}N.mode=25;case 25:if(L0===0)break $;if(Z0=n-L0,N.offset>Z0){if((Z0=N.offset-Z0)>N.whave&&N.sane){S.msg="invalid distance too far back",N.mode=30;break}p=Z0>N.wnext?(Z0-=N.wnext,N.wsize-Z0):N.wnext-Z0,Z0>N.length&&(Z0=N.length),P=N.window}else P=$0,p=J0-N.offset,Z0=N.length;for(L0g?(E=p[P+O[h]],_[r+O[h]]):(E=96,0),j=1<>J0)+(M-=j)]=d<<24|E<<16|s|0,M!==0;);for(j=1<>=1;if(j!==0?(i&=j-1,i+=j):i=0,h++,--n[S]==0){if(S===a)break;S=W[k+O[h]]}if($0>>7)]}function r(q,w){q.pending_buf[q.pending++]=255&w,q.pending_buf[q.pending++]=w>>>8&255}function n(q,w,x){q.bi_valid>V-x?(q.bi_buf|=w<>V-q.bi_valid,q.bi_valid+=x-V):(q.bi_buf|=w<>>=1,x<<=1,0<--w;);return x>>>1}function P(q,w,x){var l,u,Q0=Array(O+1),q0=0;for(l=1;l<=O;l++)Q0[l]=q0=q0+x[l-1]<<1;for(u=0;u<=w;u++){var K0=q[2*u+1];K0!==0&&(q[2*u]=p(Q0[K0]++,K0))}}function R(q){var w;for(w=0;w>1;1<=x;x--)v(q,Q0,x);for(u=M0;x=q.heap[1],q.heap[1]=q.heap[q.heap_len--],v(q,Q0,1),l=q.heap[1],q.heap[--q.heap_max]=x,q.heap[--q.heap_max]=l,Q0[2*u]=Q0[2*x]+Q0[2*l],q.depth[u]=(q.depth[x]>=q.depth[l]?q.depth[x]:q.depth[l])+1,Q0[2*x+1]=Q0[2*l+1]=u,q.heap[1]=u++,v(q,Q0,1),2<=q.heap_len;);q.heap[--q.heap_max]=q.heap[1],function(H0,v0){var j2,l0,t2,D0,A1,z8,K2=v0.dyn_tree,NU=v0.max_code,H7=v0.stat_desc.static_tree,j7=v0.stat_desc.has_stree,z7=v0.stat_desc.extra_bits,RU=v0.stat_desc.extra_base,e2=v0.stat_desc.max_length,P1=0;for(D0=0;D0<=O;D0++)H0.bl_count[D0]=0;for(K2[2*H0.heap[H0.heap_max]+1]=0,j2=H0.heap_max+1;j2>=7;u>>=1)if(1&w0&&K0.dyn_ltree[2*M0]!==0)return X;if(K0.dyn_ltree[18]!==0||K0.dyn_ltree[20]!==0||K0.dyn_ltree[26]!==0)return Q;for(M0=32;M0>>3,(Q0=q.static_len+3+7>>>3)<=u&&(u=Q0)):u=Q0=x+5,x+4<=u&&w!==-1?K(q,w,x,l):q.strategy===4||Q0===u?(n(q,2+(l?1:0),3),b(q,V0,S)):(n(q,4+(l?1:0),3),function(K0,M0,w0,H0){var v0;for(n(K0,M0-257,5),n(K0,w0-1,5),n(K0,H0-4,4),v0=0;v0>>8&255,q.pending_buf[q.d_buf+2*q.last_lit+1]=255&w,q.pending_buf[q.l_buf+q.last_lit]=255&x,q.last_lit++,w===0?q.dyn_ltree[2*x]++:(q.matches++,w--,q.dyn_ltree[2*(N[x]+W+1)]++,q.dyn_dtree[2*_(w)]++),q.last_lit===q.lit_bufsize-1},J._tr_align=function(q){n(q,2,3),Z0(q,M,V0),function(w){w.bi_valid===16?(r(w,w.bi_buf),w.bi_buf=0,w.bi_valid=0):8<=w.bi_valid&&(w.pending_buf[w.pending++]=255&w.bi_buf,w.bi_buf>>=8,w.bi_valid-=8)}(q)}},{"../utils/common":41}],53:[function(Y,Z,J){Z.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(Y,Z,J){(function(G){(function(X,Q){if(!X.setImmediate){var B,F,z,W,k=1,D={},C=!1,H=X.document,O=Object.getPrototypeOf&&Object.getPrototypeOf(X);O=O&&O.setTimeout?O:X,B={}.toString.call(X.process)==="[object process]"?function(L){j0.nextTick(function(){j(L)})}:function(){if(X.postMessage&&!X.importScripts){var L=!0,A=X.onmessage;return X.onmessage=function(){L=!1},X.postMessage("","*"),X.onmessage=A,L}}()?(W="setImmediate$"+Math.random()+"$",X.addEventListener?X.addEventListener("message",M,!1):X.attachEvent("onmessage",M),function(L){X.postMessage(W+L,"*")}):X.MessageChannel?((z=new MessageChannel).port1.onmessage=function(L){j(L.data)},function(L){z.port2.postMessage(L)}):H&&("onreadystatechange"in H.createElement("script"))?(F=H.documentElement,function(L){var A=H.createElement("script");A.onreadystatechange=function(){j(L),A.onreadystatechange=null,F.removeChild(A),A=null},F.appendChild(A)}):function(L){setTimeout(j,0,L)},O.setImmediate=function(L){typeof L!="function"&&(L=Function(""+L));for(var A=Array(arguments.length-1),y=0;y"u"?G===void 0?this:G:self)}).call(this,typeof c0<"u"?c0:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})}(I9),I9.exports}var YB=UB(),c2=g9(YB),Z1={exports:{}},w9,dZ;function ZB(){if(dZ)return w9;dZ=1;var $={"&":"&",'"':""","'":"'","<":"<",">":">"};function U(Y){return Y&&Y.replace?Y.replace(/([&"<>'])/g,function(Z,J){return $[J]}):Y}return w9=U,w9}var cZ;function QB(){if(cZ)return Z1.exports;cZ=1;var $=ZB(),U=m9().Stream,Y=" ";function Z(F,z){if(typeof z!=="object")z={indent:z};var W=z.stream?new U:null,k="",D=!1,C=!z.indent?"":z.indent===!0?Y:z.indent,H=!0;function O(A){if(!H)A();else j0.nextTick(A)}function V(A,y){if(y!==void 0)k+=y;if(A&&!D)W=W||new U,D=!0;if(A&&D){var g=k;O(function(){W.emit("data",g)}),k=""}}function j(A,y){Q(V,X(A,C,C?1:0),y)}function M(){if(W){var A=k;O(function(){W.emit("data",A),W.emit("end"),W.readable=!1,W.emit("close")})}}function L(A){var y=A.encoding||"UTF-8",g={version:"1.0",encoding:y};if(A.standalone)g.standalone=A.standalone;j({"?xml":{_attr:g}}),k=k.replace("/>","?>")}if(O(function(){H=!1}),z.declaration)L(z.declaration);if(F&&F.forEach)F.forEach(function(A,y){var g;if(y+1===F.length)g=M;j(A,g)});else j(F,M);if(W)return W.readable=!0,W;return k}function J(){var F=Array.prototype.slice.call(arguments),z={_elem:X(F)};return z.push=function(W){if(!this.append)throw Error("not assigned to a parent!");var k=this,D=this._elem.indent;Q(this.append,X(W,D,this._elem.icount+(D?1:0)),function(){k.append(!0)})},z.close=function(W){if(W!==void 0)this.push(W);if(this.end)this.end()},z}function G(F,z){return Array(z||0).join(F||"")}function X(F,z,W){W=W||0;var k=G(z,W),D,C=F,H=!1;if(typeof F==="object"){var O=Object.keys(F);if(D=O[0],C=F[D],C&&C._elem)return C._elem.name=D,C._elem.icount=W,C._elem.indent=z,C._elem.indents=k,C._elem.interrupt=C,C._elem}var V=[],j=[],M;function L(A){var y=Object.keys(A);y.forEach(function(g){V.push(B(g,A[g]))})}switch(typeof C){case"object":if(C===null)break;if(C._attr)L(C._attr);if(C._cdata)j.push(("/g,"]]]]>")+"]]>");if(C.forEach){if(M=!1,j.push(""),C.forEach(function(A){if(typeof A=="object"){var y=Object.keys(A)[0];if(y=="_attr")L(A._attr);else j.push(X(A,z,W+1))}else j.pop(),M=!0,j.push($(A))}),!M)j.push("")}break;default:j.push($(C))}return{name:D,interrupt:H,attributes:V,content:j,icount:W,indents:k,indent:z}}function Q(F,z,W){if(typeof z!="object")return F(!1,z);var k=z.interrupt?1:z.content.length;function D(){while(z.content.length){var H=z.content.shift();if(H===void 0)continue;if(C(H))return;Q(F,H)}if(F(!1,(k>1?z.indents:"")+(z.name?"":"")+(z.indent&&!W?` -`:"")),W)W()}function C(H){if(H.interrupt)return H.interrupt.append=F,H.interrupt.end=D,H.interrupt=!1,F(!0),!0;return!1}if(F(!1,z.indents+(z.name?"<"+z.name:"")+(z.attributes.length?" "+z.attributes.join(" "):"")+(k?z.name?">":"":z.name?"/>":"")+(z.indent&&k>1?` -`:"")),!k)return F(!1,z.indent?` -`:"");if(!C(z))D()}function B(F,z){return F+'="'+$(z)+'"'}return Z1.exports=Z,Z1.exports.element=Z1.exports.Element=J,Z1.exports}var JB=QB(),F0=g9(JB),Q1=0,W9=32,GB=32,KB=($,U)=>{let Y=U.replace(/-/g,"");if(Y.length!==GB)throw Error(`Error: Cannot extract GUID from font filename: ${U}`);let J=Y.replace(/(..)/g,"$1 ").trim().split(" ").map((B)=>parseInt(B,16));J.reverse();let X=$.slice(Q1,W9).map((B,F)=>B^J[F%J.length]),Q=new Uint8Array(Q1+X.length+Math.max(0,$.length-W9));return Q.set($.slice(0,Q1)),Q.set(X,Q1),Q.set($.slice(W9),Q1+X.length),Q};class H8{format($,U={stack:[]}){let Y=$.prepForXml(U);if(Y)return Y;else throw Error("XMLComponent did not format correctly")}}class jU{replace($,U,Y){let Z=$;return U.forEach((J,G)=>{Z=Z.replace(new RegExp(`{${J.fileName}}`,"g"),(Y+G).toString())}),Z}getMediaData($,U){return U.Array.filter((Y)=>$.search(`{${Y.fileName}}`)>0)}}class K7{replace($,U){let Y=$;for(let Z of U)Y=Y.replace(new RegExp(`{${Z.reference}-${Z.instance}}`,"g"),Z.numId.toString());return Y}}class q7{constructor(){Y0(this,"formatter"),Y0(this,"imageReplacer"),Y0(this,"numberingReplacer"),this.formatter=new H8,this.imageReplacer=new jU,this.numberingReplacer=new K7}compile($,U,Y=[]){let Z=new c2,J=this.xmlifyFile($,U),G=new Map(Object.entries(J));for(let[,X]of G)if(Array.isArray(X))for(let Q of X)Z.file(Q.path,X1(Q.data));else Z.file(X.path,X1(X.data));for(let X of Y)Z.file(X.path,X1(X.data));for(let X of $.Media.Array)if(X.type!=="svg")Z.file(`word/media/${X.fileName}`,X.data);else Z.file(`word/media/${X.fileName}`,X.data),Z.file(`word/media/${X.fallback.fileName}`,X.fallback.data);for(let{data:X,name:Q,fontKey:B}of $.FontTable.fontOptionsWithKey){let[F]=Q.split(".");Z.file(`word/fonts/${F}.odttf`,KB(X,B))}return Z}xmlifyFile($,U){let Y=$.Document.Relationships.RelationshipCount+1,Z=F0(this.formatter.format($.Document.View,{viewWrapper:$.Document,file:$,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),J=$.Comments.Relationships.RelationshipCount+1,G=F0(this.formatter.format($.Comments,{viewWrapper:{View:$.Comments,Relationships:$.Comments.Relationships},file:$,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),X=$.FootNotes.Relationships.RelationshipCount+1,Q=F0(this.formatter.format($.FootNotes.View,{viewWrapper:$.FootNotes,file:$,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),B=this.imageReplacer.getMediaData(Z,$.Media),F=this.imageReplacer.getMediaData(G,$.Media),z=this.imageReplacer.getMediaData(Q,$.Media);return{Relationships:{data:(()=>{return B.forEach((W,k)=>{$.Document.Relationships.addRelationship(Y+k,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${W.fileName}`)}),$.Document.Relationships.addRelationship($.Document.Relationships.RelationshipCount+1,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable","fontTable.xml"),F0(this.formatter.format($.Document.Relationships,{viewWrapper:$.Document,file:$,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}})})(),path:"word/_rels/document.xml.rels"},Document:{data:(()=>{let W=this.imageReplacer.replace(Z,B,Y);return this.numberingReplacer.replace(W,$.Numbering.ConcreteNumbering)})(),path:"word/document.xml"},Styles:{data:(()=>{let W=F0(this.formatter.format($.Styles,{viewWrapper:$.Document,file:$,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}});return this.numberingReplacer.replace(W,$.Numbering.ConcreteNumbering)})(),path:"word/styles.xml"},Properties:{data:F0(this.formatter.format($.CoreProperties,{viewWrapper:$.Document,file:$,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),path:"docProps/core.xml"},Numbering:{data:F0(this.formatter.format($.Numbering,{viewWrapper:$.Document,file:$,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),path:"word/numbering.xml"},FileRelationships:{data:F0(this.formatter.format($.FileRelationships,{viewWrapper:$.Document,file:$,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),path:"_rels/.rels"},HeaderRelationships:$.Headers.map((W,k)=>{let D=F0(this.formatter.format(W.View,{viewWrapper:W,file:$,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}});return this.imageReplacer.getMediaData(D,$.Media).forEach((H,O)=>{W.Relationships.addRelationship(O,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${H.fileName}`)}),{data:F0(this.formatter.format(W.Relationships,{viewWrapper:W,file:$,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),path:`word/_rels/header${k+1}.xml.rels`}}),FooterRelationships:$.Footers.map((W,k)=>{let D=F0(this.formatter.format(W.View,{viewWrapper:W,file:$,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}});return this.imageReplacer.getMediaData(D,$.Media).forEach((H,O)=>{W.Relationships.addRelationship(O,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${H.fileName}`)}),{data:F0(this.formatter.format(W.Relationships,{viewWrapper:W,file:$,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),path:`word/_rels/footer${k+1}.xml.rels`}}),Headers:$.Headers.map((W,k)=>{let D=F0(this.formatter.format(W.View,{viewWrapper:W,file:$,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),C=this.imageReplacer.getMediaData(D,$.Media),H=this.imageReplacer.replace(D,C,0);return{data:this.numberingReplacer.replace(H,$.Numbering.ConcreteNumbering),path:`word/header${k+1}.xml`}}),Footers:$.Footers.map((W,k)=>{let D=F0(this.formatter.format(W.View,{viewWrapper:W,file:$,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),C=this.imageReplacer.getMediaData(D,$.Media),H=this.imageReplacer.replace(D,C,0);return{data:this.numberingReplacer.replace(H,$.Numbering.ConcreteNumbering),path:`word/footer${k+1}.xml`}}),ContentTypes:{data:F0(this.formatter.format($.ContentTypes,{viewWrapper:$.Document,file:$,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),path:"[Content_Types].xml"},CustomProperties:{data:F0(this.formatter.format($.CustomProperties,{viewWrapper:$.Document,file:$,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),path:"docProps/custom.xml"},AppProperties:{data:F0(this.formatter.format($.AppProperties,{viewWrapper:$.Document,file:$,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),path:"docProps/app.xml"},FootNotes:{data:(()=>{let W=this.imageReplacer.replace(Q,z,X);return this.numberingReplacer.replace(W,$.Numbering.ConcreteNumbering)})(),path:"word/footnotes.xml"},FootNotesRelationships:{data:(()=>{return z.forEach((W,k)=>{$.FootNotes.Relationships.addRelationship(X+k,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${W.fileName}`)}),F0(this.formatter.format($.FootNotes.Relationships,{viewWrapper:$.FootNotes,file:$,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}})})(),path:"word/_rels/footnotes.xml.rels"},Endnotes:{data:F0(this.formatter.format($.Endnotes.View,{viewWrapper:$.Endnotes,file:$,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),path:"word/endnotes.xml"},EndnotesRelationships:{data:F0(this.formatter.format($.Endnotes.Relationships,{viewWrapper:$.Endnotes,file:$,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),path:"word/_rels/endnotes.xml.rels"},Settings:{data:F0(this.formatter.format($.Settings,{viewWrapper:$.Document,file:$,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),path:"word/settings.xml"},Comments:{data:(()=>{let W=this.imageReplacer.replace(G,F,J);return this.numberingReplacer.replace(W,$.Numbering.ConcreteNumbering)})(),path:"word/comments.xml"},CommentsRelationships:{data:(()=>{return F.forEach((W,k)=>{$.Comments.Relationships.addRelationship(J+k,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${W.fileName}`)}),F0(this.formatter.format($.Comments.Relationships,{viewWrapper:{View:$.Comments,Relationships:$.Comments.Relationships},file:$,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}})})(),path:"word/_rels/comments.xml.rels"},FontTable:{data:F0(this.formatter.format($.FontTable.View,{viewWrapper:$.Document,file:$,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),path:"word/fontTable.xml"},FontTableRelationships:{data:(()=>F0(this.formatter.format($.FontTable.Relationships,{viewWrapper:$.Document,file:$,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}))(),path:"word/_rels/fontTable.xml.rels"}}}}var X7={NONE:"",WITH_2_BLANKS:" ",WITH_4_BLANKS:" ",WITH_TAB:"\t"},mZ=($)=>$===!0?X7.WITH_2_BLANKS:$===!1?void 0:$,V7=class ${static pack(U,Y,Z){return b9(this,arguments,function*(J,G,X,Q=[]){return this.compiler.compile(J,mZ(X),Q).generateAsync({type:G,mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",compression:"DEFLATE"})})}static toString(U,Y,Z=[]){return $.pack(U,"string",Y,Z)}static toBuffer(U,Y,Z=[]){return $.pack(U,"nodebuffer",Y,Z)}static toBase64String(U,Y,Z=[]){return $.pack(U,"base64",Y,Z)}static toBlob(U,Y,Z=[]){return $.pack(U,"blob",Y,Z)}static toArrayBuffer(U,Y,Z=[]){return $.pack(U,"arraybuffer",Y,Z)}static toStream(U,Y,Z=[]){let J=new $B.Stream;return this.compiler.compile(U,mZ(Y),Z).generateAsync({type:"nodebuffer",mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",compression:"DEFLATE"}).then((X)=>{J.emit("data",X),J.emit("end")}),J}};Y0(V7,"compiler",new q7);var qB=V7,XB=new H8,j8=($)=>{return $8.xml2js($,{compact:!1,captureSpacesBetweenElements:!0})},B7=($)=>{var U;return(U=j8(F0(XB.format(new a2({text:$})))).elements[0].elements)!=null?U:[]},L7=($)=>R0(W0({},$),{attributes:{"xml:space":"preserve"}}),zU=($,U)=>{var Y,Z;return(Z=(Y=$.elements)==null?void 0:Y.filter((J)=>J.name===U)[0].elements)!=null?Z:[]},h2=($,U,Y)=>{let Z=zU($,"Types");if(Z.some((G)=>{var X,Q;return G.type==="element"&&G.name==="Default"&&((X=G==null?void 0:G.attributes)==null?void 0:X.ContentType)===U&&((Q=G==null?void 0:G.attributes)==null?void 0:Q.Extension)===Y}))return;Z.push({attributes:{ContentType:U,Extension:Y},name:"Default",type:"element"})},VB=($)=>{let U=parseInt($.substring(3),10);return isNaN(U)?0:U},BB=($)=>{return zU($,"Relationships").map((Y)=>{var Z,J,G;return VB((G=(J=(Z=Y.attributes)==null?void 0:Z.Id)==null?void 0:J.toString())!=null?G:"")}).reduce((Y,Z)=>Math.max(Y,Z),0)+1},lZ=($,U,Y,Z,J)=>{let G=zU($,"Relationships");return G.push({attributes:{Id:`rId${U}`,Type:Y,Target:Z,TargetMode:J},name:"Relationship",type:"element"}),G};class M7 extends Error{constructor($){super(`Token ${$} not found`);this.name="TokenNotFoundError"}}var LB=($,U)=>{var Y,Z,J,G;for(let X=0;X<((Y=$.elements)!=null?Y:[]).length;X++){let Q=$.elements[X];if(Q.type==="element"&&Q.name==="w:r"){let B=((Z=Q.elements)!=null?Z:[]).filter((F)=>F.type==="element"&&F.name==="w:t");for(let F of B){if(!((J=F.elements)==null?void 0:J[0]))continue;if((G=F.elements[0].text)==null?void 0:G.includes(U))return X}}}throw new M7(U)},MB=($,U)=>{var Y,Z;let J=-1,G=(Z=(Y=$.elements)==null?void 0:Y.map((B,F)=>{var z,W,k;if(J!==-1)return B;if(B.type==="element"&&B.name==="w:t"){let C=((k=(W=(z=B.elements)==null?void 0:z[0])==null?void 0:W.text)!=null?k:"").split(U),H=C.map((O)=>R0(W0(W0({},B),L7(B)),{elements:B7(O)}));if(C.length>1)J=F;return H}else return B}).flat())!=null?Z:[],X=R0(W0({},JSON.parse(JSON.stringify($))),{elements:G.slice(0,J+1)}),Q=R0(W0({},JSON.parse(JSON.stringify($))),{elements:G.slice(J+1)});return{left:X,right:Q}},J1={START:0,MIDDLE:1,END:2},IB=({paragraphElement:$,renderedParagraph:U,originalText:Y,replacementText:Z})=>{let J=U.text.indexOf(Y),G=J+Y.length-1,X=J1.START;for(let Q of U.runs)for(let{text:B,index:F,start:z,end:W}of Q.parts)switch(X){case J1.START:if(J>=z&&J<=W){let k=J-z,D=Math.min(G,W)-z,C=Q.text.substring(k,D+1);if(C==="")continue;let H=B.replace(C,Z);H9($.elements[Q.index].elements[F],H),X=J1.MIDDLE;continue}break;case J1.MIDDLE:if(G<=W){let k=B.substring(G-z+1);H9($.elements[Q.index].elements[F],k);let D=$.elements[Q.index].elements[F];$.elements[Q.index].elements[F]=L7(D),X=J1.END}else H9($.elements[Q.index].elements[F],"");break}return $},H9=($,U)=>{return $.elements=B7(U),$},wB=($)=>{if($.element.name!=="w:p")throw Error(`Invalid node type: ${$.element.name}`);if(!$.element.elements)return{text:"",runs:[],index:-1,pathToParagraph:[]};let U=0,Y=$.element.elements.map((J,G)=>({element:J,i:G})).filter(({element:J})=>J.name==="w:r").map(({element:J,i:G})=>{let X=WB(J,G,U);return U+=X.text.length,X}).filter((J)=>!!J);return{text:Y.reduce((J,G)=>J+G.text,""),runs:Y,index:$.index,pathToParagraph:I7($)}},WB=($,U,Y)=>{if(!$.elements)return{text:"",parts:[],index:-1,start:Y,end:Y};let Z=Y,J=$.elements.map((X,Q)=>{var B,F;return X.name==="w:t"&&X.elements&&X.elements.length>0?{text:(F=(B=X.elements[0].text)==null?void 0:B.toString())!=null?F:"",index:Q,start:Z,end:(()=>{var z,W;return Z+=((W=(z=X.elements[0].text)==null?void 0:z.toString())!=null?W:"").length-1,Z})()}:void 0}).filter((X)=>!!X).map((X)=>X);return{text:J.reduce((X,Q)=>X+Q.text,""),parts:J,index:U,start:Y,end:Z}},I7=($)=>$.parent?[...I7($.parent),$.index]:[$.index],aZ=($)=>{var U,Y;return(Y=(U=$.element.elements)==null?void 0:U.map((Z,J)=>({element:Z,index:J,parent:$})))!=null?Y:[]},w7=($)=>{let U=[],Y=[...aZ({element:$,index:0,parent:void 0})],Z;while(Y.length>0){if(Z=Y.shift(),Z.element.name==="w:p")U=[...U,wB(Z)];Y.push(...aZ(Z))}return U},HB=($,U)=>w7($).filter((Y)=>Y.text.includes(U)),jB=new H8,j9="ɵ",zB=({json:$,patch:U,patchText:Y,context:Z,keepOriginalStyles:J=!0})=>{let G=HB($,Y);if(G.length===0)return{element:$,didFindOccurrence:!1};for(let X of G){let Q=U.children.map((B)=>j8(F0(jB.format(B,Z)))).map((B)=>B.elements[0]);switch(U.type){case y9.DOCUMENT:{let B=FB($,X.pathToParagraph),F=NB(X.pathToParagraph);B.elements.splice(F,1,...Q);break}case y9.PARAGRAPH:default:{let B=W7($,X.pathToParagraph);IB({paragraphElement:B,renderedParagraph:X,originalText:Y,replacementText:j9});let F=LB(B,j9),z=B.elements[F],{left:W,right:k}=MB(z,j9),D=Q,C=k;if(J){let H=z.elements.filter((O)=>O.type==="element"&&O.name==="w:rPr");D=Q.map((O)=>{var V;return R0(W0({},O),{elements:[...H,...(V=O.elements)!=null?V:[]]})}),C=R0(W0({},k),{elements:[...H,...k.elements]})}B.elements.splice(F,1,W,...D,C);break}}}return{element:$,didFindOccurrence:!0}},W7=($,U)=>{let Y=$;for(let Z=1;ZW7($,U.slice(0,U.length-1)),NB=($)=>$[$.length-1],y9={DOCUMENT:"file",PARAGRAPH:"paragraph"},pZ=new jU,RB=new Uint8Array([255,254]),DB=new Uint8Array([254,255]),iZ=($,U)=>{if($.length!==U.length)return!1;for(let Y=0;Y<$.length;Y++)if($[Y]!==U[Y])return!1;return!0},AB=($)=>b9(null,[$],function*({outputType:U,data:Y,patches:Z,keepOriginalStyles:J,placeholderDelimiters:G={start:"{{",end:"}}"},recursive:X=!0}){var Q,B,F;let z=Y instanceof c2?Y:yield c2.loadAsync(Y),W=new Map,k={Media:new w8},D=new Map,C=[],H=[],O=!1,V=new Map;for(let[M,L]of Object.entries(z.files)){let A=yield L.async("uint8array"),y=A.slice(0,2);if(iZ(y,RB)||iZ(y,DB)){V.set(M,A);continue}if(!M.endsWith(".xml")&&!M.endsWith(".rels")){V.set(M,A);continue}let g=j8(yield L.async("text"));if(M==="word/document.xml"){let d=(Q=g.elements)==null?void 0:Q.find((E)=>E.name==="w:document");if(d&&d.attributes){for(let E of["mc","wp","r","w15","m"])d.attributes[`xmlns:${E}`]=p1[E];d.attributes["mc:Ignorable"]=`${d.attributes["mc:Ignorable"]||""} w15`.trim()}}if(M.startsWith("word/")&&!M.endsWith(".xml.rels")){let d={file:k,viewWrapper:{Relationships:{addRelationship:(S,h,N,a)=>{H.push({key:M,hyperlink:{id:S,link:N}})}}},stack:[]};if(W.set(M,d),!(G==null?void 0:G.start.trim())||!(G==null?void 0:G.end.trim()))throw Error("Both start and end delimiters must be non-empty strings.");let{start:E,end:s}=G;for(let[S,h]of Object.entries(Z)){let N=`${E}${S}${s}`;while(!0){let{didFindOccurrence:a}=zB({json:g,patch:R0(W0({},h),{children:h.children.map(($0)=>{if($0 instanceof K8){let m=new _2($0.options.children,R1());return H.push({key:M,hyperlink:{id:m.linkId,link:$0.options.link}}),m}else return $0})}),patchText:N,context:d,keepOriginalStyles:J});if(!X||!a)break}}let V0=pZ.getMediaData(JSON.stringify(g),d.file.Media);if(V0.length>0)O=!0,C.push({key:M,mediaDatas:V0})}D.set(M,g)}for(let{key:M,mediaDatas:L}of C){let A=`word/_rels/${M.split("/").pop()}.rels`,y=(B=D.get(A))!=null?B:rZ();D.set(A,y);let g=BB(y),d=pZ.replace(JSON.stringify(D.get(M)),L,g);D.set(M,JSON.parse(d));for(let E=0;E{return $8.js2xml($,{attributeValueFn:(Y)=>String(Y).replace(/&(?!amp;|lt;|gt;|quot;|apos;)/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")})},rZ=()=>({declaration:{attributes:{version:"1.0",encoding:"UTF-8",standalone:"yes"}},elements:[{type:"element",name:"Relationships",attributes:{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"},elements:[]}]}),TB=($)=>b9(null,[$],function*({data:U}){let Y=U instanceof c2?U:yield c2.loadAsync(U),Z=new Set;for(let[J,G]of Object.entries(Y.files)){if(!J.endsWith(".xml")&&!J.endsWith(".rels"))continue;if(J.startsWith("word/")&&!J.endsWith(".xml.rels")){let X=j8(yield G.async("text"));w7(X).forEach((Q)=>CB(Q.text).forEach((B)=>Z.add(B)))}}return Array.from(Z)}),CB=($)=>{var U;let Y=new RegExp("(?<=\\{\\{).+?(?=\\}\\})","gs");return(U=$.match(Y))!=null?U:[]};if(typeof globalThis.Buffer>"u")globalThis.Buffer=G0;if(typeof globalThis.process>"u")globalThis.process=OB;globalThis.__bundles=globalThis.__bundles||{};globalThis.__bundles.docx=FU;})(); +(()=>{var R5=Object.create;var{getPrototypeOf:L5,defineProperty:p1,getOwnPropertyNames:I5}=Object;var O5=Object.prototype.hasOwnProperty;function F5(B){return this[B]}var H5,W5,P5=(B,U,G)=>{var Y=B!=null&&typeof B==="object";if(Y){var Q=U?H5??=new WeakMap:W5??=new WeakMap,K=Q.get(B);if(K)return K}G=B!=null?R5(L5(B)):{};let Z=U||!B||!B.__esModule?p1(G,"default",{value:B,enumerable:!0}):G;for(let J of I5(B))if(!O5.call(Z,J))p1(Z,J,{get:F5.bind(B,J),enumerable:!0});if(Y)Q.set(B,Z);return Z};var w5=(B,U)=>()=>(U||B((U={exports:{}}).exports,U),U.exports);var A5=(B)=>B;function j5(B,U){this[B]=A5.bind(null,U)}var N5=(B,U)=>{for(var G in U)p1(B,G,{get:U[G],enumerable:!0,configurable:!0,set:j5.bind(U,G)})};var h6=w5((L7,_6)=>{var z0=_6.exports={},p0,r0;function Y8(){throw Error("setTimeout has not been defined")}function Z8(){throw Error("clearTimeout has not been defined")}(function(){try{if(typeof setTimeout==="function")p0=setTimeout;else p0=Y8}catch(B){p0=Y8}try{if(typeof clearTimeout==="function")r0=clearTimeout;else r0=Z8}catch(B){r0=Z8}})();function g6(B){if(p0===setTimeout)return setTimeout(B,0);if((p0===Y8||!p0)&&setTimeout)return p0=setTimeout,setTimeout(B,0);try{return p0(B,0)}catch(U){try{return p0.call(null,B,0)}catch(G){return p0.call(this,B,0)}}}function UU(B){if(r0===clearTimeout)return clearTimeout(B);if((r0===Z8||!r0)&&clearTimeout)return r0=clearTimeout,clearTimeout(B);try{return r0(B)}catch(U){try{return r0.call(null,B)}catch(G){return r0.call(this,B)}}}var Q2=[],b2=!1,z2,j1=-1;function GU(){if(!b2||!z2)return;if(b2=!1,z2.length)Q2=z2.concat(Q2);else j1=-1;if(Q2.length)f6()}function f6(){if(b2)return;var B=g6(GU);b2=!0;var U=Q2.length;while(U){z2=Q2,Q2=[];while(++j11)for(var G=1;G"u")O6.global=globalThis;var l0=[],h0=[],r1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(j2=0,F6=r1.length;j20)throw Error("Invalid string. Length must be a multiple of 4");var G=B.indexOf("=");if(G===-1)G=U;var Y=G===U?0:4-G%4;return[G,Y]}function E5(B,U){return(B+U)*3/4-U}function T5(B){var U,G=z5(B),Y=G[0],Q=G[1],K=new Uint8Array(E5(Y,Q)),Z=0,J=Q>0?Y-4:Y,M;for(M=0;M>16&255,K[Z++]=U>>8&255,K[Z++]=U&255;if(Q===2)U=h0[B.charCodeAt(M)]<<2|h0[B.charCodeAt(M+1)]>>4,K[Z++]=U&255;if(Q===1)U=h0[B.charCodeAt(M)]<<10|h0[B.charCodeAt(M+1)]<<4|h0[B.charCodeAt(M+2)]>>2,K[Z++]=U>>8&255,K[Z++]=U&255;return K}function D5(B){return l0[B>>18&63]+l0[B>>12&63]+l0[B>>6&63]+l0[B&63]}function C5(B,U,G){var Y,Q=[];for(var K=U;KJ?J:Z+K));if(Y===1)U=B[G-1],Q.push(l0[U>>2]+l0[U<<4&63]+"==");else if(Y===2)U=(B[G-2]<<8)+B[G-1],Q.push(l0[U>>10]+l0[U>>4&63]+l0[U<<2&63]+"=");return Q.join("")}function w1(B,U,G,Y,Q){var K,Z,J=Q*8-Y-1,M=(1<>1,I=-7,F=G?Q-1:0,D=G?-1:1,w=B[U+F];F+=D,K=w&(1<<-I)-1,w>>=-I,I+=J;for(;I>0;K=K*256+B[U+F],F+=D,I-=8);Z=K&(1<<-I)-1,K>>=-I,I+=Y;for(;I>0;Z=Z*256+B[U+F],F+=D,I-=8);if(K===0)K=1-W;else if(K===M)return Z?NaN:(w?-1:1)*(1/0);else Z=Z+Math.pow(2,Y),K=K-W;return(w?-1:1)*Z*Math.pow(2,K-Y)}function j6(B,U,G,Y,Q,K){var Z,J,M,W=K*8-Q-1,I=(1<>1,D=Q===23?Math.pow(2,-24)-Math.pow(2,-77):0,w=Y?0:K-1,P=Y?1:-1,A=U<0||U===0&&1/U<0?1:0;if(U=Math.abs(U),isNaN(U)||U===1/0)J=isNaN(U)?1:0,Z=I;else{if(Z=Math.floor(Math.log(U)/Math.LN2),U*(M=Math.pow(2,-Z))<1)Z--,M*=2;if(Z+F>=1)U+=D/M;else U+=D*Math.pow(2,1-F);if(U*M>=2)Z++,M/=2;if(Z+F>=I)J=0,Z=I;else if(Z+F>=1)J=(U*M-1)*Math.pow(2,Q),Z=Z+F;else J=U*Math.pow(2,F-1)*Math.pow(2,Q),Z=0}for(;Q>=8;B[G+w]=J&255,w+=P,J/=256,Q-=8);Z=Z<0;B[G+w]=Z&255,w+=P,Z/=256,W-=8);B[G+w-P]|=A*128}var W6=typeof Symbol==="function"&&typeof Symbol.for==="function"?Symbol.for("nodejs.util.inspect.custom"):null,k5=50,i1=2147483647;var{btoa:Z7,atob:Q7,File:J7,Blob:K7}=globalThis;function Z2(B){if(B>i1)throw RangeError('The value "'+B+'" is invalid for option "size"');let U=new Uint8Array(B);return Object.setPrototypeOf(U,J0.prototype),U}function e1(B,U,G){return class extends G{constructor(){super();Object.defineProperty(this,"message",{value:U.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${B}]`,this.stack,delete this.name}get code(){return B}set code(Y){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:Y,writable:!0})}toString(){return`${this.name} [${B}]: ${this.message}`}}}var $5=e1("ERR_BUFFER_OUT_OF_BOUNDS",function(B){if(B)return`${B} is outside of buffer bounds`;return"Attempt to access memory outside buffer bounds"},RangeError),S5=e1("ERR_INVALID_ARG_TYPE",function(B,U){return`The "${B}" argument must be of type number. Received type ${typeof U}`},TypeError),n1=e1("ERR_OUT_OF_RANGE",function(B,U,G){let Y=`The value of "${B}" is out of range.`,Q=G;if(Number.isInteger(G)&&Math.abs(G)>4294967296)Q=A6(String(G));else if(typeof G==="bigint"){if(Q=String(G),G>BigInt(2)**BigInt(32)||G<-(BigInt(2)**BigInt(32)))Q=A6(Q);Q+="n"}return Y+=` It must be ${U}. Received ${Q}`,Y},RangeError);function J0(B,U,G){if(typeof B==="number"){if(typeof U==="string")throw TypeError('The "string" argument must be of type string. Received type number');return B8(B)}return N6(B,U,G)}Object.defineProperty(J0.prototype,"parent",{enumerable:!0,get:function(){if(!J0.isBuffer(this))return;return this.buffer}});Object.defineProperty(J0.prototype,"offset",{enumerable:!0,get:function(){if(!J0.isBuffer(this))return;return this.byteOffset}});J0.poolSize=8192;function N6(B,U,G){if(typeof B==="string")return v5(B,U);if(ArrayBuffer.isView(B))return y5(B);if(B==null)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof B);if(a0(B,ArrayBuffer)||B&&a0(B.buffer,ArrayBuffer))return o1(B,U,G);if(typeof SharedArrayBuffer<"u"&&(a0(B,SharedArrayBuffer)||B&&a0(B.buffer,SharedArrayBuffer)))return o1(B,U,G);if(typeof B==="number")throw TypeError('The "value" argument must not be of type number. Received type number');let Y=B.valueOf&&B.valueOf();if(Y!=null&&Y!==B)return J0.from(Y,U,G);let Q=g5(B);if(Q)return Q;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof B[Symbol.toPrimitive]==="function")return J0.from(B[Symbol.toPrimitive]("string"),U,G);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof B)}J0.from=function(B,U,G){return N6(B,U,G)};Object.setPrototypeOf(J0.prototype,Uint8Array.prototype);Object.setPrototypeOf(J0,Uint8Array);function z6(B){if(typeof B!=="number")throw TypeError('"size" argument must be of type number');else if(B<0)throw RangeError('The value "'+B+'" is invalid for option "size"')}function b5(B,U,G){if(z6(B),B<=0)return Z2(B);if(U!==void 0)return typeof G==="string"?Z2(B).fill(U,G):Z2(B).fill(U);return Z2(B)}J0.alloc=function(B,U,G){return b5(B,U,G)};function B8(B){return z6(B),Z2(B<0?0:U8(B)|0)}J0.allocUnsafe=function(B){return B8(B)};J0.allocUnsafeSlow=function(B){return B8(B)};function v5(B,U){if(typeof U!=="string"||U==="")U="utf8";if(!J0.isEncoding(U))throw TypeError("Unknown encoding: "+U);let G=E6(B,U)|0,Y=Z2(G),Q=Y.write(B,U);if(Q!==G)Y=Y.slice(0,Q);return Y}function s1(B){let U=B.length<0?0:U8(B.length)|0,G=Z2(U);for(let Y=0;Y=i1)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i1.toString(16)+" bytes");return B|0}J0.isBuffer=function(B){return B!=null&&B._isBuffer===!0&&B!==J0.prototype};J0.compare=function(B,U){if(a0(B,Uint8Array))B=J0.from(B,B.offset,B.byteLength);if(a0(U,Uint8Array))U=J0.from(U,U.offset,U.byteLength);if(!J0.isBuffer(B)||!J0.isBuffer(U))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(B===U)return 0;let G=B.length,Y=U.length;for(let Q=0,K=Math.min(G,Y);QY.length){if(!J0.isBuffer(K))K=J0.from(K);K.copy(Y,Q)}else Uint8Array.prototype.set.call(Y,K,Q);else if(!J0.isBuffer(K))throw TypeError('"list" argument must be an Array of Buffers');else K.copy(Y,Q);Q+=K.length}return Y};function E6(B,U){if(J0.isBuffer(B))return B.length;if(ArrayBuffer.isView(B)||a0(B,ArrayBuffer))return B.byteLength;if(typeof B!=="string")throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof B);let G=B.length,Y=arguments.length>2&&arguments[2]===!0;if(!Y&&G===0)return 0;let Q=!1;for(;;)switch(U){case"ascii":case"latin1":case"binary":return G;case"utf8":case"utf-8":return t1(B).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return G*2;case"hex":return G>>>1;case"base64":return y6(B).length;default:if(Q)return Y?-1:t1(B).length;U=(""+U).toLowerCase(),Q=!0}}J0.byteLength=E6;function f5(B,U,G){let Y=!1;if(U===void 0||U<0)U=0;if(U>this.length)return"";if(G===void 0||G>this.length)G=this.length;if(G<=0)return"";if(G>>>=0,U>>>=0,G<=U)return"";if(!B)B="utf8";while(!0)switch(B){case"hex":return p5(this,U,G);case"utf8":case"utf-8":return D6(this,U,G);case"ascii":return l5(this,U,G);case"latin1":case"binary":return a5(this,U,G);case"base64":return c5(this,U,G);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r5(this,U,G);default:if(Y)throw TypeError("Unknown encoding: "+B);B=(B+"").toLowerCase(),Y=!0}}J0.prototype._isBuffer=!0;function N2(B,U,G){let Y=B[U];B[U]=B[G],B[G]=Y}J0.prototype.swap16=function(){let B=this.length;if(B%2!==0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let U=0;UU)B+=" ... ";return""};if(W6)J0.prototype[W6]=J0.prototype.inspect;J0.prototype.compare=function(B,U,G,Y,Q){if(a0(B,Uint8Array))B=J0.from(B,B.offset,B.byteLength);if(!J0.isBuffer(B))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof B);if(U===void 0)U=0;if(G===void 0)G=B?B.length:0;if(Y===void 0)Y=0;if(Q===void 0)Q=this.length;if(U<0||G>B.length||Y<0||Q>this.length)throw RangeError("out of range index");if(Y>=Q&&U>=G)return 0;if(Y>=Q)return-1;if(U>=G)return 1;if(U>>>=0,G>>>=0,Y>>>=0,Q>>>=0,this===B)return 0;let K=Q-Y,Z=G-U,J=Math.min(K,Z),M=this.slice(Y,Q),W=B.slice(U,G);for(let I=0;I2147483647)G=2147483647;else if(G<-2147483648)G=-2147483648;if(G=+G,Number.isNaN(G))G=Q?0:B.length-1;if(G<0)G=B.length+G;if(G>=B.length)if(Q)return-1;else G=B.length-1;else if(G<0)if(Q)G=0;else return-1;if(typeof U==="string")U=J0.from(U,Y);if(J0.isBuffer(U)){if(U.length===0)return-1;return P6(B,U,G,Y,Q)}else if(typeof U==="number"){if(U=U&255,typeof Uint8Array.prototype.indexOf==="function")if(Q)return Uint8Array.prototype.indexOf.call(B,U,G);else return Uint8Array.prototype.lastIndexOf.call(B,U,G);return P6(B,[U],G,Y,Q)}throw TypeError("val must be string, number or Buffer")}function P6(B,U,G,Y,Q){let K=1,Z=B.length,J=U.length;if(Y!==void 0){if(Y=String(Y).toLowerCase(),Y==="ucs2"||Y==="ucs-2"||Y==="utf16le"||Y==="utf-16le"){if(B.length<2||U.length<2)return-1;K=2,Z/=2,J/=2,G/=2}}function M(I,F){if(K===1)return I[F];else return I.readUInt16BE(F*K)}let W;if(Q){let I=-1;for(W=G;WZ)G=Z-J;for(W=G;W>=0;W--){let I=!0;for(let F=0;FQ)Y=Q;let K=U.length;if(Y>K/2)Y=K/2;let Z;for(Z=0;Z>>0,isFinite(G)){if(G=G>>>0,Y===void 0)Y="utf8"}else Y=G,G=void 0;else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let Q=this.length-U;if(G===void 0||G>Q)G=Q;if(B.length>0&&(G<0||U<0)||U>this.length)throw RangeError("Attempt to write outside buffer bounds");if(!Y)Y="utf8";let K=!1;for(;;)switch(Y){case"hex":return x5(this,B,U,G);case"utf8":case"utf-8":return _5(this,B,U,G);case"ascii":case"latin1":case"binary":return h5(this,B,U,G);case"base64":return u5(this,B,U,G);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return d5(this,B,U,G);default:if(K)throw TypeError("Unknown encoding: "+Y);Y=(""+Y).toLowerCase(),K=!0}};J0.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function c5(B,U,G){if(U===0&&G===B.length)return H6(B);else return H6(B.slice(U,G))}function D6(B,U,G){G=Math.min(B.length,G);let Y=[],Q=U;while(Q239?4:K>223?3:K>191?2:1;if(Q+J<=G){let M,W,I,F;switch(J){case 1:if(K<128)Z=K;break;case 2:if(M=B[Q+1],(M&192)===128){if(F=(K&31)<<6|M&63,F>127)Z=F}break;case 3:if(M=B[Q+1],W=B[Q+2],(M&192)===128&&(W&192)===128){if(F=(K&15)<<12|(M&63)<<6|W&63,F>2047&&(F<55296||F>57343))Z=F}break;case 4:if(M=B[Q+1],W=B[Q+2],I=B[Q+3],(M&192)===128&&(W&192)===128&&(I&192)===128){if(F=(K&15)<<18|(M&63)<<12|(W&63)<<6|I&63,F>65535&&F<1114112)Z=F}}}if(Z===null)Z=65533,J=1;else if(Z>65535)Z-=65536,Y.push(Z>>>10&1023|55296),Z=56320|Z&1023;Y.push(Z),Q+=J}return m5(Y)}var w6=4096;function m5(B){let U=B.length;if(U<=w6)return String.fromCharCode.apply(String,B);let G="",Y=0;while(YY)G=Y;let Q="";for(let K=U;KG)B=G;if(U<0){if(U+=G,U<0)U=0}else if(U>G)U=G;if(UG)throw RangeError("Trying to access beyond buffer length")}J0.prototype.readUintLE=J0.prototype.readUIntLE=function(B,U,G){if(B=B>>>0,U=U>>>0,!G)$0(B,U,this.length);let Y=this[B],Q=1,K=0;while(++K>>0,U=U>>>0,!G)$0(B,U,this.length);let Y=this[B+--U],Q=1;while(U>0&&(Q*=256))Y+=this[B+--U]*Q;return Y};J0.prototype.readUint8=J0.prototype.readUInt8=function(B,U){if(B=B>>>0,!U)$0(B,1,this.length);return this[B]};J0.prototype.readUint16LE=J0.prototype.readUInt16LE=function(B,U){if(B=B>>>0,!U)$0(B,2,this.length);return this[B]|this[B+1]<<8};J0.prototype.readUint16BE=J0.prototype.readUInt16BE=function(B,U){if(B=B>>>0,!U)$0(B,2,this.length);return this[B]<<8|this[B+1]};J0.prototype.readUint32LE=J0.prototype.readUInt32LE=function(B,U){if(B=B>>>0,!U)$0(B,4,this.length);return(this[B]|this[B+1]<<8|this[B+2]<<16)+this[B+3]*16777216};J0.prototype.readUint32BE=J0.prototype.readUInt32BE=function(B,U){if(B=B>>>0,!U)$0(B,4,this.length);return this[B]*16777216+(this[B+1]<<16|this[B+2]<<8|this[B+3])};J0.prototype.readBigUInt64LE=I2(function(B){B=B>>>0,S2(B,"offset");let U=this[B],G=this[B+7];if(U===void 0||G===void 0)n2(B,this.length-8);let Y=U+this[++B]*256+this[++B]*65536+this[++B]*16777216,Q=this[++B]+this[++B]*256+this[++B]*65536+G*16777216;return BigInt(Y)+(BigInt(Q)<>>0,S2(B,"offset");let U=this[B],G=this[B+7];if(U===void 0||G===void 0)n2(B,this.length-8);let Y=U*16777216+this[++B]*65536+this[++B]*256+this[++B],Q=this[++B]*16777216+this[++B]*65536+this[++B]*256+G;return(BigInt(Y)<>>0,U=U>>>0,!G)$0(B,U,this.length);let Y=this[B],Q=1,K=0;while(++K=Q)Y-=Math.pow(2,8*U);return Y};J0.prototype.readIntBE=function(B,U,G){if(B=B>>>0,U=U>>>0,!G)$0(B,U,this.length);let Y=U,Q=1,K=this[B+--Y];while(Y>0&&(Q*=256))K+=this[B+--Y]*Q;if(Q*=128,K>=Q)K-=Math.pow(2,8*U);return K};J0.prototype.readInt8=function(B,U){if(B=B>>>0,!U)$0(B,1,this.length);if(!(this[B]&128))return this[B];return(255-this[B]+1)*-1};J0.prototype.readInt16LE=function(B,U){if(B=B>>>0,!U)$0(B,2,this.length);let G=this[B]|this[B+1]<<8;return G&32768?G|4294901760:G};J0.prototype.readInt16BE=function(B,U){if(B=B>>>0,!U)$0(B,2,this.length);let G=this[B+1]|this[B]<<8;return G&32768?G|4294901760:G};J0.prototype.readInt32LE=function(B,U){if(B=B>>>0,!U)$0(B,4,this.length);return this[B]|this[B+1]<<8|this[B+2]<<16|this[B+3]<<24};J0.prototype.readInt32BE=function(B,U){if(B=B>>>0,!U)$0(B,4,this.length);return this[B]<<24|this[B+1]<<16|this[B+2]<<8|this[B+3]};J0.prototype.readBigInt64LE=I2(function(B){B=B>>>0,S2(B,"offset");let U=this[B],G=this[B+7];if(U===void 0||G===void 0)n2(B,this.length-8);let Y=this[B+4]+this[B+5]*256+this[B+6]*65536+(G<<24);return(BigInt(Y)<>>0,S2(B,"offset");let U=this[B],G=this[B+7];if(U===void 0||G===void 0)n2(B,this.length-8);let Y=(U<<24)+this[++B]*65536+this[++B]*256+this[++B];return(BigInt(Y)<>>0,!U)$0(B,4,this.length);return w1(this,B,!0,23,4)};J0.prototype.readFloatBE=function(B,U){if(B=B>>>0,!U)$0(B,4,this.length);return w1(this,B,!1,23,4)};J0.prototype.readDoubleLE=function(B,U){if(B=B>>>0,!U)$0(B,8,this.length);return w1(this,B,!0,52,8)};J0.prototype.readDoubleBE=function(B,U){if(B=B>>>0,!U)$0(B,8,this.length);return w1(this,B,!1,52,8)};function g0(B,U,G,Y,Q,K){if(!J0.isBuffer(B))throw TypeError('"buffer" argument must be a Buffer instance');if(U>Q||UB.length)throw RangeError("Index out of range")}J0.prototype.writeUintLE=J0.prototype.writeUIntLE=function(B,U,G,Y){if(B=+B,U=U>>>0,G=G>>>0,!Y){let Z=Math.pow(2,8*G)-1;g0(this,B,U,G,Z,0)}let Q=1,K=0;this[U]=B&255;while(++K>>0,G=G>>>0,!Y){let Z=Math.pow(2,8*G)-1;g0(this,B,U,G,Z,0)}let Q=G-1,K=1;this[U+Q]=B&255;while(--Q>=0&&(K*=256))this[U+Q]=B/K&255;return U+G};J0.prototype.writeUint8=J0.prototype.writeUInt8=function(B,U,G){if(B=+B,U=U>>>0,!G)g0(this,B,U,1,255,0);return this[U]=B&255,U+1};J0.prototype.writeUint16LE=J0.prototype.writeUInt16LE=function(B,U,G){if(B=+B,U=U>>>0,!G)g0(this,B,U,2,65535,0);return this[U]=B&255,this[U+1]=B>>>8,U+2};J0.prototype.writeUint16BE=J0.prototype.writeUInt16BE=function(B,U,G){if(B=+B,U=U>>>0,!G)g0(this,B,U,2,65535,0);return this[U]=B>>>8,this[U+1]=B&255,U+2};J0.prototype.writeUint32LE=J0.prototype.writeUInt32LE=function(B,U,G){if(B=+B,U=U>>>0,!G)g0(this,B,U,4,4294967295,0);return this[U+3]=B>>>24,this[U+2]=B>>>16,this[U+1]=B>>>8,this[U]=B&255,U+4};J0.prototype.writeUint32BE=J0.prototype.writeUInt32BE=function(B,U,G){if(B=+B,U=U>>>0,!G)g0(this,B,U,4,4294967295,0);return this[U]=B>>>24,this[U+1]=B>>>16,this[U+2]=B>>>8,this[U+3]=B&255,U+4};function C6(B,U,G,Y,Q){v6(U,Y,Q,B,G,7);let K=Number(U&BigInt(4294967295));B[G++]=K,K=K>>8,B[G++]=K,K=K>>8,B[G++]=K,K=K>>8,B[G++]=K;let Z=Number(U>>BigInt(32)&BigInt(4294967295));return B[G++]=Z,Z=Z>>8,B[G++]=Z,Z=Z>>8,B[G++]=Z,Z=Z>>8,B[G++]=Z,G}function k6(B,U,G,Y,Q){v6(U,Y,Q,B,G,7);let K=Number(U&BigInt(4294967295));B[G+7]=K,K=K>>8,B[G+6]=K,K=K>>8,B[G+5]=K,K=K>>8,B[G+4]=K;let Z=Number(U>>BigInt(32)&BigInt(4294967295));return B[G+3]=Z,Z=Z>>8,B[G+2]=Z,Z=Z>>8,B[G+1]=Z,Z=Z>>8,B[G]=Z,G+8}J0.prototype.writeBigUInt64LE=I2(function(B,U=0){return C6(this,B,U,BigInt(0),BigInt("0xffffffffffffffff"))});J0.prototype.writeBigUInt64BE=I2(function(B,U=0){return k6(this,B,U,BigInt(0),BigInt("0xffffffffffffffff"))});J0.prototype.writeIntLE=function(B,U,G,Y){if(B=+B,U=U>>>0,!Y){let J=Math.pow(2,8*G-1);g0(this,B,U,G,J-1,-J)}let Q=0,K=1,Z=0;this[U]=B&255;while(++Q>0)-Z&255}return U+G};J0.prototype.writeIntBE=function(B,U,G,Y){if(B=+B,U=U>>>0,!Y){let J=Math.pow(2,8*G-1);g0(this,B,U,G,J-1,-J)}let Q=G-1,K=1,Z=0;this[U+Q]=B&255;while(--Q>=0&&(K*=256)){if(B<0&&Z===0&&this[U+Q+1]!==0)Z=1;this[U+Q]=(B/K>>0)-Z&255}return U+G};J0.prototype.writeInt8=function(B,U,G){if(B=+B,U=U>>>0,!G)g0(this,B,U,1,127,-128);if(B<0)B=255+B+1;return this[U]=B&255,U+1};J0.prototype.writeInt16LE=function(B,U,G){if(B=+B,U=U>>>0,!G)g0(this,B,U,2,32767,-32768);return this[U]=B&255,this[U+1]=B>>>8,U+2};J0.prototype.writeInt16BE=function(B,U,G){if(B=+B,U=U>>>0,!G)g0(this,B,U,2,32767,-32768);return this[U]=B>>>8,this[U+1]=B&255,U+2};J0.prototype.writeInt32LE=function(B,U,G){if(B=+B,U=U>>>0,!G)g0(this,B,U,4,2147483647,-2147483648);return this[U]=B&255,this[U+1]=B>>>8,this[U+2]=B>>>16,this[U+3]=B>>>24,U+4};J0.prototype.writeInt32BE=function(B,U,G){if(B=+B,U=U>>>0,!G)g0(this,B,U,4,2147483647,-2147483648);if(B<0)B=4294967295+B+1;return this[U]=B>>>24,this[U+1]=B>>>16,this[U+2]=B>>>8,this[U+3]=B&255,U+4};J0.prototype.writeBigInt64LE=I2(function(B,U=0){return C6(this,B,U,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});J0.prototype.writeBigInt64BE=I2(function(B,U=0){return k6(this,B,U,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function $6(B,U,G,Y,Q,K){if(G+Y>B.length)throw RangeError("Index out of range");if(G<0)throw RangeError("Index out of range")}function S6(B,U,G,Y,Q){if(U=+U,G=G>>>0,!Q)$6(B,U,G,4,340282346638528860000000000000000000000,-340282346638528860000000000000000000000);return j6(B,U,G,Y,23,4),G+4}J0.prototype.writeFloatLE=function(B,U,G){return S6(this,B,U,!0,G)};J0.prototype.writeFloatBE=function(B,U,G){return S6(this,B,U,!1,G)};function b6(B,U,G,Y,Q){if(U=+U,G=G>>>0,!Q)$6(B,U,G,8,179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,-179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000);return j6(B,U,G,Y,52,8),G+8}J0.prototype.writeDoubleLE=function(B,U,G){return b6(this,B,U,!0,G)};J0.prototype.writeDoubleBE=function(B,U,G){return b6(this,B,U,!1,G)};J0.prototype.copy=function(B,U,G,Y){if(!J0.isBuffer(B))throw TypeError("argument should be a Buffer");if(!G)G=0;if(!Y&&Y!==0)Y=this.length;if(U>=B.length)U=B.length;if(!U)U=0;if(Y>0&&Y=this.length)throw RangeError("Index out of range");if(Y<0)throw RangeError("sourceEnd out of bounds");if(Y>this.length)Y=this.length;if(B.length-U>>0,G=G===void 0?this.length:G>>>0,!B)B=0;let Q;if(typeof B==="number")for(Q=U;Q=Y+4;G-=3)U=`_${B.slice(G-3,G)}${U}`;return`${B.slice(0,G)}${U}`}function i5(B,U,G){if(S2(U,"offset"),B[U]===void 0||B[U+G]===void 0)n2(U,B.length-(G+1))}function v6(B,U,G,Y,Q,K){if(B>G||B3)if(U===0||U===BigInt(0))J=`>= 0${Z} and < 2${Z} ** ${(K+1)*8}${Z}`;else J=`>= -(2${Z} ** ${(K+1)*8-1}${Z}) and < 2 ** ${(K+1)*8-1}${Z}`;else J=`>= ${U}${Z} and <= ${G}${Z}`;throw new n1("value",J,B)}i5(Y,Q,K)}function S2(B,U){if(typeof B!=="number")throw new S5(U,"number",B)}function n2(B,U,G){if(Math.floor(B)!==B)throw S2(B,G),new n1(G||"offset","an integer",B);if(U<0)throw new $5;throw new n1(G||"offset",`>= ${G?1:0} and <= ${U}`,B)}var n5=/[^+/0-9A-Za-z-_]/g;function s5(B){if(B=B.split("=")[0],B=B.trim().replace(n5,""),B.length<2)return"";while(B.length%4!==0)B=B+"=";return B}function t1(B,U){U=U||1/0;let G,Y=B.length,Q=null,K=[];for(let Z=0;Z55295&&G<57344){if(!Q){if(G>56319){if((U-=3)>-1)K.push(239,191,189);continue}else if(Z+1===Y){if((U-=3)>-1)K.push(239,191,189);continue}Q=G;continue}if(G<56320){if((U-=3)>-1)K.push(239,191,189);Q=G;continue}G=(Q-55296<<10|G-56320)+65536}else if(Q){if((U-=3)>-1)K.push(239,191,189)}if(Q=null,G<128){if((U-=1)<0)break;K.push(G)}else if(G<2048){if((U-=2)<0)break;K.push(G>>6|192,G&63|128)}else if(G<65536){if((U-=3)<0)break;K.push(G>>12|224,G>>6&63|128,G&63|128)}else if(G<1114112){if((U-=4)<0)break;K.push(G>>18|240,G>>12&63|128,G>>6&63|128,G&63|128)}else throw Error("Invalid code point")}return K}function o5(B){let U=[];for(let G=0;G>8,Q=G%256,K.push(Q),K.push(Y)}return K}function y6(B){return T5(s5(B))}function A1(B,U,G,Y){let Q;for(Q=0;Q=U.length||Q>=B.length)break;U[Q+G]=B[Q]}return Q}function a0(B,U){return B instanceof U||B!=null&&B.constructor!=null&&B.constructor.name!=null&&B.constructor.name===U.name}var e5=function(){let B=Array(256);for(let U=0;U<16;++U){let G=U*16;for(let Y=0;Y<16;++Y)B[G+Y]="0123456789abcdef"[U]+"0123456789abcdef"[Y]}return B}();function I2(B){return typeof BigInt>"u"?BU:B}function BU(){throw Error("BigInt not supported")}function G8(B){return()=>{throw Error(B+" is not implemented for node:buffer browser polyfill")}}var V7=G8("resolveObjectURL"),q7=G8("isUtf8");var M7=G8("transcode");var G7=P5(h6(),1);var R6={};N5(R6,{unsignedDecimalNumber:()=>q1,universalMeasureValue:()=>M1,uniqueUuid:()=>eB,uniqueNumericIdCreator:()=>I1,uniqueId:()=>O1,uCharHexNumber:()=>H8,twipsMeasureValue:()=>E0,standardizeData:()=>A4,signedTwipsMeasureValue:()=>t0,signedHpsMeasureValue:()=>VG,shortHexNumber:()=>SB,sectionPageSizeDefaults:()=>k1,sectionMarginDefaults:()=>F2,positiveUniversalMeasureValue:()=>u8,pointMeasureValue:()=>gB,percentageValue:()=>vB,patchDocument:()=>tK,patchDetector:()=>B7,measurementOrPercentValue:()=>d8,longHexNumber:()=>KG,hpsMeasureValue:()=>bB,hexColorValue:()=>C2,hashedId:()=>W8,encodeUtf8:()=>U1,eighthPointMeasureValue:()=>yB,docPropertiesUniqueNumericIdGen:()=>oB,decimalNumber:()=>D0,dateTimeValue:()=>fB,createWrapTopAndBottom:()=>F4,createWrapTight:()=>O4,createWrapSquare:()=>I4,createWrapNone:()=>w8,createVerticalPosition:()=>J4,createVerticalAlign:()=>B6,createUnderline:()=>cB,createTransformation:()=>i8,createTableWidthElement:()=>J1,createTableRowHeight:()=>W9,createTableLook:()=>H9,createTableLayout:()=>O9,createTableFloatProperties:()=>I9,createTabStopItem:()=>b4,createTabStop:()=>v4,createStringElement:()=>f2,createSpacing:()=>S4,createSimplePos:()=>G4,createShading:()=>X1,createSectionType:()=>C9,createRunFonts:()=>T1,createParagraphStyle:()=>x2,createPageSize:()=>T9,createPageNumberType:()=>E9,createPageMargin:()=>z9,createOutlineLevel:()=>_4,createMathSuperScriptProperties:()=>p4,createMathSuperScriptElement:()=>a2,createMathSubSuperScriptProperties:()=>i4,createMathSubScriptProperties:()=>r4,createMathSubScriptElement:()=>l2,createMathPreSubSuperScriptProperties:()=>n4,createMathNAryProperties:()=>t8,createMathLimitLocation:()=>a4,createMathBase:()=>y0,createMathAccentCharacter:()=>l4,createLineNumberType:()=>j9,createIndent:()=>hB,createHorizontalPosition:()=>Q4,createHeaderFooterReference:()=>C1,createFrameProperties:()=>u4,createEmphasisMark:()=>p8,createDotEmphasisMark:()=>wG,createDocumentGrid:()=>A9,createColumns:()=>w9,createBorderElement:()=>A0,createBodyProperties:()=>K4,createAlignment:()=>c8,convertToXmlComponent:()=>h1,convertMillimetersToTwip:()=>dG,convertInchesToTwip:()=>u0,concreteNumUniqueNumericIdGen:()=>sB,commentIdToParaId:()=>N4,bookmarkUniqueNumericIdGen:()=>tB,abstractNumUniqueNumericIdGen:()=>nB,YearShort:()=>oY,YearLong:()=>BZ,XmlComponent:()=>t,XmlAttributeComponent:()=>F0,WpsShapeRun:()=>SY,WpgGroupRun:()=>bY,WidthType:()=>b1,WORKAROUND4:()=>oZ,WORKAROUND3:()=>JG,WORKAROUND2:()=>jJ,VerticalPositionRelativeFrom:()=>U4,VerticalPositionAlign:()=>XG,VerticalMergeType:()=>U6,VerticalMergeRevisionType:()=>HQ,VerticalMerge:()=>N8,VerticalAnchor:()=>cG,VerticalAlignTable:()=>K9,VerticalAlignSection:()=>V9,VerticalAlign:()=>WQ,UnderlineType:()=>r8,ThematicBreak:()=>_B,Textbox:()=>DK,TextWrappingType:()=>e2,TextWrappingSide:()=>L4,TextRun:()=>Q1,TextEffect:()=>CG,TextDirection:()=>NQ,TableRowPropertiesChange:()=>P9,TableRowProperties:()=>Q6,TableRow:()=>fQ,TableProperties:()=>Z6,TableOfContents:()=>RK,TableLayoutType:()=>SQ,TableCellBorders:()=>M9,TableCell:()=>G6,TableBorders:()=>Y6,TableAnchorType:()=>TQ,Table:()=>yQ,TabStopType:()=>j8,TabStopPosition:()=>HZ,Tab:()=>D4,TDirection:()=>R9,SymbolRun:()=>aB,Styles:()=>$1,StyleLevel:()=>LK,StyleForParagraph:()=>p2,StyleForCharacter:()=>$2,StringValueElement:()=>M2,StringEnumValueElement:()=>qG,StringContainer:()=>O2,SpaceType:()=>x0,SoftHyphen:()=>iY,SimpleMailMergeField:()=>fY,SimpleField:()=>n8,ShadingType:()=>HG,SequentialIdentifier:()=>yY,Separator:()=>YZ,SectionType:()=>GJ,SectionPropertiesChange:()=>k9,SectionProperties:()=>J6,RunPropertiesDefaults:()=>a9,RunPropertiesChange:()=>lB,RunProperties:()=>U2,Run:()=>T0,RelativeVerticalPosition:()=>CQ,RelativeHorizontalPosition:()=>DQ,PrettifyType:()=>G5,PositionalTabRelativeTo:()=>qZ,PositionalTabLeader:()=>MZ,PositionalTabAlignment:()=>VZ,PositionalTab:()=>RZ,PatchType:()=>D8,ParagraphRunProperties:()=>mB,ParagraphPropertiesDefaults:()=>l9,ParagraphPropertiesChange:()=>d4,ParagraphProperties:()=>X2,Paragraph:()=>d0,PageTextDirectionType:()=>BJ,PageTextDirection:()=>D9,PageReference:()=>CZ,PageOrientation:()=>y1,PageNumberSeparator:()=>eQ,PageNumberElement:()=>QZ,PageNumber:()=>H2,PageBreakBefore:()=>$4,PageBreak:()=>LZ,PageBorders:()=>N9,PageBorderZOrder:()=>tQ,PageBorderOffsetFrom:()=>oQ,PageBorderDisplay:()=>sQ,Packer:()=>Y5,OverlapType:()=>kQ,OnOffElement:()=>M0,Numbering:()=>d9,NumberedItemReferenceFormat:()=>zZ,NumberedItemReference:()=>TZ,NumberValueElement:()=>_2,NumberProperties:()=>D1,NumberFormat:()=>RG,NoBreakHyphen:()=>rY,NextAttributeComponent:()=>k8,MonthShort:()=>sY,MonthLong:()=>eY,Media:()=>K6,MathSuperScript:()=>rZ,MathSum:()=>mZ,MathSubSuperScript:()=>nZ,MathSubScript:()=>iZ,MathSquareBrackets:()=>QQ,MathRun:()=>hZ,MathRoundBrackets:()=>ZQ,MathRadicalProperties:()=>o4,MathRadical:()=>BQ,MathPreSubSuperScript:()=>sZ,MathNumerator:()=>m4,MathLimitUpper:()=>aZ,MathLimitLower:()=>pZ,MathLimit:()=>e8,MathIntegral:()=>lZ,MathFunctionProperties:()=>e4,MathFunctionName:()=>t4,MathFunction:()=>UQ,MathFraction:()=>uZ,MathDenominator:()=>c4,MathDegree:()=>s4,MathCurlyBrackets:()=>JQ,MathAngledBrackets:()=>KQ,Math:()=>xZ,LineRuleType:()=>k2,LineNumberRestartFormat:()=>nQ,LevelSuffix:()=>DJ,LevelOverride:()=>u9,LevelFormat:()=>i0,LevelForOverride:()=>$J,LevelBase:()=>V6,Level:()=>h9,LeaderType:()=>FZ,LastRenderedPageBreak:()=>KZ,InternalHyperlink:()=>y4,InsertedTextRun:()=>XQ,InsertedTableRow:()=>U9,InsertedTableCell:()=>Y9,InitializableXmlComponent:()=>h8,ImportedXmlComponent:()=>kB,ImportedRootElementAttributes:()=>$B,ImageRun:()=>$Y,IgnoreIfEmptyXmlComponent:()=>R2,HyperlinkType:()=>AZ,HpsMeasureElement:()=>E1,HorizontalPositionRelativeFrom:()=>B4,HorizontalPositionAlign:()=>MG,HighlightColor:()=>kG,HeightRule:()=>gQ,HeadingLevel:()=>OZ,HeaderWrapper:()=>_9,HeaderFooterType:()=>z8,HeaderFooterReferenceType:()=>D2,Header:()=>IK,GridSpan:()=>X9,FrameWrap:()=>fZ,FrameAnchorType:()=>gZ,FootnoteReferenceRun:()=>FK,FootnoteReferenceElement:()=>GZ,FootnoteReference:()=>o9,FooterWrapper:()=>f9,Footer:()=>OK,FootNotes:()=>x9,FootNoteReferenceRunAttributes:()=>s9,FileChild:()=>F1,File:()=>VK,ExternalHyperlink:()=>o8,Endnotes:()=>g9,EndnoteReferenceRunAttributes:()=>t9,EndnoteReferenceRun:()=>HK,EndnoteReference:()=>T4,EndnoteIdReference:()=>e9,EmptyElement:()=>S0,EmphasisMarkType:()=>a8,EMPTY_OBJECT:()=>KB,DropCapType:()=>yZ,Drawing:()=>c1,DocumentGridType:()=>iQ,DocumentDefaults:()=>p9,DocumentBackgroundAttributes:()=>S9,DocumentBackground:()=>b9,DocumentAttributes:()=>H1,DocumentAttributeNamespaces:()=>v1,Document:()=>VK,DeletedTextRun:()=>OQ,DeletedTableRow:()=>G9,DeletedTableCell:()=>Z9,DayShort:()=>nY,DayLong:()=>tY,ContinuationSeparator:()=>ZZ,ConcreteNumbering:()=>T8,ConcreteHyperlink:()=>m2,CommentsExtended:()=>E4,Comments:()=>z4,CommentReference:()=>mY,CommentRangeStart:()=>dY,CommentRangeEnd:()=>cY,Comment:()=>A8,ColumnBreak:()=>IZ,Column:()=>ZJ,CheckBoxUtil:()=>B5,CheckBoxSymbolElement:()=>S1,CheckBox:()=>WK,CharacterSet:()=>kZ,CellMergeAttributes:()=>Q9,CellMerge:()=>J9,CarriageReturn:()=>JZ,BuilderElement:()=>X0,BorderStyle:()=>d1,Border:()=>xB,BookmarkStart:()=>f4,BookmarkEnd:()=>x4,Bookmark:()=>g4,Body:()=>$9,BaseXmlComponent:()=>Y1,Attributes:()=>C0,AnnotationReference:()=>UZ,AlignmentType:()=>c0,AbstractNumbering:()=>E8});var{create:YU,defineProperty:QB,getOwnPropertyDescriptor:ZU,getOwnPropertyNames:QU,getPrototypeOf:JU}=Object,KU=Object.prototype.hasOwnProperty,JB=(B,U)=>()=>(B&&(U=B(B=0)),U),R0=(B,U)=>()=>(U||(B((U={exports:{}}).exports,U),B=null),U.exports),VU=(B,U,G,Y)=>{if(U&&typeof U==="object"||typeof U==="function"){for(var Q=QU(U),K=0,Z=Q.length,J;KU[M]).bind(null,J),enumerable:!(Y=ZU(U,J))||Y.enumerable})}return B},C8=(B,U,G)=>(G=B!=null?YU(JU(B)):{},VU(U||!B||!B.__esModule?QB(G,"default",{value:B,enumerable:!0}):G,B)),N1=((B)=>__require)(function(B){return __require.apply(this,arguments)});function G1(B){return G1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(U){return typeof U}:function(U){return U&&typeof Symbol=="function"&&U.constructor===Symbol&&U!==Symbol.prototype?"symbol":typeof U},G1(B)}function qU(B,U){if(G1(B)!="object"||!B)return B;var G=B[Symbol.toPrimitive];if(G!==void 0){var Y=G.call(B,U||"default");if(G1(Y)!="object")return Y;throw TypeError("@@toPrimitive must return a primitive value.")}return(U==="string"?String:Number)(B)}function MU(B){var U=qU(B,"string");return G1(U)=="symbol"?U:U+""}function e(B,U,G){return(U=MU(U))in B?Object.defineProperty(B,U,{value:G,enumerable:!0,configurable:!0,writable:!0}):B[U]=G,B}var Y1=class{constructor(B){e(this,"rootKey",void 0),this.rootKey=B}},KB=Object.seal({}),t=class extends Y1{constructor(B){super(B);e(this,"root",void 0),this.root=[]}prepForXml(B){var U;B.stack.push(this);let G=this.root.map((Y)=>{if(Y instanceof Y1)return Y.prepForXml(B);return Y}).filter((Y)=>Y!==void 0);return B.stack.pop(),{[this.rootKey]:G.length?G.length===1&&((U=G[0])===null||U===void 0?void 0:U._attr)?G[0]:G:KB}}addChildElement(B){return this.root.push(B),this}},R2=class extends t{constructor(B,U){super(B);e(this,"includeIfEmpty",void 0),this.includeIfEmpty=U}prepForXml(B){let U=super.prepForXml(B);if(this.includeIfEmpty)return U;if(U&&(typeof U[this.rootKey]!=="object"||Object.keys(U[this.rootKey]).length))return U}};function u6(B,U){var G=Object.keys(B);if(Object.getOwnPropertySymbols){var Y=Object.getOwnPropertySymbols(B);U&&(Y=Y.filter(function(Q){return Object.getOwnPropertyDescriptor(B,Q).enumerable})),G.push.apply(G,Y)}return G}function L0(B){for(var U=1;U{if(Y!==void 0){let Q=this.xmlKeys&&this.xmlKeys[G]||G;U[Q]=Y}}),{_attr:U}}},k8=class extends Y1{constructor(B){super("_attr");e(this,"root",void 0),this.root=B}prepForXml(B){return{_attr:Object.values(this.root).filter(({value:U})=>U!==void 0).reduce((U,{key:G,value:Y})=>L0(L0({},U),{},{[G]:Y}),{})}}},C0=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{val:"w:val",color:"w:color",fill:"w:fill",space:"w:space",sz:"w:sz",type:"w:type",rsidR:"w:rsidR",rsidRPr:"w:rsidRPr",rsidSect:"w:rsidSect",w:"w:w",h:"w:h",top:"w:top",right:"w:right",bottom:"w:bottom",left:"w:left",header:"w:header",footer:"w:footer",gutter:"w:gutter",linePitch:"w:linePitch",pos:"w:pos"})}},$8=R0((B,U)=>{var G=typeof Reflect==="object"?Reflect:null,Y=G&&typeof G.apply==="function"?G.apply:function($,x,N){return Function.prototype.apply.call($,x,N)},Q;if(G&&typeof G.ownKeys==="function")Q=G.ownKeys;else if(Object.getOwnPropertySymbols)Q=function($){return Object.getOwnPropertyNames($).concat(Object.getOwnPropertySymbols($))};else Q=function($){return Object.getOwnPropertyNames($)};function K(X){if(console&&console.warn)console.warn(X)}var Z=Number.isNaN||function($){return $!==$};function J(){J.init.call(this)}U.exports=J,U.exports.once=v,J.EventEmitter=J,J.prototype._events=void 0,J.prototype._eventsCount=0,J.prototype._maxListeners=void 0;var M=10;function W(X){if(typeof X!=="function")throw TypeError('The "listener" argument must be of type Function. Received type '+typeof X)}Object.defineProperty(J,"defaultMaxListeners",{enumerable:!0,get:function(){return M},set:function(X){if(typeof X!=="number"||X<0||Z(X))throw RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+X+".");M=X}}),J.init=function(){if(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)this._events=Object.create(null),this._eventsCount=0;this._maxListeners=this._maxListeners||void 0},J.prototype.setMaxListeners=function($){if(typeof $!=="number"||$<0||Z($))throw RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+$+".");return this._maxListeners=$,this};function I(X){if(X._maxListeners===void 0)return J.defaultMaxListeners;return X._maxListeners}J.prototype.getMaxListeners=function(){return I(this)},J.prototype.emit=function($){var x=[];for(var N=1;N0)b=x[0];if(b instanceof Error)throw b;var c=Error("Unhandled error."+(b?" ("+b.message+")":""));throw c.context=b,c}var T=U0[$];if(T===void 0)return!1;if(typeof T==="function")Y(T,this,x);else{var m=T.length,B0=E(T,m);for(var N=0;N0&&b.length>a&&!b.warned){b.warned=!0;var c=Error("Possible EventEmitter memory leak detected. "+b.length+" "+String($)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=X,c.type=$,c.count=b.length,K(c)}}return X}J.prototype.addListener=function($,x){return F(this,$,x,!1)},J.prototype.on=J.prototype.addListener,J.prototype.prependListener=function($,x){return F(this,$,x,!0)};function D(){if(!this.fired){if(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0)return this.listener.call(this.target);return this.listener.apply(this.target,arguments)}}function w(X,$,x){var N={fired:!1,wrapFn:void 0,target:X,type:$,listener:x},a=D.bind(N);return a.listener=x,N.wrapFn=a,a}J.prototype.once=function($,x){return W(x),this.on($,w(this,$,x)),this},J.prototype.prependOnceListener=function($,x){return W(x),this.prependListener($,w(this,$,x)),this},J.prototype.removeListener=function($,x){var N,a,U0,b,c;if(W(x),a=this._events,a===void 0)return this;if(N=a[$],N===void 0)return this;if(N===x||N.listener===x){if(--this._eventsCount===0)this._events=Object.create(null);else if(delete a[$],a.removeListener)this.emit("removeListener",$,N.listener||x)}else if(typeof N!=="function"){U0=-1;for(b=N.length-1;b>=0;b--)if(N[b]===x||N[b].listener===x){c=N[b].listener,U0=b;break}if(U0<0)return this;if(U0===0)N.shift();else C(N,U0);if(N.length===1)a[$]=N[0];if(a.removeListener!==void 0)this.emit("removeListener",$,c||x)}return this},J.prototype.off=J.prototype.removeListener,J.prototype.removeAllListeners=function($){var x,N=this._events,a;if(N===void 0)return this;if(N.removeListener===void 0){if(arguments.length===0)this._events=Object.create(null),this._eventsCount=0;else if(N[$]!==void 0)if(--this._eventsCount===0)this._events=Object.create(null);else delete N[$];return this}if(arguments.length===0){var U0=Object.keys(N),b;for(a=0;a=0;a--)this.removeListener($,x[a]);return this};function P(X,$,x){var N=X._events;if(N===void 0)return[];var a=N[$];if(a===void 0)return[];if(typeof a==="function")return x?[a.listener||a]:[a];return x?j(a):E(a,a.length)}J.prototype.listeners=function($){return P(this,$,!0)},J.prototype.rawListeners=function($){return P(this,$,!1)},J.listenerCount=function(X,$){if(typeof X.listenerCount==="function")return X.listenerCount($);else return A.call(X,$)},J.prototype.listenerCount=A;function A(X){var $=this._events;if($!==void 0){var x=$[X];if(typeof x==="function")return 1;else if(x!==void 0)return x.length}return 0}J.prototype.eventNames=function(){return this._eventsCount>0?Q(this._events):[]};function E(X,$){var x=Array($);for(var N=0;N<$;++N)x[N]=X[N];return x}function C(X,$){for(;$+1{if(typeof Object.create==="function")U.exports=function(Y,Q){if(Q)Y.super_=Q,Y.prototype=Object.create(Q.prototype,{constructor:{value:Y,enumerable:!1,writable:!0,configurable:!0}})};else U.exports=function(Y,Q){if(Q){Y.super_=Q;var K=function(){};K.prototype=Q.prototype,Y.prototype=new K,Y.prototype.constructor=Y}}}),v0,d2=JB(()=>{v0=globalThis||self});function XU(B){return B&&B.__esModule&&Object.prototype.hasOwnProperty.call(B,"default")?B.default:B}function I8(){throw Error("setTimeout has not been defined")}function O8(){throw Error("clearTimeout has not been defined")}function VB(B){if(n0===setTimeout)return setTimeout(B,0);if((n0===I8||!n0)&&setTimeout)return n0=setTimeout,setTimeout(B,0);try{return n0(B,0)}catch(U){try{return n0.call(null,B,0)}catch(G){return n0.call(this,B,0)}}}function RU(B){if(s0===clearTimeout)return clearTimeout(B);if((s0===O8||!s0)&&clearTimeout)return s0=clearTimeout,clearTimeout(B);try{return s0(B)}catch(U){try{return s0.call(null,B)}catch(G){return s0.call(this,B)}}}function LU(){if(!T2||!E2)return;if(T2=!1,E2.length)o0=E2.concat(o0);else B1=-1;if(o0.length)qB()}function qB(){if(T2)return;var B=VB(LU);T2=!0;var U=o0.length;while(U){E2=o0,o0=[];while(++B1{Q8={exports:{}},j0=Q8.exports={},function(){try{if(typeof setTimeout==="function")n0=setTimeout;else n0=I8}catch(B){n0=I8}try{if(typeof clearTimeout==="function")s0=clearTimeout;else s0=O8}catch(B){s0=O8}}(),o0=[],T2=!1,B1=-1,j0.nextTick=function(B){var U=Array(arguments.length-1);if(arguments.length>1)for(var G=1;G{U.exports=$8().EventEmitter}),IU=R0((B)=>{B.byteLength=M,B.toByteArray=I,B.fromByteArray=w;var U=[],G=[],Y=typeof Uint8Array<"u"?Uint8Array:Array,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var K=0,Z=Q.length;K0)throw Error("Invalid string. Length must be a multiple of 4");var E=P.indexOf("=");if(E===-1)E=A;var C=E===A?0:4-E%4;return[E,C]}function M(P){var A=J(P),E=A[0],C=A[1];return(E+C)*3/4-C}function W(P,A,E){return(A+E)*3/4-E}function I(P){var A,E=J(P),C=E[0],j=E[1],v=new Y(W(P,C,j)),S=0,H=j>0?C-4:C,X;for(X=0;X>16&255,v[S++]=A>>8&255,v[S++]=A&255;if(j===2)A=G[P.charCodeAt(X)]<<2|G[P.charCodeAt(X+1)]>>4,v[S++]=A&255;if(j===1)A=G[P.charCodeAt(X)]<<10|G[P.charCodeAt(X+1)]<<4|G[P.charCodeAt(X+2)]>>2,v[S++]=A>>8&255,v[S++]=A&255;return v}function F(P){return U[P>>18&63]+U[P>>12&63]+U[P>>6&63]+U[P&63]}function D(P,A,E){var C,j=[];for(var v=A;vH?H:S+v));if(C===1)A=P[E-1],j.push(U[A>>2]+U[A<<4&63]+"==");else if(C===2)A=(P[E-2]<<8)+P[E-1],j.push(U[A>>10]+U[A>>4&63]+U[A<<2&63]+"=");return j.join("")}}),OU=R0((B)=>{/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */B.read=function(U,G,Y,Q,K){var Z,J,M=K*8-Q-1,W=(1<>1,F=-7,D=Y?K-1:0,w=Y?-1:1,P=U[G+D];D+=w,Z=P&(1<<-F)-1,P>>=-F,F+=M;for(;F>0;Z=Z*256+U[G+D],D+=w,F-=8);J=Z&(1<<-F)-1,Z>>=-F,F+=Q;for(;F>0;J=J*256+U[G+D],D+=w,F-=8);if(Z===0)Z=1-I;else if(Z===W)return J?NaN:(P?-1:1)*(1/0);else J=J+Math.pow(2,Q),Z=Z-I;return(P?-1:1)*J*Math.pow(2,Z-Q)},B.write=function(U,G,Y,Q,K,Z){var J,M,W,I=Z*8-K-1,F=(1<>1,w=K===23?Math.pow(2,-24)-Math.pow(2,-77):0,P=Q?0:Z-1,A=Q?1:-1,E=G<0||G===0&&1/G<0?1:0;if(G=Math.abs(G),isNaN(G)||G===1/0)M=isNaN(G)?1:0,J=F;else{if(J=Math.floor(Math.log(G)/Math.LN2),G*(W=Math.pow(2,-J))<1)J--,W*=2;if(J+D>=1)G+=w/W;else G+=w*Math.pow(2,1-D);if(G*W>=2)J++,W/=2;if(J+D>=F)M=0,J=F;else if(J+D>=1)M=(G*W-1)*Math.pow(2,K),J=J+D;else M=G*Math.pow(2,D-1)*Math.pow(2,K),J=0}for(;K>=8;U[Y+P]=M&255,P+=A,M/=256,K-=8);J=J<0;U[Y+P]=J&255,P+=A,J/=256,I-=8);U[Y+P-A]|=E*128}});/*! +* The buffer module from node.js, for the browser. +* +* @author Feross Aboukhadijeh +* @license MIT +*/var g1=R0((B)=>{var U=IU(),G=OU(),Y=typeof Symbol==="function"&&typeof Symbol.for==="function"?Symbol.for("nodejs.util.inspect.custom"):null;B.Buffer=J,B.SlowBuffer=j,B.INSPECT_MAX_BYTES=50;var Q=2147483647;if(B.kMaxLength=Q,J.TYPED_ARRAY_SUPPORT=K(),!J.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error==="function")console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function K(){try{var k=new Uint8Array(1),V={foo:function(){return 42}};return Object.setPrototypeOf(V,Uint8Array.prototype),Object.setPrototypeOf(k,V),k.foo()===42}catch(q){return!1}}Object.defineProperty(J.prototype,"parent",{enumerable:!0,get:function(){if(!J.isBuffer(this))return;return this.buffer}}),Object.defineProperty(J.prototype,"offset",{enumerable:!0,get:function(){if(!J.isBuffer(this))return;return this.byteOffset}});function Z(k){if(k>Q)throw RangeError('The value "'+k+'" is invalid for option "size"');var V=new Uint8Array(k);return Object.setPrototypeOf(V,J.prototype),V}function J(k,V,q){if(typeof k==="number"){if(typeof V==="string")throw TypeError('The "string" argument must be of type string. Received type number');return F(k)}return M(k,V,q)}J.poolSize=8192;function M(k,V,q){if(typeof k==="string")return D(k,V);if(ArrayBuffer.isView(k))return P(k);if(k==null)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof k);if(f(k,ArrayBuffer)||k&&f(k.buffer,ArrayBuffer))return A(k,V,q);if(typeof SharedArrayBuffer<"u"&&(f(k,SharedArrayBuffer)||k&&f(k.buffer,SharedArrayBuffer)))return A(k,V,q);if(typeof k==="number")throw TypeError('The "value" argument must not be of type number. Received type number');var O=k.valueOf&&k.valueOf();if(O!=null&&O!==k)return J.from(O,V,q);var _=E(k);if(_)return _;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof k[Symbol.toPrimitive]==="function")return J.from(k[Symbol.toPrimitive]("string"),V,q);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof k)}J.from=function(k,V,q){return M(k,V,q)},Object.setPrototypeOf(J.prototype,Uint8Array.prototype),Object.setPrototypeOf(J,Uint8Array);function W(k){if(typeof k!=="number")throw TypeError('"size" argument must be of type number');else if(k<0)throw RangeError('The value "'+k+'" is invalid for option "size"')}function I(k,V,q){if(W(k),k<=0)return Z(k);if(V!==void 0)return typeof q==="string"?Z(k).fill(V,q):Z(k).fill(V);return Z(k)}J.alloc=function(k,V,q){return I(k,V,q)};function F(k){return W(k),Z(k<0?0:C(k)|0)}J.allocUnsafe=function(k){return F(k)},J.allocUnsafeSlow=function(k){return F(k)};function D(k,V){if(typeof V!=="string"||V==="")V="utf8";if(!J.isEncoding(V))throw TypeError("Unknown encoding: "+V);var q=v(k,V)|0,O=Z(q),_=O.write(k,V);if(_!==q)O=O.slice(0,_);return O}function w(k){var V=k.length<0?0:C(k.length)|0,q=Z(V);for(var O=0;O=Q)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q.toString(16)+" bytes");return k|0}function j(k){if(+k!=k)k=0;return J.alloc(+k)}J.isBuffer=function(V){return V!=null&&V._isBuffer===!0&&V!==J.prototype},J.compare=function(V,q){if(f(V,Uint8Array))V=J.from(V,V.offset,V.byteLength);if(f(q,Uint8Array))q=J.from(q,q.offset,q.byteLength);if(!J.isBuffer(V)||!J.isBuffer(q))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(V===q)return 0;var O=V.length,_=q.length;for(var l=0,d=Math.min(O,_);l_.length)J.from(d).copy(_,l);else Uint8Array.prototype.set.call(_,d,l);else if(!J.isBuffer(d))throw TypeError('"list" argument must be an Array of Buffers');else d.copy(_,l);l+=d.length}return _};function v(k,V){if(J.isBuffer(k))return k.length;if(ArrayBuffer.isView(k)||f(k,ArrayBuffer))return k.byteLength;if(typeof k!=="string")throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof k);var q=k.length,O=arguments.length>2&&arguments[2]===!0;if(!O&&q===0)return 0;var _=!1;for(;;)switch(V){case"ascii":case"latin1":case"binary":return q;case"utf8":case"utf-8":return L(k).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return q*2;case"hex":return q>>>1;case"base64":return Z0(k).length;default:if(_)return O?-1:L(k).length;V=(""+V).toLowerCase(),_=!0}}J.byteLength=v;function S(k,V,q){var O=!1;if(V===void 0||V<0)V=0;if(V>this.length)return"";if(q===void 0||q>this.length)q=this.length;if(q<=0)return"";if(q>>>=0,V>>>=0,q<=V)return"";if(!k)k="utf8";while(!0)switch(k){case"hex":return s(this,V,q);case"utf8":case"utf-8":return T(this,V,q);case"ascii":return i(this,V,q);case"latin1":case"binary":return V0(this,V,q);case"base64":return c(this,V,q);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return G0(this,V,q);default:if(O)throw TypeError("Unknown encoding: "+k);k=(k+"").toLowerCase(),O=!0}}J.prototype._isBuffer=!0;function H(k,V,q){var O=k[V];k[V]=k[q],k[q]=O}if(J.prototype.swap16=function(){var V=this.length;if(V%2!==0)throw RangeError("Buffer size must be a multiple of 16-bits");for(var q=0;qq)V+=" ... ";return""},Y)J.prototype[Y]=J.prototype.inspect;J.prototype.compare=function(V,q,O,_,l){if(f(V,Uint8Array))V=J.from(V,V.offset,V.byteLength);if(!J.isBuffer(V))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof V);if(q===void 0)q=0;if(O===void 0)O=V?V.length:0;if(_===void 0)_=0;if(l===void 0)l=this.length;if(q<0||O>V.length||_<0||l>this.length)throw RangeError("out of range index");if(_>=l&&q>=O)return 0;if(_>=l)return-1;if(q>=O)return 1;if(q>>>=0,O>>>=0,_>>>=0,l>>>=0,this===V)return 0;var d=l-_,Q0=O-q,q0=Math.min(d,Q0),K0=this.slice(_,l),I0=V.slice(q,O);for(var H0=0;H02147483647)q=2147483647;else if(q<-2147483648)q=-2147483648;if(q=+q,R(q))q=_?0:k.length-1;if(q<0)q=k.length+q;if(q>=k.length)if(_)return-1;else q=k.length-1;else if(q<0)if(_)q=0;else return-1;if(typeof V==="string")V=J.from(V,O);if(J.isBuffer(V)){if(V.length===0)return-1;return $(k,V,q,O,_)}else if(typeof V==="number"){if(V=V&255,typeof Uint8Array.prototype.indexOf==="function")if(_)return Uint8Array.prototype.indexOf.call(k,V,q);else return Uint8Array.prototype.lastIndexOf.call(k,V,q);return $(k,[V],q,O,_)}throw TypeError("val must be string, number or Buffer")}function $(k,V,q,O,_){var l=1,d=k.length,Q0=V.length;if(O!==void 0){if(O=String(O).toLowerCase(),O==="ucs2"||O==="ucs-2"||O==="utf16le"||O==="utf-16le"){if(k.length<2||V.length<2)return-1;l=2,d/=2,Q0/=2,q/=2}}function q0(k0,L2){if(l===1)return k0[L2];else return k0.readUInt16BE(L2*l)}var K0;if(_){var I0=-1;for(K0=q;K0d)q=d-Q0;for(K0=q;K0>=0;K0--){var H0=!0;for(var W0=0;W0_)O=_;var l=V.length;if(O>l/2)O=l/2;for(var d=0;d>>0,isFinite(O)){if(O=O>>>0,_===void 0)_="utf8"}else _=O,O=void 0;else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var l=this.length-q;if(O===void 0||O>l)O=l;if(V.length>0&&(O<0||q<0)||q>this.length)throw RangeError("Attempt to write outside buffer bounds");if(!_)_="utf8";var d=!1;for(;;)switch(_){case"hex":return x(this,V,q,O);case"utf8":case"utf-8":return N(this,V,q,O);case"ascii":case"latin1":case"binary":return a(this,V,q,O);case"base64":return U0(this,V,q,O);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return b(this,V,q,O);default:if(d)throw TypeError("Unknown encoding: "+_);_=(""+_).toLowerCase(),d=!0}},J.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function c(k,V,q){if(V===0&&q===k.length)return U.fromByteArray(k);else return U.fromByteArray(k.slice(V,q))}function T(k,V,q){q=Math.min(k.length,q);var O=[],_=V;while(_239?4:l>223?3:l>191?2:1;if(_+Q0<=q){var q0,K0,I0,H0;switch(Q0){case 1:if(l<128)d=l;break;case 2:if(q0=k[_+1],(q0&192)===128){if(H0=(l&31)<<6|q0&63,H0>127)d=H0}break;case 3:if(q0=k[_+1],K0=k[_+2],(q0&192)===128&&(K0&192)===128){if(H0=(l&15)<<12|(q0&63)<<6|K0&63,H0>2047&&(H0<55296||H0>57343))d=H0}break;case 4:if(q0=k[_+1],K0=k[_+2],I0=k[_+3],(q0&192)===128&&(K0&192)===128&&(I0&192)===128){if(H0=(l&15)<<18|(q0&63)<<12|(K0&63)<<6|I0&63,H0>65535&&H0<1114112)d=H0}}}if(d===null)d=65533,Q0=1;else if(d>65535)d-=65536,O.push(d>>>10&1023|55296),d=56320|d&1023;O.push(d),_+=Q0}return B0(O)}var m=4096;function B0(k){var V=k.length;if(V<=m)return String.fromCharCode.apply(String,k);var q="",O=0;while(OO)q=O;var _="";for(var l=V;lO)V=O;if(q<0){if(q+=O,q<0)q=0}else if(q>O)q=O;if(qq)throw RangeError("Trying to access beyond buffer length")}J.prototype.readUintLE=J.prototype.readUIntLE=function(V,q,O){if(V=V>>>0,q=q>>>0,!O)r(V,q,this.length);var _=this[V],l=1,d=0;while(++d>>0,q=q>>>0,!O)r(V,q,this.length);var _=this[V+--q],l=1;while(q>0&&(l*=256))_+=this[V+--q]*l;return _},J.prototype.readUint8=J.prototype.readUInt8=function(V,q){if(V=V>>>0,!q)r(V,1,this.length);return this[V]},J.prototype.readUint16LE=J.prototype.readUInt16LE=function(V,q){if(V=V>>>0,!q)r(V,2,this.length);return this[V]|this[V+1]<<8},J.prototype.readUint16BE=J.prototype.readUInt16BE=function(V,q){if(V=V>>>0,!q)r(V,2,this.length);return this[V]<<8|this[V+1]},J.prototype.readUint32LE=J.prototype.readUInt32LE=function(V,q){if(V=V>>>0,!q)r(V,4,this.length);return(this[V]|this[V+1]<<8|this[V+2]<<16)+this[V+3]*16777216},J.prototype.readUint32BE=J.prototype.readUInt32BE=function(V,q){if(V=V>>>0,!q)r(V,4,this.length);return this[V]*16777216+(this[V+1]<<16|this[V+2]<<8|this[V+3])},J.prototype.readIntLE=function(V,q,O){if(V=V>>>0,q=q>>>0,!O)r(V,q,this.length);var _=this[V],l=1,d=0;while(++d=l)_-=Math.pow(2,8*q);return _},J.prototype.readIntBE=function(V,q,O){if(V=V>>>0,q=q>>>0,!O)r(V,q,this.length);var _=q,l=1,d=this[V+--_];while(_>0&&(l*=256))d+=this[V+--_]*l;if(l*=128,d>=l)d-=Math.pow(2,8*q);return d},J.prototype.readInt8=function(V,q){if(V=V>>>0,!q)r(V,1,this.length);if(!(this[V]&128))return this[V];return(255-this[V]+1)*-1},J.prototype.readInt16LE=function(V,q){if(V=V>>>0,!q)r(V,2,this.length);var O=this[V]|this[V+1]<<8;return O&32768?O|4294901760:O},J.prototype.readInt16BE=function(V,q){if(V=V>>>0,!q)r(V,2,this.length);var O=this[V+1]|this[V]<<8;return O&32768?O|4294901760:O},J.prototype.readInt32LE=function(V,q){if(V=V>>>0,!q)r(V,4,this.length);return this[V]|this[V+1]<<8|this[V+2]<<16|this[V+3]<<24},J.prototype.readInt32BE=function(V,q){if(V=V>>>0,!q)r(V,4,this.length);return this[V]<<24|this[V+1]<<16|this[V+2]<<8|this[V+3]},J.prototype.readFloatLE=function(V,q){if(V=V>>>0,!q)r(V,4,this.length);return G.read(this,V,!0,23,4)},J.prototype.readFloatBE=function(V,q){if(V=V>>>0,!q)r(V,4,this.length);return G.read(this,V,!1,23,4)},J.prototype.readDoubleLE=function(V,q){if(V=V>>>0,!q)r(V,8,this.length);return G.read(this,V,!0,52,8)},J.prototype.readDoubleBE=function(V,q){if(V=V>>>0,!q)r(V,8,this.length);return G.read(this,V,!1,52,8)};function y(k,V,q,O,_,l){if(!J.isBuffer(k))throw TypeError('"buffer" argument must be a Buffer instance');if(V>_||Vk.length)throw RangeError("Index out of range")}J.prototype.writeUintLE=J.prototype.writeUIntLE=function(V,q,O,_){if(V=+V,q=q>>>0,O=O>>>0,!_){var l=Math.pow(2,8*O)-1;y(this,V,q,O,l,0)}var d=1,Q0=0;this[q]=V&255;while(++Q0>>0,O=O>>>0,!_){var l=Math.pow(2,8*O)-1;y(this,V,q,O,l,0)}var d=O-1,Q0=1;this[q+d]=V&255;while(--d>=0&&(Q0*=256))this[q+d]=V/Q0&255;return q+O},J.prototype.writeUint8=J.prototype.writeUInt8=function(V,q,O){if(V=+V,q=q>>>0,!O)y(this,V,q,1,255,0);return this[q]=V&255,q+1},J.prototype.writeUint16LE=J.prototype.writeUInt16LE=function(V,q,O){if(V=+V,q=q>>>0,!O)y(this,V,q,2,65535,0);return this[q]=V&255,this[q+1]=V>>>8,q+2},J.prototype.writeUint16BE=J.prototype.writeUInt16BE=function(V,q,O){if(V=+V,q=q>>>0,!O)y(this,V,q,2,65535,0);return this[q]=V>>>8,this[q+1]=V&255,q+2},J.prototype.writeUint32LE=J.prototype.writeUInt32LE=function(V,q,O){if(V=+V,q=q>>>0,!O)y(this,V,q,4,4294967295,0);return this[q+3]=V>>>24,this[q+2]=V>>>16,this[q+1]=V>>>8,this[q]=V&255,q+4},J.prototype.writeUint32BE=J.prototype.writeUInt32BE=function(V,q,O){if(V=+V,q=q>>>0,!O)y(this,V,q,4,4294967295,0);return this[q]=V>>>24,this[q+1]=V>>>16,this[q+2]=V>>>8,this[q+3]=V&255,q+4},J.prototype.writeIntLE=function(V,q,O,_){if(V=+V,q=q>>>0,!_){var l=Math.pow(2,8*O-1);y(this,V,q,O,l-1,-l)}var d=0,Q0=1,q0=0;this[q]=V&255;while(++d>0)-q0&255}return q+O},J.prototype.writeIntBE=function(V,q,O,_){if(V=+V,q=q>>>0,!_){var l=Math.pow(2,8*O-1);y(this,V,q,O,l-1,-l)}var d=O-1,Q0=1,q0=0;this[q+d]=V&255;while(--d>=0&&(Q0*=256)){if(V<0&&q0===0&&this[q+d+1]!==0)q0=1;this[q+d]=(V/Q0>>0)-q0&255}return q+O},J.prototype.writeInt8=function(V,q,O){if(V=+V,q=q>>>0,!O)y(this,V,q,1,127,-128);if(V<0)V=255+V+1;return this[q]=V&255,q+1},J.prototype.writeInt16LE=function(V,q,O){if(V=+V,q=q>>>0,!O)y(this,V,q,2,32767,-32768);return this[q]=V&255,this[q+1]=V>>>8,q+2},J.prototype.writeInt16BE=function(V,q,O){if(V=+V,q=q>>>0,!O)y(this,V,q,2,32767,-32768);return this[q]=V>>>8,this[q+1]=V&255,q+2},J.prototype.writeInt32LE=function(V,q,O){if(V=+V,q=q>>>0,!O)y(this,V,q,4,2147483647,-2147483648);return this[q]=V&255,this[q+1]=V>>>8,this[q+2]=V>>>16,this[q+3]=V>>>24,q+4},J.prototype.writeInt32BE=function(V,q,O){if(V=+V,q=q>>>0,!O)y(this,V,q,4,2147483647,-2147483648);if(V<0)V=4294967295+V+1;return this[q]=V>>>24,this[q+1]=V>>>16,this[q+2]=V>>>8,this[q+3]=V&255,q+4};function n(k,V,q,O,_,l){if(q+O>k.length)throw RangeError("Index out of range");if(q<0)throw RangeError("Index out of range")}function o(k,V,q,O,_){if(V=+V,q=q>>>0,!_)n(k,V,q,4,340282346638528860000000000000000000000,-340282346638528860000000000000000000000);return G.write(k,V,q,O,23,4),q+4}J.prototype.writeFloatLE=function(V,q,O){return o(this,V,q,!0,O)},J.prototype.writeFloatBE=function(V,q,O){return o(this,V,q,!1,O)};function Y0(k,V,q,O,_){if(V=+V,q=q>>>0,!_)n(k,V,q,8,179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,-179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000);return G.write(k,V,q,O,52,8),q+8}J.prototype.writeDoubleLE=function(V,q,O){return Y0(this,V,q,!0,O)},J.prototype.writeDoubleBE=function(V,q,O){return Y0(this,V,q,!1,O)},J.prototype.copy=function(V,q,O,_){if(!J.isBuffer(V))throw TypeError("argument should be a Buffer");if(!O)O=0;if(!_&&_!==0)_=this.length;if(q>=V.length)q=V.length;if(!q)q=0;if(_>0&&_=this.length)throw RangeError("Index out of range");if(_<0)throw RangeError("sourceEnd out of bounds");if(_>this.length)_=this.length;if(V.length-q<_-O)_=V.length-q+O;var l=_-O;if(this===V&&typeof Uint8Array.prototype.copyWithin==="function")this.copyWithin(q,O,_);else Uint8Array.prototype.set.call(V,this.subarray(O,_),q);return l},J.prototype.fill=function(V,q,O,_){if(typeof V==="string"){if(typeof q==="string")_=q,q=0,O=this.length;else if(typeof O==="string")_=O,O=this.length;if(_!==void 0&&typeof _!=="string")throw TypeError("encoding must be a string");if(typeof _==="string"&&!J.isEncoding(_))throw TypeError("Unknown encoding: "+_);if(V.length===1){var l=V.charCodeAt(0);if(_==="utf8"&&l<128||_==="latin1")V=l}}else if(typeof V==="number")V=V&255;else if(typeof V==="boolean")V=Number(V);if(q<0||this.length>>0,O=O===void 0?this.length:O>>>0,!V)V=0;var d;if(typeof V==="number")for(d=q;d55295&&q<57344){if(!_){if(q>56319){if((V-=3)>-1)l.push(239,191,189);continue}else if(d+1===O){if((V-=3)>-1)l.push(239,191,189);continue}_=q;continue}if(q<56320){if((V-=3)>-1)l.push(239,191,189);_=q;continue}q=(_-55296<<10|q-56320)+65536}else if(_){if((V-=3)>-1)l.push(239,191,189)}if(_=null,q<128){if((V-=1)<0)break;l.push(q)}else if(q<2048){if((V-=2)<0)break;l.push(q>>6|192,q&63|128)}else if(q<65536){if((V-=3)<0)break;l.push(q>>12|224,q>>6&63|128,q&63|128)}else if(q<1114112){if((V-=4)<0)break;l.push(q>>18|240,q>>12&63|128,q>>6&63|128,q&63|128)}else throw Error("Invalid code point")}return l}function u(k){var V=[];for(var q=0;q>8,_=q%256,l.push(_),l.push(O)}return l}function Z0(k){return U.toByteArray(z(k))}function g(k,V,q,O){for(var _=0;_=V.length||_>=k.length)break;V[_+q]=k[_]}return _}function f(k,V){return k instanceof V||k!=null&&k.constructor!=null&&k.constructor.name!=null&&k.constructor.name===V.name}function R(k){return k!==k}var p=function(){var k="0123456789abcdef",V=Array(256);for(var q=0;q<16;++q){var O=q*16;for(var _=0;_<16;++_)V[O+_]=k[q]+k[_]}return V}()}),XB=R0((B,U)=>{U.exports=function(){if(typeof Symbol!=="function"||typeof Object.getOwnPropertySymbols!=="function")return!1;if(typeof Symbol.iterator==="symbol")return!0;var Y={},Q=Symbol("test"),K=Object(Q);if(typeof Q==="string")return!1;if(Object.prototype.toString.call(Q)!=="[object Symbol]")return!1;if(Object.prototype.toString.call(K)!=="[object Symbol]")return!1;var Z=42;Y[Q]=Z;for(var J in Y)return!1;if(typeof Object.keys==="function"&&Object.keys(Y).length!==0)return!1;if(typeof Object.getOwnPropertyNames==="function"&&Object.getOwnPropertyNames(Y).length!==0)return!1;var M=Object.getOwnPropertySymbols(Y);if(M.length!==1||M[0]!==Q)return!1;if(!Object.prototype.propertyIsEnumerable.call(Y,Q))return!1;if(typeof Object.getOwnPropertyDescriptor==="function"){var W=Object.getOwnPropertyDescriptor(Y,Q);if(W.value!==Z||W.enumerable!==!0)return!1}return!0}}),S8=R0((B,U)=>{var G=XB();U.exports=function(){return G()&&!!Symbol.toStringTag}}),RB=R0((B,U)=>{U.exports=Object}),FU=R0((B,U)=>{U.exports=Error}),HU=R0((B,U)=>{U.exports=EvalError}),WU=R0((B,U)=>{U.exports=RangeError}),PU=R0((B,U)=>{U.exports=ReferenceError}),LB=R0((B,U)=>{U.exports=SyntaxError}),f1=R0((B,U)=>{U.exports=TypeError}),wU=R0((B,U)=>{U.exports=URIError}),AU=R0((B,U)=>{U.exports=Math.abs}),jU=R0((B,U)=>{U.exports=Math.floor}),NU=R0((B,U)=>{U.exports=Math.max}),zU=R0((B,U)=>{U.exports=Math.min}),EU=R0((B,U)=>{U.exports=Math.pow}),TU=R0((B,U)=>{U.exports=Math.round}),DU=R0((B,U)=>{U.exports=Number.isNaN||function(Y){return Y!==Y}}),CU=R0((B,U)=>{var G=DU();U.exports=function(Q){if(G(Q)||Q===0)return Q;return Q<0?-1:1}}),kU=R0((B,U)=>{U.exports=Object.getOwnPropertyDescriptor}),K1=R0((B,U)=>{var G=kU();if(G)try{G([],"length")}catch(Y){G=null}U.exports=G}),x1=R0((B,U)=>{var G=Object.defineProperty||!1;if(G)try{G({},"a",{value:1})}catch(Y){G=!1}U.exports=G}),$U=R0((B,U)=>{var G=typeof Symbol<"u"&&Symbol,Y=XB();U.exports=function(){if(typeof G!=="function")return!1;if(typeof Symbol!=="function")return!1;if(typeof G("foo")!=="symbol")return!1;if(typeof Symbol("bar")!=="symbol")return!1;return Y()}}),IB=R0((B,U)=>{U.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null}),OB=R0((B,U)=>{U.exports=RB().getPrototypeOf||null}),SU=R0((B,U)=>{var G="Function.prototype.bind called on incompatible ",Y=Object.prototype.toString,Q=Math.max,K="[object Function]",Z=function(I,F){var D=[];for(var w=0;w{var G=SU();U.exports=Function.prototype.bind||G}),b8=R0((B,U)=>{U.exports=Function.prototype.call}),v8=R0((B,U)=>{U.exports=Function.prototype.apply}),bU=R0((B,U)=>{U.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply}),FB=R0((B,U)=>{var G=V1(),Y=v8(),Q=b8();U.exports=bU()||G.call(Q,Y)}),y8=R0((B,U)=>{var G=V1(),Y=f1(),Q=b8(),K=FB();U.exports=function(J){if(J.length<1||typeof J[0]!=="function")throw new Y("a function is required");return K(G,Q,J)}}),vU=R0((B,U)=>{var G=y8(),Y=K1(),Q;try{Q=[].__proto__===Array.prototype}catch(M){if(!M||typeof M!=="object"||!("code"in M)||M.code!=="ERR_PROTO_ACCESS")throw M}var K=!!Q&&Y&&Y(Object.prototype,"__proto__"),Z=Object,J=Z.getPrototypeOf;U.exports=K&&typeof K.get==="function"?G([K.get]):typeof J==="function"?function(W){return J(W==null?W:Z(W))}:!1}),HB=R0((B,U)=>{var G=IB(),Y=OB(),Q=vU();U.exports=G?function(Z){return G(Z)}:Y?function(Z){if(!Z||typeof Z!=="object"&&typeof Z!=="function")throw TypeError("getProto: not an object");return Y(Z)}:Q?function(Z){return Q(Z)}:null}),yU=R0((B,U)=>{var G=Function.prototype.call,Y=Object.prototype.hasOwnProperty;U.exports=V1().call(G,Y)}),WB=R0((B,U)=>{var G,Y=RB(),Q=FU(),K=HU(),Z=WU(),J=PU(),M=LB(),W=f1(),I=wU(),F=AU(),D=jU(),w=NU(),P=zU(),A=EU(),E=TU(),C=CU(),j=Function,v=function(h){try{return j('"use strict"; return ('+h+").constructor;")()}catch(Z0){}},S=K1(),H=x1(),X=function(){throw new W},$=S?function(){try{return arguments.callee,X}catch(h){try{return S(arguments,"callee").get}catch(Z0){return X}}}():X,x=$U()(),N=HB(),a=OB(),U0=IB(),b=v8(),c=b8(),T={},m=typeof Uint8Array>"u"||!N?G:N(Uint8Array),B0={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?G:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?G:ArrayBuffer,"%ArrayIteratorPrototype%":x&&N?N([][Symbol.iterator]()):G,"%AsyncFromSyncIteratorPrototype%":G,"%AsyncFunction%":T,"%AsyncGenerator%":T,"%AsyncGeneratorFunction%":T,"%AsyncIteratorPrototype%":T,"%Atomics%":typeof Atomics>"u"?G:Atomics,"%BigInt%":typeof BigInt>"u"?G:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?G:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?G:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?G:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Q,"%eval%":eval,"%EvalError%":K,"%Float16Array%":typeof Float16Array>"u"?G:Float16Array,"%Float32Array%":typeof Float32Array>"u"?G:Float32Array,"%Float64Array%":typeof Float64Array>"u"?G:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?G:FinalizationRegistry,"%Function%":j,"%GeneratorFunction%":T,"%Int8Array%":typeof Int8Array>"u"?G:Int8Array,"%Int16Array%":typeof Int16Array>"u"?G:Int16Array,"%Int32Array%":typeof Int32Array>"u"?G:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":x&&N?N(N([][Symbol.iterator]())):G,"%JSON%":typeof JSON==="object"?JSON:G,"%Map%":typeof Map>"u"?G:Map,"%MapIteratorPrototype%":typeof Map>"u"||!x||!N?G:N(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Y,"%Object.getOwnPropertyDescriptor%":S,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?G:Promise,"%Proxy%":typeof Proxy>"u"?G:Proxy,"%RangeError%":Z,"%ReferenceError%":J,"%Reflect%":typeof Reflect>"u"?G:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?G:Set,"%SetIteratorPrototype%":typeof Set>"u"||!x||!N?G:N(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?G:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":x&&N?N(""[Symbol.iterator]()):G,"%Symbol%":x?Symbol:G,"%SyntaxError%":M,"%ThrowTypeError%":$,"%TypedArray%":m,"%TypeError%":W,"%Uint8Array%":typeof Uint8Array>"u"?G:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?G:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?G:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?G:Uint32Array,"%URIError%":I,"%WeakMap%":typeof WeakMap>"u"?G:WeakMap,"%WeakRef%":typeof WeakRef>"u"?G:WeakRef,"%WeakSet%":typeof WeakSet>"u"?G:WeakSet,"%Function.prototype.call%":c,"%Function.prototype.apply%":b,"%Object.defineProperty%":H,"%Object.getPrototypeOf%":a,"%Math.abs%":F,"%Math.floor%":D,"%Math.max%":w,"%Math.min%":P,"%Math.pow%":A,"%Math.round%":E,"%Math.sign%":C,"%Reflect.getPrototypeOf%":U0};if(N)try{null.error}catch(h){B0["%Error.prototype%"]=N(N(h))}var i=function h(Z0){var g;if(Z0==="%AsyncFunction%")g=v("async function () {}");else if(Z0==="%GeneratorFunction%")g=v("function* () {}");else if(Z0==="%AsyncGeneratorFunction%")g=v("async function* () {}");else if(Z0==="%AsyncGenerator%"){var f=h("%AsyncGeneratorFunction%");if(f)g=f.prototype}else if(Z0==="%AsyncIteratorPrototype%"){var R=h("%AsyncGenerator%");if(R&&N)g=N(R.prototype)}return B0[Z0]=g,g},V0={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},s=V1(),G0=yU(),r=s.call(c,Array.prototype.concat),y=s.call(b,Array.prototype.splice),n=s.call(c,String.prototype.replace),o=s.call(c,String.prototype.slice),Y0=s.call(c,RegExp.prototype.exec),O0=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,z=/\\(\\)?/g,L=function(Z0){var g=o(Z0,0,1),f=o(Z0,-1);if(g==="%"&&f!=="%")throw new M("invalid intrinsic syntax, expected closing `%`");else if(f==="%"&&g!=="%")throw new M("invalid intrinsic syntax, expected opening `%`");var R=[];return n(Z0,O0,function(p,k,V,q){R[R.length]=V?n(q,z,"$1"):k||p}),R},u=function(Z0,g){var f=Z0,R;if(G0(V0,f))R=V0[f],f="%"+R[0]+"%";if(G0(B0,f)){var p=B0[f];if(p===T)p=i(f);if(typeof p>"u"&&!g)throw new W("intrinsic "+Z0+" exists, but is not available. Please file an issue!");return{alias:R,name:f,value:p}}throw new M("intrinsic "+Z0+" does not exist!")};U.exports=function(Z0,g){if(typeof Z0!=="string"||Z0.length===0)throw new W("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof g!=="boolean")throw new W('"allowMissing" argument must be a boolean');if(Y0(/^%?[^%]*%?$/,Z0)===null)throw new M("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var f=L(Z0),R=f.length>0?f[0]:"",p=u("%"+R+"%",g),k=p.name,V=p.value,q=!1,O=p.alias;if(O)R=O[0],y(f,r([0,1],O));for(var _=1,l=!0;_=f.length){var K0=S(V,d);if(l=!!K0,l&&"get"in K0&&!("originalValue"in K0.get))V=K0.get;else V=V[d]}else l=G0(V,d),V=V[d];if(l&&!q)B0[k]=V}}return V}}),PB=R0((B,U)=>{var G=WB(),Y=y8(),Q=Y([G("%String.prototype.indexOf%")]);U.exports=function(Z,J){var M=G(Z,!!J);if(typeof M==="function"&&Q(Z,".prototype.")>-1)return Y([M]);return M}}),gU=R0((B,U)=>{var G=S8()(),Y=PB()("Object.prototype.toString"),Q=function(M){if(G&&M&&typeof M==="object"&&Symbol.toStringTag in M)return!1;return Y(M)==="[object Arguments]"},K=function(M){if(Q(M))return!0;return M!==null&&typeof M==="object"&&"length"in M&&typeof M.length==="number"&&M.length>=0&&Y(M)!=="[object Array]"&&"callee"in M&&Y(M.callee)==="[object Function]"},Z=function(){return Q(arguments)}();Q.isLegacyArguments=K,U.exports=Z?Q:K}),fU=R0((B,U)=>{var G=Object.prototype.toString,Y=Function.prototype.toString,Q=/^\s*(?:function)?\*/,K=S8()(),Z=Object.getPrototypeOf,J=function(){if(!K)return!1;try{return Function("return function*() {}")()}catch(W){}},M;U.exports=function(I){if(typeof I!=="function")return!1;if(Q.test(Y.call(I)))return!0;if(!K)return G.call(I)==="[object GeneratorFunction]";if(!Z)return!1;if(typeof M>"u"){var F=J();M=F?Z(F):!1}return Z(I)===M}}),xU=R0((B,U)=>{var G=Function.prototype.toString,Y=typeof Reflect==="object"&&Reflect!==null&&Reflect.apply,Q,K;if(typeof Y==="function"&&typeof Object.defineProperty==="function")try{Q=Object.defineProperty({},"length",{get:function(){throw K}}),K={},Y(function(){throw 42},null,Q)}catch(S){if(S!==K)Y=null}else Y=null;var Z=/^\s*class\b/,J=function(H){try{var X=G.call(H);return Z.test(X)}catch($){return!1}},M=function(H){try{if(J(H))return!1;return G.call(H),!0}catch(X){return!1}},W=Object.prototype.toString,I="[object Object]",F="[object Function]",D="[object GeneratorFunction]",w="[object HTMLAllCollection]",P="[object HTML document.all class]",A="[object HTMLCollection]",E=typeof Symbol==="function"&&!!Symbol.toStringTag,C=!(0 in[,]),j=function(){return!1};if(typeof document==="object"){var v=document.all;if(W.call(v)===W.call(document.all))j=function(H){if((C||!H)&&(typeof H>"u"||typeof H==="object"))try{var X=W.call(H);return(X===w||X===P||X===A||X===I)&&H("")==null}catch($){}return!1}}U.exports=Y?function(H){if(j(H))return!0;if(!H)return!1;if(typeof H!=="function"&&typeof H!=="object")return!1;try{Y(H,null,Q)}catch(X){if(X!==K)return!1}return!J(H)&&M(H)}:function(H){if(j(H))return!0;if(!H)return!1;if(typeof H!=="function"&&typeof H!=="object")return!1;if(E)return M(H);if(J(H))return!1;var X=W.call(H);if(X!==F&&X!==D&&!/^\[object HTML/.test(X))return!1;return M(H)}}),_U=R0((B,U)=>{var G=xU(),Y=Object.prototype.toString,Q=Object.prototype.hasOwnProperty,K=function(I,F,D){for(var w=0,P=I.length;w=3)w=D;if(M(I))K(I,F,w);else if(typeof I==="string")Z(I,F,w);else J(I,F,w)}}),hU=R0((B,U)=>{U.exports=["Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]}),uU=R0((B,U)=>{d2();var G=hU(),Y=typeof globalThis>"u"?v0:globalThis;U.exports=function(){var K=[];for(var Z=0;Z{var G=x1(),Y=LB(),Q=f1(),K=K1();U.exports=function(J,M,W){if(!J||typeof J!=="object"&&typeof J!=="function")throw new Q("`obj` must be an object or a function`");if(typeof M!=="string"&&typeof M!=="symbol")throw new Q("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!=="boolean"&&arguments[3]!==null)throw new Q("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!=="boolean"&&arguments[4]!==null)throw new Q("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!=="boolean"&&arguments[5]!==null)throw new Q("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!=="boolean")throw new Q("`loose`, if provided, must be a boolean");var I=arguments.length>3?arguments[3]:null,F=arguments.length>4?arguments[4]:null,D=arguments.length>5?arguments[5]:null,w=arguments.length>6?arguments[6]:!1,P=!!K&&K(J,M);if(G)G(J,M,{configurable:D===null&&P?P.configurable:!D,enumerable:I===null&&P?P.enumerable:!I,value:W,writable:F===null&&P?P.writable:!F});else if(w||!I&&!F&&!D)J[M]=W;else throw new Y("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}}),cU=R0((B,U)=>{var G=x1(),Y=function(){return!!G};Y.hasArrayLengthDefineBug=function(){if(!G)return null;try{return G([],"length",{value:1}).length!==1}catch(K){return!0}},U.exports=Y}),mU=R0((B,U)=>{var G=WB(),Y=dU(),Q=cU()(),K=K1(),Z=f1(),J=G("%Math.floor%");U.exports=function(W,I){if(typeof W!=="function")throw new Z("`fn` is not a function");if(typeof I!=="number"||I<0||I>4294967295||J(I)!==I)throw new Z("`length` must be a positive 32-bit integer");var F=arguments.length>2&&!!arguments[2],D=!0,w=!0;if("length"in W&&K){var P=K(W,"length");if(P&&!P.configurable)D=!1;if(P&&!P.writable)w=!1}if(D||w||!F)if(Q)Y(W,"length",I,!0,!0);else Y(W,"length",I);return W}}),lU=R0((B,U)=>{var G=V1(),Y=v8(),Q=FB();U.exports=function(){return Q(G,Y,arguments)}}),aU=R0((B,U)=>{var G=mU(),Y=x1(),Q=y8(),K=lU();if(U.exports=function(J){var M=Q(arguments),W=J.length-(arguments.length-1);return G(M,1+(W>0?W:0),!0)},Y)Y(U.exports,"apply",{value:K});else U.exports.apply=K}),wB=R0((B,U)=>{d2();var G=_U(),Y=uU(),Q=aU(),K=PB(),Z=K1(),J=HB(),M=K("Object.prototype.toString"),W=S8()(),I=typeof globalThis>"u"?v0:globalThis,F=Y(),D=K("String.prototype.slice"),w=K("Array.prototype.indexOf",!0)||function(j,v){for(var S=0;S-1)return v;if(v!=="Object")return!1;return E(j)}if(!Z)return null;return A(j)}}),pU=R0((B,U)=>{var G=wB();U.exports=function(Q){return!!G(Q)}}),rU=R0((B)=>{var U=gU(),G=fU(),Y=wB(),Q=pU();function K(O){return O.call.bind(O)}var Z=typeof BigInt<"u",J=typeof Symbol<"u",M=K(Object.prototype.toString),W=K(Number.prototype.valueOf),I=K(String.prototype.valueOf),F=K(Boolean.prototype.valueOf);if(Z)var D=K(BigInt.prototype.valueOf);if(J)var w=K(Symbol.prototype.valueOf);function P(O,_){if(typeof O!=="object")return!1;try{return _(O),!0}catch(l){return!1}}B.isArgumentsObject=U,B.isGeneratorFunction=G,B.isTypedArray=Q;function A(O){return typeof Promise<"u"&&O instanceof Promise||O!==null&&typeof O==="object"&&typeof O.then==="function"&&typeof O.catch==="function"}B.isPromise=A;function E(O){if(typeof ArrayBuffer<"u"&&ArrayBuffer.isView)return ArrayBuffer.isView(O);return Q(O)||n(O)}B.isArrayBufferView=E;function C(O){return Y(O)==="Uint8Array"}B.isUint8Array=C;function j(O){return Y(O)==="Uint8ClampedArray"}B.isUint8ClampedArray=j;function v(O){return Y(O)==="Uint16Array"}B.isUint16Array=v;function S(O){return Y(O)==="Uint32Array"}B.isUint32Array=S;function H(O){return Y(O)==="Int8Array"}B.isInt8Array=H;function X(O){return Y(O)==="Int16Array"}B.isInt16Array=X;function $(O){return Y(O)==="Int32Array"}B.isInt32Array=$;function x(O){return Y(O)==="Float32Array"}B.isFloat32Array=x;function N(O){return Y(O)==="Float64Array"}B.isFloat64Array=N;function a(O){return Y(O)==="BigInt64Array"}B.isBigInt64Array=a;function U0(O){return Y(O)==="BigUint64Array"}B.isBigUint64Array=U0;function b(O){return M(O)==="[object Map]"}b.working=typeof Map<"u"&&b(new Map);function c(O){if(typeof Map>"u")return!1;return b.working?b(O):O instanceof Map}B.isMap=c;function T(O){return M(O)==="[object Set]"}T.working=typeof Set<"u"&&T(new Set);function m(O){if(typeof Set>"u")return!1;return T.working?T(O):O instanceof Set}B.isSet=m;function B0(O){return M(O)==="[object WeakMap]"}B0.working=typeof WeakMap<"u"&&B0(new WeakMap);function i(O){if(typeof WeakMap>"u")return!1;return B0.working?B0(O):O instanceof WeakMap}B.isWeakMap=i;function V0(O){return M(O)==="[object WeakSet]"}V0.working=typeof WeakSet<"u"&&V0(new WeakSet);function s(O){return V0(O)}B.isWeakSet=s;function G0(O){return M(O)==="[object ArrayBuffer]"}G0.working=typeof ArrayBuffer<"u"&&G0(new ArrayBuffer);function r(O){if(typeof ArrayBuffer>"u")return!1;return G0.working?G0(O):O instanceof ArrayBuffer}B.isArrayBuffer=r;function y(O){return M(O)==="[object DataView]"}y.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&y(new DataView(new ArrayBuffer(1),0,1));function n(O){if(typeof DataView>"u")return!1;return y.working?y(O):O instanceof DataView}B.isDataView=n;var o=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function Y0(O){return M(O)==="[object SharedArrayBuffer]"}function O0(O){if(typeof o>"u")return!1;if(typeof Y0.working>"u")Y0.working=Y0(new o);return Y0.working?Y0(O):O instanceof o}B.isSharedArrayBuffer=O0;function z(O){return M(O)==="[object AsyncFunction]"}B.isAsyncFunction=z;function L(O){return M(O)==="[object Map Iterator]"}B.isMapIterator=L;function u(O){return M(O)==="[object Set Iterator]"}B.isSetIterator=u;function h(O){return M(O)==="[object Generator]"}B.isGeneratorObject=h;function Z0(O){return M(O)==="[object WebAssembly.Module]"}B.isWebAssemblyCompiledModule=Z0;function g(O){return P(O,W)}B.isNumberObject=g;function f(O){return P(O,I)}B.isStringObject=f;function R(O){return P(O,F)}B.isBooleanObject=R;function p(O){return Z&&P(O,D)}B.isBigIntObject=p;function k(O){return J&&P(O,w)}B.isSymbolObject=k;function V(O){return g(O)||f(O)||R(O)||p(O)||k(O)}B.isBoxedPrimitive=V;function q(O){return typeof Uint8Array<"u"&&(r(O)||O0(O))}B.isAnyArrayBuffer=q,["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(O){Object.defineProperty(B,O,{enumerable:!1,value:function(){throw Error(O+" is not supported in userland")}})})}),iU=R0((B,U)=>{U.exports=function(Y){return Y&&typeof Y==="object"&&typeof Y.copy==="function"&&typeof Y.fill==="function"&&typeof Y.readUInt8==="function"}}),AB=R0((B)=>{P2();var U=Object.getOwnPropertyDescriptors||function(n){var o=Object.keys(n),Y0={};for(var O0=0;O0=O0)return u;switch(u){case"%s":return String(Y0[o++]);case"%d":return Number(Y0[o++]);case"%j":try{return JSON.stringify(Y0[o++])}catch(h){return"[Circular]"}default:return u}});for(var L=Y0[o];o"u")return function(){return B.deprecate(y,n).apply(this,arguments)};var o=!1;function Y0(){if(!o){if(P0.throwDeprecation)throw Error(n);else if(P0.traceDeprecation)console.trace(n);else console.error(n);o=!0}return y.apply(this,arguments)}return Y0};var Y={},Q=/^$/;if(P0.env.NODE_DEBUG){var K=P0.env.NODE_DEBUG;K=K.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),Q=new RegExp("^"+K+"$","i")}B.debuglog=function(y){if(y=y.toUpperCase(),!Y[y])if(Q.test(y)){var n=P0.pid;Y[y]=function(){var o=B.format.apply(B,arguments);console.error("%s %d: %s",y,n,o)}}else Y[y]=function(){};return Y[y]};function Z(y,n){var o={seen:[],stylize:M};if(arguments.length>=3)o.depth=arguments[2];if(arguments.length>=4)o.colors=arguments[3];if(C(n))o.showHidden=n;else if(n)B._extend(o,n);if($(o.showHidden))o.showHidden=!1;if($(o.depth))o.depth=2;if($(o.colors))o.colors=!1;if($(o.customInspect))o.customInspect=!0;if(o.colors)o.stylize=J;return I(o,y,o.depth)}B.inspect=Z,Z.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},Z.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function J(y,n){var o=Z.styles[n];if(o)return"\x1B["+Z.colors[o][0]+"m"+y+"\x1B["+Z.colors[o][1]+"m";else return y}function M(y,n){return y}function W(y){var n={};return y.forEach(function(o,Y0){n[o]=!0}),n}function I(y,n,o){if(y.customInspect&&n&&b(n.inspect)&&n.inspect!==B.inspect&&!(n.constructor&&n.constructor.prototype===n)){var Y0=n.inspect(o,y);if(!H(Y0))Y0=I(y,Y0,o);return Y0}var O0=F(y,n);if(O0)return O0;var z=Object.keys(n),L=W(z);if(y.showHidden)z=Object.getOwnPropertyNames(n);if(U0(n)&&(z.indexOf("message")>=0||z.indexOf("description")>=0))return D(n);if(z.length===0){if(b(n)){var u=n.name?": "+n.name:"";return y.stylize("[Function"+u+"]","special")}if(x(n))return y.stylize(RegExp.prototype.toString.call(n),"regexp");if(a(n))return y.stylize(Date.prototype.toString.call(n),"date");if(U0(n))return D(n)}var h="",Z0=!1,g=["{","}"];if(E(n))Z0=!0,g=["[","]"];if(b(n))h=" [Function"+(n.name?": "+n.name:"")+"]";if(x(n))h=" "+RegExp.prototype.toString.call(n);if(a(n))h=" "+Date.prototype.toUTCString.call(n);if(U0(n))h=" "+D(n);if(z.length===0&&(!Z0||n.length==0))return g[0]+h+g[1];if(o<0)if(x(n))return y.stylize(RegExp.prototype.toString.call(n),"regexp");else return y.stylize("[Object]","special");y.seen.push(n);var f;if(Z0)f=w(y,n,o,L,z);else f=z.map(function(R){return P(y,n,o,L,R,Z0)});return y.seen.pop(),A(f,h,g)}function F(y,n){if($(n))return y.stylize("undefined","undefined");if(H(n)){var o="'"+JSON.stringify(n).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return y.stylize(o,"string")}if(S(n))return y.stylize(""+n,"number");if(C(n))return y.stylize(""+n,"boolean");if(j(n))return y.stylize("null","null")}function D(y){return"["+Error.prototype.toString.call(y)+"]"}function w(y,n,o,Y0,O0){var z=[];for(var L=0,u=n.length;L-1)if(z)u=u.split(` +`).map(function(Z0){return" "+Z0}).join(` +`).slice(2);else u=` +`+u.split(` +`).map(function(Z0){return" "+Z0}).join(` +`)}else u=y.stylize("[Circular]","special");if($(L)){if(z&&O0.match(/^\d+$/))return u;if(L=JSON.stringify(""+O0),L.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/))L=L.slice(1,-1),L=y.stylize(L,"name");else L=L.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),L=y.stylize(L,"string")}return L+": "+u}function A(y,n,o){var Y0=0;if(y.reduce(function(O0,z){if(Y0++,z.indexOf(` +`)>=0)Y0++;return O0+z.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return o[0]+(n===""?"":n+` + `)+" "+y.join(`, + `)+" "+o[1];return o[0]+n+" "+y.join(", ")+" "+o[1]}B.types=rU();function E(y){return Array.isArray(y)}B.isArray=E;function C(y){return typeof y==="boolean"}B.isBoolean=C;function j(y){return y===null}B.isNull=j;function v(y){return y==null}B.isNullOrUndefined=v;function S(y){return typeof y==="number"}B.isNumber=S;function H(y){return typeof y==="string"}B.isString=H;function X(y){return typeof y==="symbol"}B.isSymbol=X;function $(y){return y===void 0}B.isUndefined=$;function x(y){return N(y)&&T(y)==="[object RegExp]"}B.isRegExp=x,B.types.isRegExp=x;function N(y){return typeof y==="object"&&y!==null}B.isObject=N;function a(y){return N(y)&&T(y)==="[object Date]"}B.isDate=a,B.types.isDate=a;function U0(y){return N(y)&&(T(y)==="[object Error]"||y instanceof Error)}B.isError=U0,B.types.isNativeError=U0;function b(y){return typeof y==="function"}B.isFunction=b;function c(y){return y===null||typeof y==="boolean"||typeof y==="number"||typeof y==="string"||typeof y==="symbol"||typeof y>"u"}B.isPrimitive=c,B.isBuffer=iU();function T(y){return Object.prototype.toString.call(y)}function m(y){return y<10?"0"+y.toString(10):y.toString(10)}var B0=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function i(){var y=new Date,n=[m(y.getHours()),m(y.getMinutes()),m(y.getSeconds())].join(":");return[y.getDate(),B0[y.getMonth()],n].join(" ")}B.log=function(){console.log("%s - %s",i(),B.format.apply(B,arguments))},B.inherits=W2(),B._extend=function(y,n){if(!n||!N(n))return y;var o=Object.keys(n),Y0=o.length;while(Y0--)y[o[Y0]]=n[o[Y0]];return y};function V0(y,n){return Object.prototype.hasOwnProperty.call(y,n)}var s=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;B.promisify=function(n){if(typeof n!=="function")throw TypeError('The "original" argument must be of type Function');if(s&&n[s]){var o=n[s];if(typeof o!=="function")throw TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(o,s,{value:o,enumerable:!1,writable:!1,configurable:!0}),o}function o(){var Y0,O0,z=new Promise(function(h,Z0){Y0=h,O0=Z0}),L=[];for(var u=0;u{function G(P,A){var E=Object.keys(P);if(Object.getOwnPropertySymbols){var C=Object.getOwnPropertySymbols(P);A&&(C=C.filter(function(j){return Object.getOwnPropertyDescriptor(P,j).enumerable})),E.push.apply(E,C)}return E}function Y(P){for(var A=1;A0)this.tail.next=C;else this.head=C;this.tail=C,++this.length}},{key:"unshift",value:function(E){var C={data:E,next:this.head};if(this.length===0)this.tail=C;this.head=C,++this.length}},{key:"shift",value:function(){if(this.length===0)return;var E=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;return--this.length,E}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(E){if(this.length===0)return"";var C=this.head,j=""+C.data;while(C=C.next)j+=E+C.data;return j}},{key:"concat",value:function(E){if(this.length===0)return I.alloc(0);var C=I.allocUnsafe(E>>>0),j=this.head,v=0;while(j)w(j.data,C,v),v+=j.data.length,j=j.next;return C}},{key:"consume",value:function(E,C){var j;if(ES.length?S.length:E;if(H===S.length)v+=S;else v+=S.slice(0,E);if(E-=H,E===0){if(H===S.length)if(++j,C.next)this.head=C.next;else this.head=this.tail=null;else this.head=C,C.data=S.slice(H);break}++j}return this.length-=j,v}},{key:"_getBuffer",value:function(E){var C=I.allocUnsafe(E),j=this.head,v=1;j.data.copy(C),E-=j.data.length;while(j=j.next){var S=j.data,H=E>S.length?S.length:E;if(S.copy(C,C.length-E,0,H),E-=H,E===0){if(H===S.length)if(++v,j.next)this.head=j.next;else this.head=this.tail=null;else this.head=j,j.data=S.slice(H);break}++v}return this.length-=v,C}},{key:D,value:function(E,C){return F(this,Y(Y({},C),{},{depth:0,customInspect:!1}))}}]),P}()}),jB=R0((B,U)=>{P2();function G(M,W){var I=this,F=this._readableState&&this._readableState.destroyed,D=this._writableState&&this._writableState.destroyed;if(F||D){if(W)W(M);else if(M){if(!this._writableState)P0.nextTick(Z,this,M);else if(!this._writableState.errorEmitted)this._writableState.errorEmitted=!0,P0.nextTick(Z,this,M)}return this}if(this._readableState)this._readableState.destroyed=!0;if(this._writableState)this._writableState.destroyed=!0;return this._destroy(M||null,function(w){if(!W&&w)if(!I._writableState)P0.nextTick(Y,I,w);else if(!I._writableState.errorEmitted)I._writableState.errorEmitted=!0,P0.nextTick(Y,I,w);else P0.nextTick(Q,I);else if(W)P0.nextTick(Q,I),W(w);else P0.nextTick(Q,I)}),this}function Y(M,W){Z(M,W),Q(M)}function Q(M){if(M._writableState&&!M._writableState.emitClose)return;if(M._readableState&&!M._readableState.emitClose)return;M.emit("close")}function K(){if(this._readableState)this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1;if(this._writableState)this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1}function Z(M,W){M.emit("error",W)}function J(M,W){var{_readableState:I,_writableState:F}=M;if(I&&I.autoDestroy||F&&F.autoDestroy)M.destroy(W);else M.emit("error",W)}U.exports={destroy:G,undestroy:K,errorOrDestroy:J}}),c2=R0((B,U)=>{function G(W,I){W.prototype=Object.create(I.prototype),W.prototype.constructor=W,W.__proto__=I}var Y={};function Q(W,I,F){if(!F)F=Error;function D(P,A,E){if(typeof I==="string")return I;else return I(P,A,E)}var w=function(P){G(A,P);function A(E,C,j){return P.call(this,D(E,C,j))||this}return A}(F);w.prototype.name=F.name,w.prototype.code=W,Y[W]=w}function K(W,I){if(Array.isArray(W)){var F=W.length;if(W=W.map(function(D){return String(D)}),F>2)return"one of ".concat(I," ").concat(W.slice(0,F-1).join(", "),", or ")+W[F-1];else if(F===2)return"one of ".concat(I," ").concat(W[0]," or ").concat(W[1]);else return"of ".concat(I," ").concat(W[0])}else return"of ".concat(I," ").concat(String(W))}function Z(W,I,F){return W.substr(!F||F<0?0:+F,I.length)===I}function J(W,I,F){if(F===void 0||F>W.length)F=W.length;return W.substring(F-I.length,F)===I}function M(W,I,F){if(typeof F!=="number")F=0;if(F+I.length>W.length)return!1;else return W.indexOf(I,F)!==-1}Q("ERR_INVALID_OPT_VALUE",function(W,I){return'The value "'+I+'" is invalid for option "'+W+'"'},TypeError),Q("ERR_INVALID_ARG_TYPE",function(W,I,F){var D;if(typeof I==="string"&&Z(I,"not "))D="must not be",I=I.replace(/^not /,"");else D="must be";var w;if(J(W," argument"))w="The ".concat(W," ").concat(D," ").concat(K(I,"type"));else{var P=M(W,".")?"property":"argument";w='The "'.concat(W,'" ').concat(P," ").concat(D," ").concat(K(I,"type"))}return w+=". Received type ".concat(typeof F),w},TypeError),Q("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),Q("ERR_METHOD_NOT_IMPLEMENTED",function(W){return"The "+W+" method is not implemented"}),Q("ERR_STREAM_PREMATURE_CLOSE","Premature close"),Q("ERR_STREAM_DESTROYED",function(W){return"Cannot call "+W+" after a stream was destroyed"}),Q("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),Q("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),Q("ERR_STREAM_WRITE_AFTER_END","write after end"),Q("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),Q("ERR_UNKNOWN_ENCODING",function(W){return"Unknown encoding: "+W},TypeError),Q("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),U.exports.codes=Y}),NB=R0((B,U)=>{var G=c2().codes.ERR_INVALID_OPT_VALUE;function Y(K,Z,J){return K.highWaterMark!=null?K.highWaterMark:Z?K[J]:null}function Q(K,Z,J,M){var W=Y(Z,M,J);if(W!=null){if(!(isFinite(W)&&Math.floor(W)===W)||W<0)throw new G(M?J:"highWaterMark",W);return Math.floor(W)}return K.objectMode?16:16384}U.exports={getHighWaterMark:Q}}),sU=R0((B,U)=>{d2(),U.exports=G;function G(Q,K){if(Y("noDeprecation"))return Q;var Z=!1;function J(){if(!Z){if(Y("throwDeprecation"))throw Error(K);else if(Y("traceDeprecation"))console.trace(K);else console.warn(K);Z=!0}return Q.apply(this,arguments)}return J}function Y(Q){try{if(!v0.localStorage)return!1}catch(Z){return!1}var K=v0.localStorage[Q];if(K==null)return!1;return String(K).toLowerCase()==="true"}}),zB=R0((B,U)=>{d2(),P2(),U.exports=N;function G(z){var L=this;this.next=null,this.entry=null,this.finish=function(){O0(L,z)}}var Y;N.WritableState=$;var Q={deprecate:sU()},K=MB(),Z=g1().Buffer,J=(typeof v0<"u"?v0:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function M(z){return Z.from(z)}function W(z){return Z.isBuffer(z)||z instanceof J}var I=jB(),F=NB().getHighWaterMark,D=c2().codes,w=D.ERR_INVALID_ARG_TYPE,P=D.ERR_METHOD_NOT_IMPLEMENTED,A=D.ERR_MULTIPLE_CALLBACK,E=D.ERR_STREAM_CANNOT_PIPE,C=D.ERR_STREAM_DESTROYED,j=D.ERR_STREAM_NULL_VALUES,v=D.ERR_STREAM_WRITE_AFTER_END,S=D.ERR_UNKNOWN_ENCODING,H=I.errorOrDestroy;W2()(N,K);function X(){}function $(z,L,u){if(Y=Y||u2(),z=z||{},typeof u!=="boolean")u=L instanceof Y;if(this.objectMode=!!z.objectMode,u)this.objectMode=this.objectMode||!!z.writableObjectMode;this.highWaterMark=F(this,z,"writableHighWaterMark",u),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=z.decodeStrings===!1;this.decodeStrings=!h,this.defaultEncoding=z.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(Z0){i(L,Z0)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=z.emitClose!==!1,this.autoDestroy=!!z.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new G(this)}$.prototype.getBuffer=function(){var L=this.bufferedRequest,u=[];while(L)u.push(L),L=L.next;return u},function(){try{Object.defineProperty($.prototype,"buffer",{get:Q.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(z){}}();var x;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function")x=Function.prototype[Symbol.hasInstance],Object.defineProperty(N,Symbol.hasInstance,{value:function(L){if(x.call(this,L))return!0;if(this!==N)return!1;return L&&L._writableState instanceof $}});else x=function(L){return L instanceof this};function N(z){Y=Y||u2();var L=this instanceof Y;if(!L&&!x.call(N,this))return new N(z);if(this._writableState=new $(z,this,L),this.writable=!0,z){if(typeof z.write==="function")this._write=z.write;if(typeof z.writev==="function")this._writev=z.writev;if(typeof z.destroy==="function")this._destroy=z.destroy;if(typeof z.final==="function")this._final=z.final}K.call(this)}N.prototype.pipe=function(){H(this,new E)};function a(z,L){var u=new v;H(z,u),P0.nextTick(L,u)}function U0(z,L,u,h){var Z0;if(u===null)Z0=new j;else if(typeof u!=="string"&&!L.objectMode)Z0=new w("chunk",["string","Buffer"],u);if(Z0)return H(z,Z0),P0.nextTick(h,Z0),!1;return!0}N.prototype.write=function(z,L,u){var h=this._writableState,Z0=!1,g=!h.objectMode&&W(z);if(g&&!Z.isBuffer(z))z=M(z);if(typeof L==="function")u=L,L=null;if(g)L="buffer";else if(!L)L=h.defaultEncoding;if(typeof u!=="function")u=X;if(h.ending)a(this,u);else if(g||U0(this,h,z,u))h.pendingcb++,Z0=c(this,h,g,z,L,u);return Z0},N.prototype.cork=function(){this._writableState.corked++},N.prototype.uncork=function(){var z=this._writableState;if(z.corked){if(z.corked--,!z.writing&&!z.corked&&!z.bufferProcessing&&z.bufferedRequest)G0(this,z)}},N.prototype.setDefaultEncoding=function(L){if(typeof L==="string")L=L.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((L+"").toLowerCase())>-1))throw new S(L);return this._writableState.defaultEncoding=L,this},Object.defineProperty(N.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function b(z,L,u){if(!z.objectMode&&z.decodeStrings!==!1&&typeof L==="string")L=Z.from(L,u);return L}Object.defineProperty(N.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function c(z,L,u,h,Z0,g){if(!u){var f=b(L,h,Z0);if(h!==f)u=!0,Z0="buffer",h=f}var R=L.objectMode?1:h.length;L.length+=R;var p=L.length{P2();var G=Object.keys||function(F){var D=[];for(var w in F)D.push(w);return D};U.exports=M;var Y=EB(),Q=zB();W2()(M,Y);var K=G(Q.prototype);for(var Z=0;Z{var G=g1(),Y=G.Buffer;function Q(Z,J){for(var M in Z)J[M]=Z[M]}if(Y.from&&Y.alloc&&Y.allocUnsafe&&Y.allocUnsafeSlow)U.exports=G;else Q(G,B),B.Buffer=K;function K(Z,J,M){return Y(Z,J,M)}Q(Y,K),K.from=function(Z,J,M){if(typeof Z==="number")throw TypeError("Argument must not be a number");return Y(Z,J,M)},K.alloc=function(Z,J,M){if(typeof Z!=="number")throw TypeError("Argument must be a number");var W=Y(Z);if(J!==void 0)if(typeof M==="string")W.fill(J,M);else W.fill(J);else W.fill(0);return W},K.allocUnsafe=function(Z){if(typeof Z!=="number")throw TypeError("Argument must be a number");return Y(Z)},K.allocUnsafeSlow=function(Z){if(typeof Z!=="number")throw TypeError("Argument must be a number");return G.SlowBuffer(Z)}}),F8=R0((B)=>{var U=oU().Buffer,G=U.isEncoding||function(j){switch(j=""+j,j&&j.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function Y(j){if(!j)return"utf8";var v;while(!0)switch(j){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return j;default:if(v)return;j=(""+j).toLowerCase(),v=!0}}function Q(j){var v=Y(j);if(typeof v!=="string"&&(U.isEncoding===G||!G(j)))throw Error("Unknown encoding: "+j);return v||j}B.StringDecoder=K;function K(j){this.encoding=Q(j);var v;switch(this.encoding){case"utf16le":this.text=D,this.end=w,v=4;break;case"utf8":this.fillLast=W,v=4;break;case"base64":this.text=P,this.end=A,v=3;break;default:this.write=E,this.end=C;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=U.allocUnsafe(v)}K.prototype.write=function(j){if(j.length===0)return"";var v,S;if(this.lastNeed){if(v=this.fillLast(j),v===void 0)return"";S=this.lastNeed,this.lastNeed=0}else S=0;if(S>5===6)return 2;else if(j>>4===14)return 3;else if(j>>3===30)return 4;return j>>6===2?-1:-2}function J(j,v,S){var H=v.length-1;if(H=0){if(X>0)j.lastNeed=X-1;return X}if(--H=0){if(X>0)j.lastNeed=X-2;return X}if(--H=0){if(X>0)if(X===2)X=0;else j.lastNeed=X-3;return X}return 0}function M(j,v,S){if((v[0]&192)!==128)return j.lastNeed=0,"�";if(j.lastNeed>1&&v.length>1){if((v[1]&192)!==128)return j.lastNeed=1,"�";if(j.lastNeed>2&&v.length>2){if((v[2]&192)!==128)return j.lastNeed=2,"�"}}}function W(j){var v=this.lastTotal-this.lastNeed,S=M(this,j,v);if(S!==void 0)return S;if(this.lastNeed<=j.length)return j.copy(this.lastChar,v,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);j.copy(this.lastChar,v,0,j.length),this.lastNeed-=j.length}function I(j,v){var S=J(this,j,v);if(!this.lastNeed)return j.toString("utf8",v);this.lastTotal=S;var H=j.length-(S-this.lastNeed);return j.copy(this.lastChar,0,H),j.toString("utf8",v,H)}function F(j){var v=j&&j.length?this.write(j):"";if(this.lastNeed)return v+"�";return v}function D(j,v){if((j.length-v)%2===0){var S=j.toString("utf16le",v);if(S){var H=S.charCodeAt(S.length-1);if(H>=55296&&H<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=j[j.length-2],this.lastChar[1]=j[j.length-1],S.slice(0,-1)}return S}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=j[j.length-1],j.toString("utf16le",v,j.length-1)}function w(j){var v=j&&j.length?this.write(j):"";if(this.lastNeed){var S=this.lastTotal-this.lastNeed;return v+this.lastChar.toString("utf16le",0,S)}return v}function P(j,v){var S=(j.length-v)%3;if(S===0)return j.toString("base64",v);if(this.lastNeed=3-S,this.lastTotal=3,S===1)this.lastChar[0]=j[j.length-1];else this.lastChar[0]=j[j.length-2],this.lastChar[1]=j[j.length-1];return j.toString("base64",v,j.length-S)}function A(j){var v=j&&j.length?this.write(j):"";if(this.lastNeed)return v+this.lastChar.toString("base64",0,3-this.lastNeed);return v}function E(j){return j.toString(this.encoding)}function C(j){return j&&j.length?this.write(j):""}}),g8=R0((B,U)=>{var G=c2().codes.ERR_STREAM_PREMATURE_CLOSE;function Y(J){var M=!1;return function(){if(M)return;M=!0;for(var W=arguments.length,I=Array(W),F=0;F{P2();var G;function Y(S,H,X){if(H=Q(H),H in S)Object.defineProperty(S,H,{value:X,enumerable:!0,configurable:!0,writable:!0});else S[H]=X;return S}function Q(S){var H=K(S,"string");return typeof H==="symbol"?H:String(H)}function K(S,H){if(typeof S!=="object"||S===null)return S;var X=S[Symbol.toPrimitive];if(X!==void 0){var $=X.call(S,H||"default");if(typeof $!=="object")return $;throw TypeError("@@toPrimitive must return a primitive value.")}return(H==="string"?String:Number)(S)}var Z=g8(),J=Symbol("lastResolve"),M=Symbol("lastReject"),W=Symbol("error"),I=Symbol("ended"),F=Symbol("lastPromise"),D=Symbol("handlePromise"),w=Symbol("stream");function P(S,H){return{value:S,done:H}}function A(S){var H=S[J];if(H!==null){var X=S[w].read();if(X!==null)S[F]=null,S[J]=null,S[M]=null,H(P(X,!1))}}function E(S){P0.nextTick(A,S)}function C(S,H){return function(X,$){S.then(function(){if(H[I]){X(P(void 0,!0));return}H[D](X,$)},$)}}var j=Object.getPrototypeOf(function(){}),v=Object.setPrototypeOf((G={get stream(){return this[w]},next:function(){var H=this,X=this[W];if(X!==null)return Promise.reject(X);if(this[I])return Promise.resolve(P(void 0,!0));if(this[w].destroyed)return new Promise(function(a,U0){P0.nextTick(function(){if(H[W])U0(H[W]);else a(P(void 0,!0))})});var $=this[F],x;if($)x=new Promise(C($,this));else{var N=this[w].read();if(N!==null)return Promise.resolve(P(N,!1));x=new Promise(this[D])}return this[F]=x,x}},Y(G,Symbol.asyncIterator,function(){return this}),Y(G,"return",function(){var H=this;return new Promise(function(X,$){H[w].destroy(null,function(x){if(x){$(x);return}X(P(void 0,!0))})})}),G),j);U.exports=function(H){var X,$=Object.create(v,(X={},Y(X,w,{value:H,writable:!0}),Y(X,J,{value:null,writable:!0}),Y(X,M,{value:null,writable:!0}),Y(X,W,{value:null,writable:!0}),Y(X,I,{value:H._readableState.endEmitted,writable:!0}),Y(X,D,{value:function(N,a){var U0=$[w].read();if(U0)$[F]=null,$[J]=null,$[M]=null,N(P(U0,!1));else $[J]=N,$[M]=a},writable:!0}),X));return $[F]=null,Z(H,function(x){if(x&&x.code!=="ERR_STREAM_PREMATURE_CLOSE"){var N=$[M];if(N!==null)$[F]=null,$[J]=null,$[M]=null,N(x);$[W]=x;return}var a=$[J];if(a!==null)$[F]=null,$[J]=null,$[M]=null,a(P(void 0,!0));$[I]=!0}),H.on("readable",E.bind(null,$)),$}}),eU=R0((B,U)=>{U.exports=function(){throw Error("Readable.from is not available in the browser")}}),EB=R0((B,U)=>{d2(),P2(),U.exports=a;var G;a.ReadableState=N,$8().EventEmitter;var Y=function(f,R){return f.listeners(R).length},Q=MB(),K=g1().Buffer,Z=(typeof v0<"u"?v0:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function J(g){return K.from(g)}function M(g){return K.isBuffer(g)||g instanceof Z}var W=AB(),I;if(W&&W.debuglog)I=W.debuglog("stream");else I=function(){};var F=nU(),D=jB(),w=NB().getHighWaterMark,P=c2().codes,A=P.ERR_INVALID_ARG_TYPE,E=P.ERR_STREAM_PUSH_AFTER_EOF,C=P.ERR_METHOD_NOT_IMPLEMENTED,j=P.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,v,S,H;W2()(a,Q);var X=D.errorOrDestroy,$=["error","close","destroy","pause","resume"];function x(g,f,R){if(typeof g.prependListener==="function")return g.prependListener(f,R);if(!g._events||!g._events[f])g.on(f,R);else if(Array.isArray(g._events[f]))g._events[f].unshift(R);else g._events[f]=[R,g._events[f]]}function N(g,f,R){if(G=G||u2(),g=g||{},typeof R!=="boolean")R=f instanceof G;if(this.objectMode=!!g.objectMode,R)this.objectMode=this.objectMode||!!g.readableObjectMode;if(this.highWaterMark=w(this,g,"readableHighWaterMark",R),this.buffer=new F,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=g.emitClose!==!1,this.autoDestroy=!!g.autoDestroy,this.destroyed=!1,this.defaultEncoding=g.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,g.encoding){if(!v)v=F8().StringDecoder;this.decoder=new v(g.encoding),this.encoding=g.encoding}}function a(g){if(G=G||u2(),!(this instanceof a))return new a(g);var f=this instanceof G;if(this._readableState=new N(g,this,f),this.readable=!0,g){if(typeof g.read==="function")this._read=g.read;if(typeof g.destroy==="function")this._destroy=g.destroy}Q.call(this)}Object.defineProperty(a.prototype,"destroyed",{enumerable:!1,get:function(){if(this._readableState===void 0)return!1;return this._readableState.destroyed},set:function(f){if(!this._readableState)return;this._readableState.destroyed=f}}),a.prototype.destroy=D.destroy,a.prototype._undestroy=D.undestroy,a.prototype._destroy=function(g,f){f(g)},a.prototype.push=function(g,f){var R=this._readableState,p;if(!R.objectMode){if(typeof g==="string"){if(f=f||R.defaultEncoding,f!==R.encoding)g=K.from(g,f),f="";p=!0}}else p=!0;return U0(this,g,f,!1,p)},a.prototype.unshift=function(g){return U0(this,g,null,!0,!1)};function U0(g,f,R,p,k){I("readableAddChunk",f);var V=g._readableState;if(f===null)V.reading=!1,i(g,V);else{var q;if(!k)q=c(V,f);if(q)X(g,q);else if(V.objectMode||f&&f.length>0){if(typeof f!=="string"&&!V.objectMode&&Object.getPrototypeOf(f)!==K.prototype)f=J(f);if(p)if(V.endEmitted)X(g,new j);else b(g,V,f,!0);else if(V.ended)X(g,new E);else if(V.destroyed)return!1;else if(V.reading=!1,V.decoder&&!R)if(f=V.decoder.write(f),V.objectMode||f.length!==0)b(g,V,f,!1);else G0(g,V);else b(g,V,f,!1)}else if(!p)V.reading=!1,G0(g,V)}return!V.ended&&(V.length=T)g=T;else g--,g|=g>>>1,g|=g>>>2,g|=g>>>4,g|=g>>>8,g|=g>>>16,g++;return g}function B0(g,f){if(g<=0||f.length===0&&f.ended)return 0;if(f.objectMode)return 1;if(g!==g)if(f.flowing&&f.length)return f.buffer.head.data.length;else return f.length;if(g>f.highWaterMark)f.highWaterMark=m(g);if(g<=f.length)return g;if(!f.ended)return f.needReadable=!0,0;return f.length}a.prototype.read=function(g){I("read",g),g=parseInt(g,10);var f=this._readableState,R=g;if(g!==0)f.emittedReadable=!1;if(g===0&&f.needReadable&&((f.highWaterMark!==0?f.length>=f.highWaterMark:f.length>0)||f.ended)){if(I("read: emitReadable",f.length,f.ended),f.length===0&&f.ended)u(this);else V0(this);return null}if(g=B0(g,f),g===0&&f.ended){if(f.length===0)u(this);return null}var p=f.needReadable;if(I("need readable",p),f.length===0||f.length-g0)k=L(g,f);else k=null;if(k===null)f.needReadable=f.length<=f.highWaterMark,g=0;else f.length-=g,f.awaitDrain=0;if(f.length===0){if(!f.ended)f.needReadable=!0;if(R!==g&&f.ended)u(this)}if(k!==null)this.emit("data",k);return k};function i(g,f){if(I("onEofChunk"),f.ended)return;if(f.decoder){var R=f.decoder.end();if(R&&R.length)f.buffer.push(R),f.length+=f.objectMode?1:R.length}if(f.ended=!0,f.sync)V0(g);else if(f.needReadable=!1,!f.emittedReadable)f.emittedReadable=!0,s(g)}function V0(g){var f=g._readableState;if(I("emitReadable",f.needReadable,f.emittedReadable),f.needReadable=!1,!f.emittedReadable)I("emitReadable",f.flowing),f.emittedReadable=!0,P0.nextTick(s,g)}function s(g){var f=g._readableState;if(I("emitReadable_",f.destroyed,f.length,f.ended),!f.destroyed&&(f.length||f.ended))g.emit("readable"),f.emittedReadable=!1;f.needReadable=!f.flowing&&!f.ended&&f.length<=f.highWaterMark,z(g)}function G0(g,f){if(!f.readingMore)f.readingMore=!0,P0.nextTick(r,g,f)}function r(g,f){while(!f.reading&&!f.ended&&(f.length1&&Z0(p.pipes,g)!==-1)&&!_)I("false write response, pause",p.awaitDrain),p.awaitDrain++;R.pause()}}function Q0(H0){if(I("onerror",H0),I0(),g.removeListener("error",Q0),Y(g,"error")===0)X(g,H0)}x(g,"error",Q0);function q0(){g.removeListener("finish",K0),I0()}g.once("close",q0);function K0(){I("onfinish"),g.removeListener("close",q0),I0()}g.once("finish",K0);function I0(){I("unpipe"),R.unpipe(g)}if(g.emit("pipe",R),!p.flowing)I("pipe resume"),R.resume();return g};function y(g){return function(){var R=g._readableState;if(I("pipeOnDrain",R.awaitDrain),R.awaitDrain)R.awaitDrain--;if(R.awaitDrain===0&&Y(g,"data"))R.flowing=!0,z(g)}}a.prototype.unpipe=function(g){var f=this._readableState,R={hasUnpiped:!1};if(f.pipesCount===0)return this;if(f.pipesCount===1){if(g&&g!==f.pipes)return this;if(!g)g=f.pipes;if(f.pipes=null,f.pipesCount=0,f.flowing=!1,g)g.emit("unpipe",this,R);return this}if(!g){var{pipes:p,pipesCount:k}=f;f.pipes=null,f.pipesCount=0,f.flowing=!1;for(var V=0;V0,p.flowing!==!1)this.resume()}else if(g==="readable"){if(!p.endEmitted&&!p.readableListening){if(p.readableListening=p.needReadable=!0,p.flowing=!1,p.emittedReadable=!1,I("on readable",p.length,p.reading),p.length)V0(this);else if(!p.reading)P0.nextTick(o,this)}}return R},a.prototype.addListener=a.prototype.on,a.prototype.removeListener=function(g,f){var R=Q.prototype.removeListener.call(this,g,f);if(g==="readable")P0.nextTick(n,this);return R},a.prototype.removeAllListeners=function(g){var f=Q.prototype.removeAllListeners.apply(this,arguments);if(g==="readable"||g===void 0)P0.nextTick(n,this);return f};function n(g){var f=g._readableState;if(f.readableListening=g.listenerCount("readable")>0,f.resumeScheduled&&!f.paused)f.flowing=!0;else if(g.listenerCount("data")>0)g.resume()}function o(g){I("readable nexttick read 0"),g.read(0)}a.prototype.resume=function(){var g=this._readableState;if(!g.flowing)I("resume"),g.flowing=!g.readableListening,Y0(this,g);return g.paused=!1,this};function Y0(g,f){if(!f.resumeScheduled)f.resumeScheduled=!0,P0.nextTick(O0,g,f)}function O0(g,f){if(I("resume",f.reading),!f.reading)g.read(0);if(f.resumeScheduled=!1,g.emit("resume"),z(g),f.flowing&&!f.reading)g.read(0)}a.prototype.pause=function(){if(I("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1)I("pause"),this._readableState.flowing=!1,this.emit("pause");return this._readableState.paused=!0,this};function z(g){var f=g._readableState;I("flow",f.flowing);while(f.flowing&&g.read()!==null);}if(a.prototype.wrap=function(g){var f=this,R=this._readableState,p=!1;g.on("end",function(){if(I("wrapped end"),R.decoder&&!R.ended){var q=R.decoder.end();if(q&&q.length)f.push(q)}f.push(null)}),g.on("data",function(q){if(I("wrapped data"),R.decoder)q=R.decoder.write(q);if(R.objectMode&&(q===null||q===void 0))return;else if(!R.objectMode&&(!q||!q.length))return;if(!f.push(q))p=!0,g.pause()});for(var k in g)if(this[k]===void 0&&typeof g[k]==="function")this[k]=function(O){return function(){return g[O].apply(g,arguments)}}(k);for(var V=0;V<$.length;V++)g.on($[V],this.emit.bind(this,$[V]));return this._read=function(q){if(I("wrapped _read",q),p)p=!1,g.resume()},this},typeof Symbol==="function")a.prototype[Symbol.asyncIterator]=function(){if(S===void 0)S=tU();return S(this)};Object.defineProperty(a.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(a.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(a.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(f){if(this._readableState)this._readableState.flowing=f}}),a._fromList=L,Object.defineProperty(a.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function L(g,f){if(f.length===0)return null;var R;if(f.objectMode)R=f.buffer.shift();else if(!g||g>=f.length){if(f.decoder)R=f.buffer.join("");else if(f.buffer.length===1)R=f.buffer.first();else R=f.buffer.concat(f.length);f.buffer.clear()}else R=f.buffer.consume(g,f.decoder);return R}function u(g){var f=g._readableState;if(I("endReadable",f.endEmitted),!f.endEmitted)f.ended=!0,P0.nextTick(h,f,g)}function h(g,f){if(I("endReadableNT",g.endEmitted,g.length),!g.endEmitted&&g.length===0){if(g.endEmitted=!0,f.readable=!1,f.emit("end"),g.autoDestroy){var R=f._writableState;if(!R||R.autoDestroy&&R.finished)f.destroy()}}}if(typeof Symbol==="function")a.from=function(g,f){if(H===void 0)H=eU();return H(a,g,f)};function Z0(g,f){for(var R=0,p=g.length;R{U.exports=W;var G=c2().codes,Y=G.ERR_METHOD_NOT_IMPLEMENTED,Q=G.ERR_MULTIPLE_CALLBACK,K=G.ERR_TRANSFORM_ALREADY_TRANSFORMING,Z=G.ERR_TRANSFORM_WITH_LENGTH_0,J=u2();W2()(W,J);function M(D,w){var P=this._transformState;P.transforming=!1;var A=P.writecb;if(A===null)return this.emit("error",new Q);if(P.writechunk=null,P.writecb=null,w!=null)this.push(w);A(D);var E=this._readableState;if(E.reading=!1,E.needReadable||E.length{U.exports=Y;var G=TB();W2()(Y,G);function Y(Q){if(!(this instanceof Y))return new Y(Q);G.call(this,Q)}Y.prototype._transform=function(Q,K,Z){Z(null,Q)}}),UG=R0((B,U)=>{var G;function Y(P){var A=!1;return function(){if(A)return;A=!0,P.apply(void 0,arguments)}}var Q=c2().codes,K=Q.ERR_MISSING_ARGS,Z=Q.ERR_STREAM_DESTROYED;function J(P){if(P)throw P}function M(P){return P.setHeader&&typeof P.abort==="function"}function W(P,A,E,C){C=Y(C);var j=!1;if(P.on("close",function(){j=!0}),G===void 0)G=g8();G(P,{readable:A,writable:E},function(S){if(S)return C(S);j=!0,C()});var v=!1;return function(S){if(j)return;if(v)return;if(v=!0,M(P))return P.abort();if(typeof P.destroy==="function")return P.destroy();C(S||new Z("pipe"))}}function I(P){P()}function F(P,A){return P.pipe(A)}function D(P){if(!P.length)return J;if(typeof P[P.length-1]!=="function")return J;return P.pop()}function w(){for(var P=arguments.length,A=Array(P),E=0;E0,function($){if(!j)j=$;if($)v.forEach(I);if(X)return;v.forEach(I),C(j)})});return A.reduce(F)}U.exports=w}),f8=R0((B,U)=>{U.exports=Y;var G=$8().EventEmitter;W2()(Y,G),Y.Readable=EB(),Y.Writable=zB(),Y.Duplex=u2(),Y.Transform=TB(),Y.PassThrough=BG(),Y.finished=g8(),Y.pipeline=UG(),Y.Stream=Y;function Y(){G.call(this)}Y.prototype.pipe=function(Q,K){var Z=this;function J(P){if(Q.writable){if(Q.write(P)===!1&&Z.pause)Z.pause()}}Z.on("data",J);function M(){if(Z.readable&&Z.resume)Z.resume()}if(Q.on("drain",M),!Q._isStdio&&(!K||K.end!==!1))Z.on("end",I),Z.on("close",F);var W=!1;function I(){if(W)return;W=!0,Q.end()}function F(){if(W)return;if(W=!0,typeof Q.destroy==="function")Q.destroy()}function D(P){if(w(),G.listenerCount(this,"error")===0)throw P}Z.on("error",D),Q.on("error",D);function w(){Z.removeListener("data",J),Q.removeListener("drain",M),Z.removeListener("end",I),Z.removeListener("close",F),Z.removeListener("error",D),Q.removeListener("error",D),Z.removeListener("end",w),Z.removeListener("close",w),Q.removeListener("close",w)}return Z.on("end",w),Z.on("close",w),Q.on("close",w),Q.emit("pipe",Z),Q}}),GG=R0((B)=>{(function(U){U.parser=function(z,L){return new Y(z,L)},U.SAXParser=Y,U.SAXStream=I,U.createStream=W,U.MAX_BUFFER_LENGTH=65536;var G=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];U.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function Y(z,L){if(!(this instanceof Y))return new Y(z,L);var u=this;if(K(u),u.q=u.c="",u.bufferCheckPosition=U.MAX_BUFFER_LENGTH,u.opt=L||{},u.opt.lowercase=u.opt.lowercase||u.opt.lowercasetags,u.looseCase=u.opt.lowercase?"toLowerCase":"toUpperCase",u.tags=[],u.closed=u.closedRoot=u.sawRoot=!1,u.tag=u.error=null,u.strict=!!z,u.noscript=!!(z||u.opt.noscript),u.state=N.BEGIN,u.strictEntities=u.opt.strictEntities,u.ENTITIES=u.strictEntities?Object.create(U.XML_ENTITIES):Object.create(U.ENTITIES),u.attribList=[],u.opt.xmlns)u.ns=Object.create(A);if(u.trackPosition=u.opt.position!==!1,u.trackPosition)u.position=u.line=u.column=0;U0(u,"onready")}if(!Object.create)Object.create=function(z){function L(){}return L.prototype=z,new L};if(!Object.keys)Object.keys=function(z){var L=[];for(var u in z)if(z.hasOwnProperty(u))L.push(u);return L};function Q(z){var L=Math.max(U.MAX_BUFFER_LENGTH,10),u=0;for(var h=0,Z0=G.length;hL)switch(G[h]){case"textNode":c(z);break;case"cdata":b(z,"oncdata",z.cdata),z.cdata="";break;case"script":b(z,"onscript",z.script),z.script="";break;default:m(z,"Max buffer length exceeded: "+G[h])}u=Math.max(u,g)}z.bufferCheckPosition=U.MAX_BUFFER_LENGTH-u+z.position}function K(z){for(var L=0,u=G.length;L"||S(z)}function $(z,L){return z.test(L)}function x(z,L){return!$(z,L)}var N=0;U.STATE={BEGIN:N++,BEGIN_WHITESPACE:N++,TEXT:N++,TEXT_ENTITY:N++,OPEN_WAKA:N++,SGML_DECL:N++,SGML_DECL_QUOTED:N++,DOCTYPE:N++,DOCTYPE_QUOTED:N++,DOCTYPE_DTD:N++,DOCTYPE_DTD_QUOTED:N++,COMMENT_STARTING:N++,COMMENT:N++,COMMENT_ENDING:N++,COMMENT_ENDED:N++,CDATA:N++,CDATA_ENDING:N++,CDATA_ENDING_2:N++,PROC_INST:N++,PROC_INST_BODY:N++,PROC_INST_ENDING:N++,OPEN_TAG:N++,OPEN_TAG_SLASH:N++,ATTRIB:N++,ATTRIB_NAME:N++,ATTRIB_NAME_SAW_WHITE:N++,ATTRIB_VALUE:N++,ATTRIB_VALUE_QUOTED:N++,ATTRIB_VALUE_CLOSED:N++,ATTRIB_VALUE_UNQUOTED:N++,ATTRIB_VALUE_ENTITY_Q:N++,ATTRIB_VALUE_ENTITY_U:N++,CLOSE_TAG:N++,CLOSE_TAG_SAW_WHITE:N++,SCRIPT:N++,SCRIPT_ENDING:N++},U.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},U.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(U.ENTITIES).forEach(function(z){var L=U.ENTITIES[z],u=typeof L==="number"?String.fromCharCode(L):L;U.ENTITIES[z]=u});for(var a in U.STATE)U.STATE[U.STATE[a]]=a;N=U.STATE;function U0(z,L,u){z[L]&&z[L](u)}function b(z,L,u){if(z.textNode)c(z);U0(z,L,u)}function c(z){if(z.textNode=T(z.opt,z.textNode),z.textNode)U0(z,"ontext",z.textNode);z.textNode=""}function T(z,L){if(z.trim)L=L.trim();if(z.normalize)L=L.replace(/\s+/g," ");return L}function m(z,L){if(c(z),z.trackPosition)L+=` +Line: `+z.line+` +Column: `+z.column+` +Char: `+z.c;return L=Error(L),z.error=L,U0(z,"onerror",L),z}function B0(z){if(z.sawRoot&&!z.closedRoot)i(z,"Unclosed root tag");if(z.state!==N.BEGIN&&z.state!==N.BEGIN_WHITESPACE&&z.state!==N.TEXT)m(z,"Unexpected end");return c(z),z.c="",z.closed=!0,U0(z,"onend"),Y.call(z,z.strict,z.opt),z}function i(z,L){if(typeof z!=="object"||!(z instanceof Y))throw Error("bad call to strictFail");if(z.strict)m(z,L)}function V0(z){if(!z.strict)z.tagName=z.tagName[z.looseCase]();var L=z.tags[z.tags.length-1]||z,u=z.tag={name:z.tagName,attributes:{}};if(z.opt.xmlns)u.ns=L.ns;z.attribList.length=0,b(z,"onopentagstart",u)}function s(z,L){var u=z.indexOf(":")<0?["",z]:z.split(":"),h=u[0],Z0=u[1];if(L&&z==="xmlns")h="xmlns",Z0="";return{prefix:h,local:Z0}}function G0(z){if(!z.strict)z.attribName=z.attribName[z.looseCase]();if(z.attribList.indexOf(z.attribName)!==-1||z.tag.attributes.hasOwnProperty(z.attribName)){z.attribName=z.attribValue="";return}if(z.opt.xmlns){var L=s(z.attribName,!0),u=L.prefix,h=L.local;if(u==="xmlns")if(h==="xml"&&z.attribValue!==w)i(z,"xml: prefix must be bound to "+w+` +Actual: `+z.attribValue);else if(h==="xmlns"&&z.attribValue!==P)i(z,"xmlns: prefix must be bound to "+P+` +Actual: `+z.attribValue);else{var Z0=z.tag,g=z.tags[z.tags.length-1]||z;if(Z0.ns===g.ns)Z0.ns=Object.create(g.ns);Z0.ns[h]=z.attribValue}z.attribList.push([z.attribName,z.attribValue])}else z.tag.attributes[z.attribName]=z.attribValue,b(z,"onattribute",{name:z.attribName,value:z.attribValue});z.attribName=z.attribValue=""}function r(z,L){if(z.opt.xmlns){var u=z.tag,h=s(z.tagName);if(u.prefix=h.prefix,u.local=h.local,u.uri=u.ns[h.prefix]||"",u.prefix&&!u.uri)i(z,"Unbound namespace prefix: "+JSON.stringify(z.tagName)),u.uri=h.prefix;var Z0=z.tags[z.tags.length-1]||z;if(u.ns&&Z0.ns!==u.ns)Object.keys(u.ns).forEach(function(d){b(z,"onopennamespace",{prefix:d,uri:u.ns[d]})});for(var g=0,f=z.attribList.length;g",z.tagName="",z.state=N.SCRIPT;return}b(z,"onscript",z.script),z.script=""}var L=z.tags.length,u=z.tagName;if(!z.strict)u=u[z.looseCase]();var h=u;while(L--)if(z.tags[L].name!==h)i(z,"Unexpected close tag");else break;if(L<0){i(z,"Unmatched closing tag: "+z.tagName),z.textNode+="",z.state=N.TEXT;return}z.tagName=u;var Z0=z.tags.length;while(Z0-- >L){var g=z.tag=z.tags.pop();z.tagName=z.tag.name,b(z,"onclosetag",z.tagName);var f={};for(var R in g.ns)f[R]=g.ns[R];var p=z.tags[z.tags.length-1]||z;if(z.opt.xmlns&&g.ns!==p.ns)Object.keys(g.ns).forEach(function(k){var V=g.ns[k];b(z,"onclosenamespace",{prefix:k,uri:V})})}if(L===0)z.closedRoot=!0;z.tagName=z.attribValue=z.attribName="",z.attribList.length=0,z.state=N.TEXT}function n(z){var L=z.entity,u=L.toLowerCase(),h,Z0="";if(z.ENTITIES[L])return z.ENTITIES[L];if(z.ENTITIES[u])return z.ENTITIES[u];if(L=u,L.charAt(0)==="#")if(L.charAt(1)==="x")L=L.slice(2),h=parseInt(L,16),Z0=h.toString(16);else L=L.slice(1),h=parseInt(L,10),Z0=h.toString(10);if(L=L.replace(/^0+/,""),isNaN(h)||Z0.toLowerCase()!==L)return i(z,"Invalid character entity"),"&"+z.entity+";";return String.fromCodePoint(h)}function o(z,L){if(L==="<")z.state=N.OPEN_WAKA,z.startTagPosition=z.position;else if(!S(L))i(z,"Non-whitespace before first tag."),z.textNode=L,z.state=N.TEXT}function Y0(z,L){var u="";if(L")b(L,"onsgmldeclaration",L.sgmlDecl),L.sgmlDecl="",L.state=N.TEXT;else if(H(h))L.state=N.SGML_DECL_QUOTED,L.sgmlDecl+=h;else L.sgmlDecl+=h;continue;case N.SGML_DECL_QUOTED:if(h===L.q)L.state=N.SGML_DECL,L.q="";L.sgmlDecl+=h;continue;case N.DOCTYPE:if(h===">")L.state=N.TEXT,b(L,"ondoctype",L.doctype),L.doctype=!0;else if(L.doctype+=h,h==="[")L.state=N.DOCTYPE_DTD;else if(H(h))L.state=N.DOCTYPE_QUOTED,L.q=h;continue;case N.DOCTYPE_QUOTED:if(L.doctype+=h,h===L.q)L.q="",L.state=N.DOCTYPE;continue;case N.DOCTYPE_DTD:if(L.doctype+=h,h==="]")L.state=N.DOCTYPE;else if(H(h))L.state=N.DOCTYPE_DTD_QUOTED,L.q=h;continue;case N.DOCTYPE_DTD_QUOTED:if(L.doctype+=h,h===L.q)L.state=N.DOCTYPE_DTD,L.q="";continue;case N.COMMENT:if(h==="-")L.state=N.COMMENT_ENDING;else L.comment+=h;continue;case N.COMMENT_ENDING:if(h==="-"){if(L.state=N.COMMENT_ENDED,L.comment=T(L.opt,L.comment),L.comment)b(L,"oncomment",L.comment);L.comment=""}else L.comment+="-"+h,L.state=N.COMMENT;continue;case N.COMMENT_ENDED:if(h!==">")i(L,"Malformed comment"),L.comment+="--"+h,L.state=N.COMMENT;else L.state=N.TEXT;continue;case N.CDATA:if(h==="]")L.state=N.CDATA_ENDING;else L.cdata+=h;continue;case N.CDATA_ENDING:if(h==="]")L.state=N.CDATA_ENDING_2;else L.cdata+="]"+h,L.state=N.CDATA;continue;case N.CDATA_ENDING_2:if(h===">"){if(L.cdata)b(L,"oncdata",L.cdata);b(L,"onclosecdata"),L.cdata="",L.state=N.TEXT}else if(h==="]")L.cdata+="]";else L.cdata+="]]"+h,L.state=N.CDATA;continue;case N.PROC_INST:if(h==="?")L.state=N.PROC_INST_ENDING;else if(S(h))L.state=N.PROC_INST_BODY;else L.procInstName+=h;continue;case N.PROC_INST_BODY:if(!L.procInstBody&&S(h))continue;else if(h==="?")L.state=N.PROC_INST_ENDING;else L.procInstBody+=h;continue;case N.PROC_INST_ENDING:if(h===">")b(L,"onprocessinginstruction",{name:L.procInstName,body:L.procInstBody}),L.procInstName=L.procInstBody="",L.state=N.TEXT;else L.procInstBody+="?"+h,L.state=N.PROC_INST_BODY;continue;case N.OPEN_TAG:if($(C,h))L.tagName+=h;else if(V0(L),h===">")r(L);else if(h==="/")L.state=N.OPEN_TAG_SLASH;else{if(!S(h))i(L,"Invalid character in tag name");L.state=N.ATTRIB}continue;case N.OPEN_TAG_SLASH:if(h===">")r(L,!0),y(L);else i(L,"Forward-slash in opening tag not followed by >"),L.state=N.ATTRIB;continue;case N.ATTRIB:if(S(h))continue;else if(h===">")r(L);else if(h==="/")L.state=N.OPEN_TAG_SLASH;else if($(E,h))L.attribName=h,L.attribValue="",L.state=N.ATTRIB_NAME;else i(L,"Invalid attribute name");continue;case N.ATTRIB_NAME:if(h==="=")L.state=N.ATTRIB_VALUE;else if(h===">")i(L,"Attribute without value"),L.attribValue=L.attribName,G0(L),r(L);else if(S(h))L.state=N.ATTRIB_NAME_SAW_WHITE;else if($(C,h))L.attribName+=h;else i(L,"Invalid attribute name");continue;case N.ATTRIB_NAME_SAW_WHITE:if(h==="=")L.state=N.ATTRIB_VALUE;else if(S(h))continue;else if(i(L,"Attribute without value"),L.tag.attributes[L.attribName]="",L.attribValue="",b(L,"onattribute",{name:L.attribName,value:""}),L.attribName="",h===">")r(L);else if($(E,h))L.attribName=h,L.state=N.ATTRIB_NAME;else i(L,"Invalid attribute name"),L.state=N.ATTRIB;continue;case N.ATTRIB_VALUE:if(S(h))continue;else if(H(h))L.q=h,L.state=N.ATTRIB_VALUE_QUOTED;else i(L,"Unquoted attribute value"),L.state=N.ATTRIB_VALUE_UNQUOTED,L.attribValue=h;continue;case N.ATTRIB_VALUE_QUOTED:if(h!==L.q){if(h==="&")L.state=N.ATTRIB_VALUE_ENTITY_Q;else L.attribValue+=h;continue}G0(L),L.q="",L.state=N.ATTRIB_VALUE_CLOSED;continue;case N.ATTRIB_VALUE_CLOSED:if(S(h))L.state=N.ATTRIB;else if(h===">")r(L);else if(h==="/")L.state=N.OPEN_TAG_SLASH;else if($(E,h))i(L,"No whitespace between attributes"),L.attribName=h,L.attribValue="",L.state=N.ATTRIB_NAME;else i(L,"Invalid attribute name");continue;case N.ATTRIB_VALUE_UNQUOTED:if(!X(h)){if(h==="&")L.state=N.ATTRIB_VALUE_ENTITY_U;else L.attribValue+=h;continue}if(G0(L),h===">")r(L);else L.state=N.ATTRIB;continue;case N.CLOSE_TAG:if(!L.tagName)if(S(h))continue;else if(x(E,h))if(L.script)L.script+="")y(L);else if($(C,h))L.tagName+=h;else if(L.script)L.script+="")y(L);else i(L,"Invalid characters in closing tag");continue;case N.TEXT_ENTITY:case N.ATTRIB_VALUE_ENTITY_Q:case N.ATTRIB_VALUE_ENTITY_U:var f,R;switch(L.state){case N.TEXT_ENTITY:f=N.TEXT,R="textNode";break;case N.ATTRIB_VALUE_ENTITY_Q:f=N.ATTRIB_VALUE_QUOTED,R="attribValue";break;case N.ATTRIB_VALUE_ENTITY_U:f=N.ATTRIB_VALUE_UNQUOTED,R="attribValue";break}if(h===";")L[R]+=n(L),L.entity="",L.state=f;else if($(L.entity.length?v:j,h))L.entity+=h;else i(L,"Invalid character in entity name"),L[R]+="&"+L.entity+h,L.entity="",L.state=f;continue;default:throw Error(L,"Unknown state: "+L.state)}}if(L.position>=L.bufferCheckPosition)Q(L);return L}/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */if(!String.fromCodePoint)(function(){var z=String.fromCharCode,L=Math.floor,u=function(){var h=16384,Z0=[],g,f,R=-1,p=arguments.length;if(!p)return"";var k="";while(++R1114111||L(V)!==V)throw RangeError("Invalid code point: "+V);if(V<=65535)Z0.push(V);else V-=65536,g=(V>>10)+55296,f=V%1024+56320,Z0.push(g,f);if(R+1===p||Z0.length>h)k+=z.apply(null,Z0),Z0.length=0}return k};if(Object.defineProperty)Object.defineProperty(String,"fromCodePoint",{value:u,configurable:!0,writable:!0});else String.fromCodePoint=u})()})(typeof B>"u"?B.sax={}:B)}),x8=R0((B,U)=>{U.exports={isArray:function(G){if(Array.isArray)return Array.isArray(G);return Object.prototype.toString.call(G)==="[object Array]"}}}),_8=R0((B,U)=>{var G=x8().isArray;U.exports={copyOptions:function(Y){var Q,K={};for(Q in Y)if(Y.hasOwnProperty(Q))K[Q]=Y[Q];return K},ensureFlagExists:function(Y,Q){if(!(Y in Q)||typeof Q[Y]!=="boolean")Q[Y]=!1},ensureSpacesExists:function(Y){if(!("spaces"in Y)||typeof Y.spaces!=="number"&&typeof Y.spaces!=="string")Y.spaces=0},ensureAlwaysArrayExists:function(Y){if(!("alwaysArray"in Y)||typeof Y.alwaysArray!=="boolean"&&!G(Y.alwaysArray))Y.alwaysArray=!1},ensureKeyExists:function(Y,Q){if(!(Y+"Key"in Q)||typeof Q[Y+"Key"]!=="string")Q[Y+"Key"]=Q.compact?"_"+Y:Y},checkFnExists:function(Y,Q){return Y+"Fn"in Q}}}),DB=R0((B,U)=>{var G=GG(),Y={on:function(){},parse:function(){}},Q=_8(),K=x8().isArray,Z,J=!0,M;function W(H){return Z=Q.copyOptions(H),Q.ensureFlagExists("ignoreDeclaration",Z),Q.ensureFlagExists("ignoreInstruction",Z),Q.ensureFlagExists("ignoreAttributes",Z),Q.ensureFlagExists("ignoreText",Z),Q.ensureFlagExists("ignoreComment",Z),Q.ensureFlagExists("ignoreCdata",Z),Q.ensureFlagExists("ignoreDoctype",Z),Q.ensureFlagExists("compact",Z),Q.ensureFlagExists("alwaysChildren",Z),Q.ensureFlagExists("addParent",Z),Q.ensureFlagExists("trim",Z),Q.ensureFlagExists("nativeType",Z),Q.ensureFlagExists("nativeTypeAttributes",Z),Q.ensureFlagExists("sanitize",Z),Q.ensureFlagExists("instructionHasAttributes",Z),Q.ensureFlagExists("captureSpacesBetweenElements",Z),Q.ensureAlwaysArrayExists(Z),Q.ensureKeyExists("declaration",Z),Q.ensureKeyExists("instruction",Z),Q.ensureKeyExists("attributes",Z),Q.ensureKeyExists("text",Z),Q.ensureKeyExists("comment",Z),Q.ensureKeyExists("cdata",Z),Q.ensureKeyExists("doctype",Z),Q.ensureKeyExists("type",Z),Q.ensureKeyExists("name",Z),Q.ensureKeyExists("elements",Z),Q.ensureKeyExists("parent",Z),Q.checkFnExists("doctype",Z),Q.checkFnExists("instruction",Z),Q.checkFnExists("cdata",Z),Q.checkFnExists("comment",Z),Q.checkFnExists("text",Z),Q.checkFnExists("instructionName",Z),Q.checkFnExists("elementName",Z),Q.checkFnExists("attributeName",Z),Q.checkFnExists("attributeValue",Z),Q.checkFnExists("attributes",Z),Z}function I(H){var X=Number(H);if(!isNaN(X))return X;var $=H.toLowerCase();if($==="true")return!0;else if($==="false")return!1;return H}function F(H,X){var $;if(Z.compact){if(!M[Z[H+"Key"]]&&(K(Z.alwaysArray)?Z.alwaysArray.indexOf(Z[H+"Key"])!==-1:Z.alwaysArray))M[Z[H+"Key"]]=[];if(M[Z[H+"Key"]]&&!K(M[Z[H+"Key"]]))M[Z[H+"Key"]]=[M[Z[H+"Key"]]];if(H+"Fn"in Z&&typeof X==="string")X=Z[H+"Fn"](X,M);if(H==="instruction"&&(("instructionFn"in Z)||("instructionNameFn"in Z))){for($ in X)if(X.hasOwnProperty($))if("instructionFn"in Z)X[$]=Z.instructionFn(X[$],$,M);else{var x=X[$];delete X[$],X[Z.instructionNameFn($,x,M)]=x}}if(K(M[Z[H+"Key"]]))M[Z[H+"Key"]].push(X);else M[Z[H+"Key"]]=X}else{if(!M[Z.elementsKey])M[Z.elementsKey]=[];var N={};if(N[Z.typeKey]=H,H==="instruction"){for($ in X)if(X.hasOwnProperty($))break;if(N[Z.nameKey]="instructionNameFn"in Z?Z.instructionNameFn($,X,M):$,Z.instructionHasAttributes){if(N[Z.attributesKey]=X[$][Z.attributesKey],"instructionFn"in Z)N[Z.attributesKey]=Z.instructionFn(N[Z.attributesKey],$,M)}else{if("instructionFn"in Z)X[$]=Z.instructionFn(X[$],$,M);N[Z.instructionKey]=X[$]}}else{if(H+"Fn"in Z)X=Z[H+"Fn"](X,M);N[Z[H+"Key"]]=X}if(Z.addParent)N[Z.parentKey]=M;M[Z.elementsKey].push(N)}}function D(H){if("attributesFn"in Z&&H)H=Z.attributesFn(H,M);if((Z.trim||("attributeValueFn"in Z)||("attributeNameFn"in Z)||Z.nativeTypeAttributes)&&H){var X;for(X in H)if(H.hasOwnProperty(X)){if(Z.trim)H[X]=H[X].trim();if(Z.nativeTypeAttributes)H[X]=I(H[X]);if("attributeValueFn"in Z)H[X]=Z.attributeValueFn(H[X],X,M);if("attributeNameFn"in Z){var $=H[X];delete H[X],H[Z.attributeNameFn(X,H[X],M)]=$}}}return H}function w(H){var X={};if(H.body&&(H.name.toLowerCase()==="xml"||Z.instructionHasAttributes)){var $=/([\w:-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|(\w+))\s*/g,x;while((x=$.exec(H.body))!==null)X[x[1]]=x[2]||x[3]||x[4];X=D(X)}if(H.name.toLowerCase()==="xml"){if(Z.ignoreDeclaration)return;if(M[Z.declarationKey]={},Object.keys(X).length)M[Z.declarationKey][Z.attributesKey]=X;if(Z.addParent)M[Z.declarationKey][Z.parentKey]=M}else{if(Z.ignoreInstruction)return;if(Z.trim)H.body=H.body.trim();var N={};if(Z.instructionHasAttributes&&Object.keys(X).length)N[H.name]={},N[H.name][Z.attributesKey]=X;else N[H.name]=H.body;F("instruction",N)}}function P(H,X){var $;if(typeof H==="object")X=H.attributes,H=H.name;if(X=D(X),"elementNameFn"in Z)H=Z.elementNameFn(H,M);if(Z.compact){if($={},!Z.ignoreAttributes&&X&&Object.keys(X).length){$[Z.attributesKey]={};var x;for(x in X)if(X.hasOwnProperty(x))$[Z.attributesKey][x]=X[x]}if(!(H in M)&&(K(Z.alwaysArray)?Z.alwaysArray.indexOf(H)!==-1:Z.alwaysArray))M[H]=[];if(M[H]&&!K(M[H]))M[H]=[M[H]];if(K(M[H]))M[H].push($);else M[H]=$}else{if(!M[Z.elementsKey])M[Z.elementsKey]=[];if($={},$[Z.typeKey]="element",$[Z.nameKey]=H,!Z.ignoreAttributes&&X&&Object.keys(X).length)$[Z.attributesKey]=X;if(Z.alwaysChildren)$[Z.elementsKey]=[];M[Z.elementsKey].push($)}$[Z.parentKey]=M,M=$}function A(H){if(Z.ignoreText)return;if(!H.trim()&&!Z.captureSpacesBetweenElements)return;if(Z.trim)H=H.trim();if(Z.nativeType)H=I(H);if(Z.sanitize)H=H.replace(/&/g,"&").replace(//g,">");F("text",H)}function E(H){if(Z.ignoreComment)return;if(Z.trim)H=H.trim();F("comment",H)}function C(H){var X=M[Z.parentKey];if(!Z.addParent)delete M[Z.parentKey];M=X}function j(H){if(Z.ignoreCdata)return;if(Z.trim)H=H.trim();F("cdata",H)}function v(H){if(Z.ignoreDoctype)return;if(H=H.replace(/^ /,""),Z.trim)H=H.trim();F("doctype",H)}function S(H){H.note=H}U.exports=function(H,X){var $=J?G.parser(!0,{}):$=new Y.Parser("UTF-8"),x={};if(M=x,Z=W(X),J)$.opt={strictEntities:!0},$.onopentag=P,$.ontext=A,$.oncomment=E,$.onclosetag=C,$.onerror=S,$.oncdata=j,$.ondoctype=v,$.onprocessinginstruction=w;else $.on("startElement",P),$.on("text",A),$.on("comment",E),$.on("endElement",C),$.on("error",S);if(J)$.write(H).close();else if(!$.parse(H))throw Error("XML parsing error: "+$.getError());if(x[Z.elementsKey]){var N=x[Z.elementsKey];delete x[Z.elementsKey],x[Z.elementsKey]=N,delete x.text}return x}}),YG=R0((B,U)=>{var G=_8(),Y=DB();function Q(K){var Z=G.copyOptions(K);return G.ensureSpacesExists(Z),Z}U.exports=function(K,Z){var J=Q(Z),M=Y(K,J),W,I="compact"in J&&J.compact?"_parent":"parent";if("addParent"in J&&J.addParent)W=JSON.stringify(M,function(F,D){return F===I?"_":D},J.spaces);else W=JSON.stringify(M,null,J.spaces);return W.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}}),CB=R0((B,U)=>{var G=_8(),Y=x8().isArray,Q,K;function Z(H){var X=G.copyOptions(H);if(G.ensureFlagExists("ignoreDeclaration",X),G.ensureFlagExists("ignoreInstruction",X),G.ensureFlagExists("ignoreAttributes",X),G.ensureFlagExists("ignoreText",X),G.ensureFlagExists("ignoreComment",X),G.ensureFlagExists("ignoreCdata",X),G.ensureFlagExists("ignoreDoctype",X),G.ensureFlagExists("compact",X),G.ensureFlagExists("indentText",X),G.ensureFlagExists("indentCdata",X),G.ensureFlagExists("indentAttributes",X),G.ensureFlagExists("indentInstruction",X),G.ensureFlagExists("fullTagEmptyElement",X),G.ensureFlagExists("noQuotesForNativeAttributes",X),G.ensureSpacesExists(X),typeof X.spaces==="number")X.spaces=Array(X.spaces+1).join(" ");return G.ensureKeyExists("declaration",X),G.ensureKeyExists("instruction",X),G.ensureKeyExists("attributes",X),G.ensureKeyExists("text",X),G.ensureKeyExists("comment",X),G.ensureKeyExists("cdata",X),G.ensureKeyExists("doctype",X),G.ensureKeyExists("type",X),G.ensureKeyExists("name",X),G.ensureKeyExists("elements",X),G.checkFnExists("doctype",X),G.checkFnExists("instruction",X),G.checkFnExists("cdata",X),G.checkFnExists("comment",X),G.checkFnExists("text",X),G.checkFnExists("instructionName",X),G.checkFnExists("elementName",X),G.checkFnExists("attributeName",X),G.checkFnExists("attributeValue",X),G.checkFnExists("attributes",X),G.checkFnExists("fullTagEmptyElement",X),X}function J(H,X,$){return(!$&&H.spaces?` +`:"")+Array(X+1).join(H.spaces)}function M(H,X,$){if(X.ignoreAttributes)return"";if("attributesFn"in X)H=X.attributesFn(H,K,Q);var x,N,a,U0,b=[];for(x in H)if(H.hasOwnProperty(x)&&H[x]!==null&&H[x]!==void 0)U0=X.noQuotesForNativeAttributes&&typeof H[x]!=="string"?"":'"',N=""+H[x],N=N.replace(/"/g,"""),a="attributeNameFn"in X?X.attributeNameFn(x,N,K,Q):x,b.push(X.spaces&&X.indentAttributes?J(X,$+1,!1):" "),b.push(a+"="+U0+("attributeValueFn"in X?X.attributeValueFn(N,x,K,Q):N)+U0);if(H&&Object.keys(H).length&&X.spaces&&X.indentAttributes)b.push(J(X,$,!1));return b.join("")}function W(H,X,$){return Q=H,K="xml",X.ignoreDeclaration?"":""}function I(H,X,$){if(X.ignoreInstruction)return"";var x;for(x in H)if(H.hasOwnProperty(x))break;var N="instructionNameFn"in X?X.instructionNameFn(x,H[x],K,Q):x;if(typeof H[x]==="object")return Q=H,K=N,"";else{var a=H[x]?H[x]:"";if("instructionFn"in X)a=X.instructionFn(a,x,K,Q);return""}}function F(H,X){return X.ignoreComment?"":""}function D(H,X){return X.ignoreCdata?"":"","]]]]>"))+"]]>"}function w(H,X){return X.ignoreDoctype?"":""}function P(H,X){if(X.ignoreText)return"";return H=""+H,H=H.replace(/&/g,"&"),H=H.replace(/&/g,"&").replace(//g,">"),"textFn"in X?X.textFn(H,K,Q):H}function A(H,X){var $;if(H.elements&&H.elements.length)for($=0;$"),H[X.elementsKey]&&H[X.elementsKey].length)x.push(C(H[X.elementsKey],X,$+1)),Q=H,K=H.name;x.push(X.spaces&&A(H,X)?` +`+Array($+1).join(X.spaces):""),x.push("")}else x.push("/>");return x.join("")}function C(H,X,$,x){return H.reduce(function(N,a){var U0=J(X,$,x&&!N);switch(a.type){case"element":return N+U0+E(a,X,$);case"comment":return N+U0+F(a[X.commentKey],X);case"doctype":return N+U0+w(a[X.doctypeKey],X);case"cdata":return N+(X.indentCdata?U0:"")+D(a[X.cdataKey],X);case"text":return N+(X.indentText?U0:"")+P(a[X.textKey],X);case"instruction":var b={};return b[a[X.nameKey]]=a[X.attributesKey]?a:a[X.instructionKey],N+(X.indentInstruction?U0:"")+I(b,X,$)}},"")}function j(H,X,$){var x;for(x in H)if(H.hasOwnProperty(x))switch(x){case X.parentKey:case X.attributesKey:break;case X.textKey:if(X.indentText||$)return!0;break;case X.cdataKey:if(X.indentCdata||$)return!0;break;case X.instructionKey:if(X.indentInstruction||$)return!0;break;case X.doctypeKey:case X.commentKey:return!0;default:return!0}return!1}function v(H,X,$,x,N){Q=H,K=X;var a="elementNameFn"in $?$.elementNameFn(X,H):X;if(typeof H>"u"||H===null||H==="")return"fullTagEmptyElementFn"in $&&$.fullTagEmptyElementFn(X,H)||$.fullTagEmptyElement?"<"+a+">":"<"+a+"/>";var U0=[];if(X){if(U0.push("<"+a),typeof H!=="object")return U0.push(">"+P(H,$)+""),U0.join("");if(H[$.attributesKey])U0.push(M(H[$.attributesKey],$,x));var b=j(H,$,!0)||H[$.attributesKey]&&H[$.attributesKey]["xml:space"]==="preserve";if(!b)if("fullTagEmptyElementFn"in $)b=$.fullTagEmptyElementFn(X,H);else b=$.fullTagEmptyElement;if(b)U0.push(">");else return U0.push("/>"),U0.join("")}if(U0.push(S(H,$,x+1,!1)),Q=H,K=X,X)U0.push((N?J($,x,!1):"")+"");return U0.join("")}function S(H,X,$,x){var N,a,U0,b=[];for(a in H)if(H.hasOwnProperty(a)){U0=Y(H[a])?H[a]:[H[a]];for(N=0;N{var G=CB();U.exports=function(Y,Q){if(Y instanceof Buffer)Y=Y.toString();var K=null;if(typeof Y==="string")try{K=JSON.parse(Y)}catch(Z){throw Error("The JSON structure is invalid")}else K=Y;return G(K,Q)}}),_1=R0((B,U)=>{U.exports={xml2js:DB(),xml2json:YG(),js2xml:CB(),json2xml:ZG()}})(),h1=(B)=>{switch(B.type){case void 0:case"element":let U=new kB(B.name,B.attributes),G=B.elements||[];for(let Y of G){let Q=h1(Y);if(Q!==void 0)U.push(Q)}return U;case"text":return B.text;default:return}},QG=class extends F0{},kB=class extends t{static fromXmlString(B){return h1((0,_1.xml2js)(B,{compact:!1}))}constructor(B,U){super(B);if(U)this.root.push(new QG(U))}push(B){this.root.push(B)}},$B=class extends t{constructor(B){super("");e(this,"_attr",void 0),this._attr=B}prepForXml(B){return{_attr:this._attr}}},JG="",h8=class extends t{constructor(B,U){super(B);if(U)this.root=U.root}},D0=(B)=>{if(isNaN(B))throw Error(`Invalid value '${B}' specified. Must be an integer.`);return Math.floor(B)},q1=(B)=>{let U=D0(B);if(U<0)throw Error(`Invalid value '${B}' specified. Must be a positive integer.`);return U},u1=(B,U)=>{let G=U*2;if(B.length!==G||isNaN(Number(`0x${B}`)))throw Error(`Invalid hex value '${B}'. Expected ${G} digit hex value`);return B},KG=(B)=>u1(B,4),SB=(B)=>u1(B,2),H8=(B)=>u1(B,1),M1=(B)=>{let U=B.slice(-2),G=B.substring(0,B.length-2);return`${Number(G)}${U}`},u8=(B)=>{let U=M1(B);if(parseFloat(U)<0)throw Error(`Invalid value '${U}' specified. Expected a positive number.`);return U},C2=(B)=>{if(B==="auto")return B;return u1(B.charAt(0)==="#"?B.substring(1):B,3)},t0=(B)=>typeof B==="string"?M1(B):D0(B),bB=(B)=>typeof B==="string"?u8(B):q1(B),VG=(B)=>typeof B==="string"?M1(B):D0(B),E0=(B)=>typeof B==="string"?u8(B):q1(B),vB=(B)=>{let U=B.substring(0,B.length-1);return`${Number(U)}%`},d8=(B)=>{if(typeof B==="number")return D0(B);if(B.slice(-1)==="%")return vB(B);return M1(B)},yB=q1,gB=q1,fB=(B)=>B.toISOString(),M0=class extends t{constructor(B,U=!0){super(B);if(U!==!0)this.root.push(new C0({val:U}))}},E1=class extends t{constructor(B,U){super(B);this.root.push(new C0({val:bB(U)}))}},S0=class extends t{},M2=class extends t{constructor(B,U){super(B);this.root.push(new C0({val:U}))}},f2=(B,U)=>new X0({name:B,attributes:{value:{key:"w:val",value:U}}}),_2=class extends t{constructor(B,U){super(B);this.root.push(new C0({val:U}))}},qG=class extends t{constructor(B,U){super(B);this.root.push(new C0({val:U}))}},O2=class extends t{constructor(B,U){super(B);this.root.push(U)}},X0=class extends t{constructor({name:B,attributes:U,children:G}){super(B);if(U)this.root.push(new k8(U));if(G)this.root.push(...G)}},c0={START:"start",CENTER:"center",END:"end",BOTH:"both",MEDIUM_KASHIDA:"mediumKashida",DISTRIBUTE:"distribute",NUM_TAB:"numTab",HIGH_KASHIDA:"highKashida",LOW_KASHIDA:"lowKashida",THAI_DISTRIBUTE:"thaiDistribute",LEFT:"left",RIGHT:"right",JUSTIFIED:"both"},c8=(B)=>new X0({name:"w:jc",attributes:{val:{key:"w:val",value:B}}}),A0=(B,{color:U,size:G,space:Y,style:Q})=>new X0({name:B,attributes:{style:{key:"w:val",value:Q},color:{key:"w:color",value:U===void 0?void 0:C2(U)},size:{key:"w:sz",value:G===void 0?void 0:yB(G)},space:{key:"w:space",value:Y===void 0?void 0:gB(Y)}}}),d1={SINGLE:"single",DASH_DOT_STROKED:"dashDotStroked",DASHED:"dashed",DASH_SMALL_GAP:"dashSmallGap",DOT_DASH:"dotDash",DOT_DOT_DASH:"dotDotDash",DOTTED:"dotted",DOUBLE:"double",DOUBLE_WAVE:"doubleWave",INSET:"inset",NIL:"nil",NONE:"none",OUTSET:"outset",THICK:"thick",THICK_THIN_LARGE_GAP:"thickThinLargeGap",THICK_THIN_MEDIUM_GAP:"thickThinMediumGap",THICK_THIN_SMALL_GAP:"thickThinSmallGap",THIN_THICK_LARGE_GAP:"thinThickLargeGap",THIN_THICK_MEDIUM_GAP:"thinThickMediumGap",THIN_THICK_SMALL_GAP:"thinThickSmallGap",THIN_THICK_THIN_LARGE_GAP:"thinThickThinLargeGap",THIN_THICK_THIN_MEDIUM_GAP:"thinThickThinMediumGap",THIN_THICK_THIN_SMALL_GAP:"thinThickThinSmallGap",THREE_D_EMBOSS:"threeDEmboss",THREE_D_ENGRAVE:"threeDEngrave",TRIPLE:"triple",WAVE:"wave"},xB=class extends R2{constructor(B){super("w:pBdr");if(B.top)this.root.push(A0("w:top",B.top));if(B.bottom)this.root.push(A0("w:bottom",B.bottom));if(B.left)this.root.push(A0("w:left",B.left));if(B.right)this.root.push(A0("w:right",B.right));if(B.between)this.root.push(A0("w:between",B.between))}},_B=class extends t{constructor(){super("w:pBdr");let B=A0("w:bottom",{color:"auto",space:1,style:d1.SINGLE,size:6});this.root.push(B)}},hB=({start:B,end:U,left:G,right:Y,hanging:Q,firstLine:K,firstLineChars:Z})=>new X0({name:"w:ind",attributes:{start:{key:"w:start",value:B===void 0?void 0:t0(B)},end:{key:"w:end",value:U===void 0?void 0:t0(U)},left:{key:"w:left",value:G===void 0?void 0:t0(G)},right:{key:"w:right",value:Y===void 0?void 0:t0(Y)},hanging:{key:"w:hanging",value:Q===void 0?void 0:E0(Q)},firstLine:{key:"w:firstLine",value:K===void 0?void 0:E0(K)},firstLineChars:{key:"w:firstLineChars",value:Z===void 0?void 0:D0(Z)}}}),uB=()=>new X0({name:"w:br"}),m8={BEGIN:"begin",END:"end",SEPARATE:"separate"},l8=(B,U)=>new X0({name:"w:fldChar",attributes:{type:{key:"w:fldCharType",value:B},dirty:{key:"w:dirty",value:U}}}),e0=(B)=>l8(m8.BEGIN,B),q2=(B)=>l8(m8.SEPARATE,B),B2=(B)=>l8(m8.END,B),MG={CENTER:"center",INSIDE:"inside",LEFT:"left",OUTSIDE:"outside",RIGHT:"right"},XG={BOTTOM:"bottom",CENTER:"center",INSIDE:"inside",OUTSIDE:"outside",TOP:"top"},RG={DECIMAL:"decimal",UPPER_ROMAN:"upperRoman",LOWER_ROMAN:"lowerRoman",UPPER_LETTER:"upperLetter",LOWER_LETTER:"lowerLetter",ORDINAL:"ordinal",CARDINAL_TEXT:"cardinalText",ORDINAL_TEXT:"ordinalText",HEX:"hex",CHICAGO:"chicago",IDEOGRAPH_DIGITAL:"ideographDigital",JAPANESE_COUNTING:"japaneseCounting",AIUEO:"aiueo",IROHA:"iroha",DECIMAL_FULL_WIDTH:"decimalFullWidth",DECIMAL_HALF_WIDTH:"decimalHalfWidth",JAPANESE_LEGAL:"japaneseLegal",JAPANESE_DIGITAL_TEN_THOUSAND:"japaneseDigitalTenThousand",DECIMAL_ENCLOSED_CIRCLE:"decimalEnclosedCircle",DECIMAL_FULL_WIDTH_2:"decimalFullWidth2",AIUEO_FULL_WIDTH:"aiueoFullWidth",IROHA_FULL_WIDTH:"irohaFullWidth",DECIMAL_ZERO:"decimalZero",BULLET:"bullet",GANADA:"ganada",CHOSUNG:"chosung",DECIMAL_ENCLOSED_FULL_STOP:"decimalEnclosedFullstop",DECIMAL_ENCLOSED_PAREN:"decimalEnclosedParen",DECIMAL_ENCLOSED_CIRCLE_CHINESE:"decimalEnclosedCircleChinese",IDEOGRAPH_ENCLOSED_CIRCLE:"ideographEnclosedCircle",IDEOGRAPH_TRADITIONAL:"ideographTraditional",IDEOGRAPH_ZODIAC:"ideographZodiac",IDEOGRAPH_ZODIAC_TRADITIONAL:"ideographZodiacTraditional",TAIWANESE_COUNTING:"taiwaneseCounting",IDEOGRAPH_LEGAL_TRADITIONAL:"ideographLegalTraditional",TAIWANESE_COUNTING_THOUSAND:"taiwaneseCountingThousand",TAIWANESE_DIGITAL:"taiwaneseDigital",CHINESE_COUNTING:"chineseCounting",CHINESE_LEGAL_SIMPLIFIED:"chineseLegalSimplified",CHINESE_COUNTING_TEN_THOUSAND:"chineseCountingThousand",KOREAN_DIGITAL:"koreanDigital",KOREAN_COUNTING:"koreanCounting",KOREAN_LEGAL:"koreanLegal",KOREAN_DIGITAL_2:"koreanDigital2",VIETNAMESE_COUNTING:"vietnameseCounting",RUSSIAN_LOWER:"russianLower",RUSSIAN_UPPER:"russianUpper",NONE:"none",NUMBER_IN_DASH:"numberInDash",HEBREW_1:"hebrew1",HEBREW_2:"hebrew2",ARABIC_ALPHA:"arabicAlpha",ARABIC_ABJAD:"arabicAbjad",HINDI_VOWELS:"hindiVowels",HINDI_CONSONANTS:"hindiConsonants",HINDI_NUMBERS:"hindiNumbers",HINDI_COUNTING:"hindiCounting",THAI_LETTERS:"thaiLetters",THAI_NUMBERS:"thaiNumbers",THAI_COUNTING:"thaiCounting",BAHT_TEXT:"bahtText",DOLLAR_TEXT:"dollarText"},x0={DEFAULT:"default",PRESERVE:"preserve"},_0=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{space:"xml:space"})}},LG=class extends t{constructor(){super("w:instrText");this.root.push(new _0({space:x0.PRESERVE})),this.root.push("PAGE")}},IG=class extends t{constructor(){super("w:instrText");this.root.push(new _0({space:x0.PRESERVE})),this.root.push("NUMPAGES")}},OG=class extends t{constructor(){super("w:instrText");this.root.push(new _0({space:x0.PRESERVE})),this.root.push("SECTIONPAGES")}},FG=class extends t{constructor(){super("w:instrText");this.root.push(new _0({space:x0.PRESERVE})),this.root.push("SECTION")}},X1=({fill:B,color:U,type:G})=>new X0({name:"w:shd",attributes:{fill:{key:"w:fill",value:B===void 0?void 0:C2(B)},color:{key:"w:color",value:U===void 0?void 0:C2(U)},type:{key:"w:val",value:G}}}),HG={CLEAR:"clear",DIAGONAL_CROSS:"diagCross",DIAGONAL_STRIPE:"diagStripe",HORIZONTAL_CROSS:"horzCross",HORIZONTAL_STRIPE:"horzStripe",NIL:"nil",PERCENT_5:"pct5",PERCENT_10:"pct10",PERCENT_12:"pct12",PERCENT_15:"pct15",PERCENT_20:"pct20",PERCENT_25:"pct25",PERCENT_30:"pct30",PERCENT_35:"pct35",PERCENT_37:"pct37",PERCENT_40:"pct40",PERCENT_45:"pct45",PERCENT_50:"pct50",PERCENT_55:"pct55",PERCENT_60:"pct60",PERCENT_62:"pct62",PERCENT_65:"pct65",PERCENT_70:"pct70",PERCENT_75:"pct75",PERCENT_80:"pct80",PERCENT_85:"pct85",PERCENT_87:"pct87",PERCENT_90:"pct90",PERCENT_95:"pct95",REVERSE_DIAGONAL_STRIPE:"reverseDiagStripe",SOLID:"solid",THIN_DIAGONAL_CROSS:"thinDiagCross",THIN_DIAGONAL_STRIPE:"thinDiagStripe",THIN_HORIZONTAL_CROSS:"thinHorzCross",THIN_REVERSE_DIAGONAL_STRIPE:"thinReverseDiagStripe",THIN_VERTICAL_STRIPE:"thinVertStripe",VERTICAL_STRIPE:"vertStripe"},b0=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{id:"w:id",author:"w:author",date:"w:date"})}},WG=class extends t{constructor(B){super("w:del");this.root.push(new b0({id:B.id,author:B.author,date:B.date}))}},PG=class extends t{constructor(B){super("w:ins");this.root.push(new b0({id:B.id,author:B.author,date:B.date}))}},a8={DOT:"dot"},p8=(B=a8.DOT)=>new X0({name:"w:em",attributes:{val:{key:"w:val",value:B}}}),wG=()=>p8(a8.DOT),AG=class extends t{constructor(B){super("w:spacing");this.root.push(new C0({val:t0(B)}))}},jG=class extends t{constructor(B){super("w:color");this.root.push(new C0({val:C2(B)}))}},NG=class extends t{constructor(B){super("w:highlight");this.root.push(new C0({val:B}))}},zG=class extends t{constructor(B){super("w:highlightCs");this.root.push(new C0({val:B}))}},EG=(B)=>new X0({name:"w:lang",attributes:{value:{key:"w:val",value:B.value},eastAsia:{key:"w:eastAsia",value:B.eastAsia},bidirectional:{key:"w:bidi",value:B.bidirectional}}}),T1=(B,U)=>{if(typeof B==="string"){let Y=B;return new X0({name:"w:rFonts",attributes:{ascii:{key:"w:ascii",value:Y},cs:{key:"w:cs",value:Y},eastAsia:{key:"w:eastAsia",value:Y},hAnsi:{key:"w:hAnsi",value:Y},hint:{key:"w:hint",value:U}}})}let G=B;return new X0({name:"w:rFonts",attributes:{ascii:{key:"w:ascii",value:G.ascii},cs:{key:"w:cs",value:G.cs},eastAsia:{key:"w:eastAsia",value:G.eastAsia},hAnsi:{key:"w:hAnsi",value:G.hAnsi},hint:{key:"w:hint",value:G.hint}}})},dB=(B)=>new X0({name:"w:vertAlign",attributes:{val:{key:"w:val",value:B}}}),TG=()=>dB("superscript"),DG=()=>dB("subscript"),r8={SINGLE:"single",WORDS:"words",DOUBLE:"double",THICK:"thick",DOTTED:"dotted",DOTTEDHEAVY:"dottedHeavy",DASH:"dash",DASHEDHEAVY:"dashedHeavy",DASHLONG:"dashLong",DASHLONGHEAVY:"dashLongHeavy",DOTDASH:"dotDash",DASHDOTHEAVY:"dashDotHeavy",DOTDOTDASH:"dotDotDash",DASHDOTDOTHEAVY:"dashDotDotHeavy",WAVE:"wave",WAVYHEAVY:"wavyHeavy",WAVYDOUBLE:"wavyDouble",NONE:"none"},cB=(B=r8.SINGLE,U)=>new X0({name:"w:u",attributes:{val:{key:"w:val",value:B},color:{key:"w:color",value:U===void 0?void 0:C2(U)}}}),CG={BLINK_BACKGROUND:"blinkBackground",LIGHTS:"lights",ANTS_BLACK:"antsBlack",ANTS_RED:"antsRed",SHIMMER:"shimmer",SPARKLE:"sparkle",NONE:"none"},kG={BLACK:"black",BLUE:"blue",CYAN:"cyan",DARK_BLUE:"darkBlue",DARK_CYAN:"darkCyan",DARK_GRAY:"darkGray",DARK_GREEN:"darkGreen",DARK_MAGENTA:"darkMagenta",DARK_RED:"darkRed",DARK_YELLOW:"darkYellow",GREEN:"green",LIGHT_GRAY:"lightGray",MAGENTA:"magenta",NONE:"none",RED:"red",WHITE:"white",YELLOW:"yellow"},U2=class extends R2{constructor(B){super("w:rPr");if(!B)return;if(B.style)this.push(new M2("w:rStyle",B.style));if(B.font)if(typeof B.font==="string")this.push(T1(B.font));else if("name"in B.font)this.push(T1(B.font.name,B.font.hint));else this.push(T1(B.font));if(B.bold!==void 0)this.push(new M0("w:b",B.bold));if(B.boldComplexScript===void 0&&B.bold!==void 0||B.boldComplexScript){var U;this.push(new M0("w:bCs",(U=B.boldComplexScript)!==null&&U!==void 0?U:B.bold))}if(B.italics!==void 0)this.push(new M0("w:i",B.italics));if(B.italicsComplexScript===void 0&&B.italics!==void 0||B.italicsComplexScript){var G;this.push(new M0("w:iCs",(G=B.italicsComplexScript)!==null&&G!==void 0?G:B.italics))}if(B.smallCaps!==void 0)this.push(new M0("w:smallCaps",B.smallCaps));else if(B.allCaps!==void 0)this.push(new M0("w:caps",B.allCaps));if(B.strike!==void 0)this.push(new M0("w:strike",B.strike));if(B.doubleStrike!==void 0)this.push(new M0("w:dstrike",B.doubleStrike));if(B.emboss!==void 0)this.push(new M0("w:emboss",B.emboss));if(B.imprint!==void 0)this.push(new M0("w:imprint",B.imprint));if(B.noProof!==void 0)this.push(new M0("w:noProof",B.noProof));if(B.snapToGrid!==void 0)this.push(new M0("w:snapToGrid",B.snapToGrid));if(B.vanish)this.push(new M0("w:vanish",B.vanish));if(B.color)this.push(new jG(B.color));if(B.characterSpacing)this.push(new AG(B.characterSpacing));if(B.scale!==void 0)this.push(new _2("w:w",B.scale));if(B.kern)this.push(new E1("w:kern",B.kern));if(B.position)this.push(new M2("w:position",B.position));if(B.size!==void 0)this.push(new E1("w:sz",B.size));let Y=B.sizeComplexScript===void 0||B.sizeComplexScript===!0?B.size:B.sizeComplexScript;if(Y)this.push(new E1("w:szCs",Y));if(B.highlight)this.push(new NG(B.highlight));let Q=B.highlightComplexScript===void 0||B.highlightComplexScript===!0?B.highlight:B.highlightComplexScript;if(Q)this.push(new zG(Q));if(B.underline)this.push(cB(B.underline.type,B.underline.color));if(B.effect)this.push(new M2("w:effect",B.effect));if(B.border)this.push(A0("w:bdr",B.border));if(B.shading)this.push(X1(B.shading));if(B.subScript)this.push(DG());if(B.superScript)this.push(TG());if(B.rightToLeft!==void 0)this.push(new M0("w:rtl",B.rightToLeft));if(B.emphasisMark)this.push(p8(B.emphasisMark.type));if(B.language)this.push(EG(B.language));if(B.specVanish)this.push(new M0("w:specVanish",B.vanish));if(B.math)this.push(new M0("w:oMath",B.math));if(B.revision)this.push(new lB(B.revision))}push(B){this.root.push(B)}},mB=class extends U2{constructor(B){super(B);if(B===null||B===void 0?void 0:B.insertion)this.push(new PG(B.insertion));if(B===null||B===void 0?void 0:B.deletion)this.push(new WG(B.deletion))}},lB=class extends t{constructor(B){super("w:rPrChange");this.root.push(new b0({id:B.id,author:B.author,date:B.date})),this.addChildElement(new U2(B))}},Z1=class extends t{constructor(B){super("w:t");if(typeof B==="string")this.root.push(new _0({space:x0.PRESERVE})),this.root.push(B);else{var U;this.root.push(new _0({space:(U=B.space)!==null&&U!==void 0?U:x0.DEFAULT})),this.root.push(B.text)}}},H2={CURRENT:"CURRENT",TOTAL_PAGES:"TOTAL_PAGES",TOTAL_PAGES_IN_SECTION:"TOTAL_PAGES_IN_SECTION",CURRENT_SECTION:"SECTION"},T0=class extends t{constructor(B){super("w:r");if(e(this,"properties",void 0),this.properties=new U2(B),this.root.push(this.properties),B.break)for(let U=0;U{U.exports=G;function G(Y,Q){if(!Y)throw Error(Q||"Assertion failed")}G.equal=function(Q,K,Z){if(Q!=K)throw Error(Z||"Assertion failed: "+Q+" != "+K)}}),G2=R0((B)=>{var U=R1();B.inherits=W2();function G(b,c){if((b.charCodeAt(c)&64512)!==55296)return!1;if(c<0||c+1>=b.length)return!1;return(b.charCodeAt(c+1)&64512)===56320}function Y(b,c){if(Array.isArray(b))return b.slice();if(!b)return[];var T=[];if(typeof b==="string"){if(!c){var m=0;for(var B0=0;B0>6|192,T[m++]=i&63|128;else if(G(b,B0))i=65536+((i&1023)<<10)+(b.charCodeAt(++B0)&1023),T[m++]=i>>18|240,T[m++]=i>>12&63|128,T[m++]=i>>6&63|128,T[m++]=i&63|128;else T[m++]=i>>12|224,T[m++]=i>>6&63|128,T[m++]=i&63|128}}else if(c==="hex"){if(b=b.replace(/[^a-z0-9]+/gi,""),b.length%2!==0)b="0"+b;for(B0=0;B0>>24|b>>>8&65280|b<<8&16711680|(b&255)<<24)>>>0}B.htonl=K;function Z(b,c){var T="";for(var m=0;m>>0}return i}B.join32=W;function I(b,c){var T=Array(b.length*4);for(var m=0,B0=0;m>>24,T[B0+1]=i>>>16&255,T[B0+2]=i>>>8&255,T[B0+3]=i&255;else T[B0+3]=i>>>24,T[B0+2]=i>>>16&255,T[B0+1]=i>>>8&255,T[B0]=i&255}return T}B.split32=I;function F(b,c){return b>>>c|b<<32-c}B.rotr32=F;function D(b,c){return b<>>32-c}B.rotl32=D;function w(b,c){return b+c>>>0}B.sum32=w;function P(b,c,T){return b+c+T>>>0}B.sum32_3=P;function A(b,c,T,m){return b+c+T+m>>>0}B.sum32_4=A;function E(b,c,T,m,B0){return b+c+T+m+B0>>>0}B.sum32_5=E;function C(b,c,T,m){var B0=b[c],i=m+b[c+1]>>>0;b[c]=(i>>0,b[c+1]=i}B.sum64=C;function j(b,c,T,m){return(c+m>>>0>>0}B.sum64_hi=j;function v(b,c,T,m){return c+m>>>0}B.sum64_lo=v;function S(b,c,T,m,B0,i,V0,s){var G0=0,r=c;return r=r+m>>>0,G0+=r>>0,G0+=r>>0,G0+=r>>0}B.sum64_4_hi=S;function H(b,c,T,m,B0,i,V0,s){return c+m+i+s>>>0}B.sum64_4_lo=H;function X(b,c,T,m,B0,i,V0,s,G0,r){var y=0,n=c;return n=n+m>>>0,y+=n>>0,y+=n>>0,y+=n>>0,y+=n>>0}B.sum64_5_hi=X;function $(b,c,T,m,B0,i,V0,s,G0,r){return c+m+i+s+r>>>0}B.sum64_5_lo=$;function x(b,c,T){return(c<<32-T|b>>>T)>>>0}B.rotr64_hi=x;function N(b,c,T){return(b<<32-T|c>>>T)>>>0}B.rotr64_lo=N;function a(b,c,T){return b>>>T}B.shr64_hi=a;function U0(b,c,T){return(b<<32-T|c>>>T)>>>0}B.shr64_lo=U0}),L1=R0((B)=>{var U=G2(),G=R1();function Y(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}B.BlockHash=Y,Y.prototype.update=function(K,Z){if(K=U.toArray(K,Z),!this.pending)this.pending=K;else this.pending=this.pending.concat(K);if(this.pendingTotal+=K.length,this.pending.length>=this._delta8){K=this.pending;var J=K.length%this._delta8;if(this.pending=K.slice(K.length-J,K.length),this.pending.length===0)this.pending=null;K=U.join32(K,0,K.length-J,this.endian);for(var M=0;M>>24&255,M[W++]=K>>>16&255,M[W++]=K>>>8&255,M[W++]=K&255}else{M[W++]=K&255,M[W++]=K>>>8&255,M[W++]=K>>>16&255,M[W++]=K>>>24&255,M[W++]=0,M[W++]=0,M[W++]=0,M[W++]=0;for(I=8;I{var U=G2().rotr32;function G(I,F,D,w){if(I===0)return Y(F,D,w);if(I===1||I===3)return K(F,D,w);if(I===2)return Q(F,D,w)}B.ft_1=G;function Y(I,F,D){return I&F^~I&D}B.ch32=Y;function Q(I,F,D){return I&F^I&D^F&D}B.maj32=Q;function K(I,F,D){return I^F^D}B.p32=K;function Z(I){return U(I,2)^U(I,13)^U(I,22)}B.s0_256=Z;function J(I){return U(I,6)^U(I,11)^U(I,25)}B.s1_256=J;function M(I){return U(I,7)^U(I,18)^I>>>3}B.g0_256=M;function W(I){return U(I,17)^U(I,19)^I>>>10}B.g1_256=W}),SG=R0((B,U)=>{var G=G2(),Y=L1(),Q=pB(),K=G.rotl32,Z=G.sum32,J=G.sum32_5,M=Q.ft_1,W=Y.BlockHash,I=[1518500249,1859775393,2400959708,3395469782];function F(){if(!(this instanceof F))return new F;W.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=Array(80)}G.inherits(F,W),U.exports=F,F.blockSize=512,F.outSize=160,F.hmacStrength=80,F.padLength=64,F.prototype._update=function(w,P){var A=this.W;for(var E=0;E<16;E++)A[E]=w[P+E];for(;E{var G=G2(),Y=L1(),Q=pB(),K=R1(),Z=G.sum32,J=G.sum32_4,M=G.sum32_5,W=Q.ch32,I=Q.maj32,F=Q.s0_256,D=Q.s1_256,w=Q.g0_256,P=Q.g1_256,A=Y.BlockHash,E=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function C(){if(!(this instanceof C))return new C;A.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=E,this.W=Array(64)}G.inherits(C,A),U.exports=C,C.blockSize=512,C.outSize=256,C.hmacStrength=192,C.padLength=64,C.prototype._update=function(v,S){var H=this.W;for(var X=0;X<16;X++)H[X]=v[S+X];for(;X{var G=G2(),Y=rB();function Q(){if(!(this instanceof Q))return new Q;Y.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}G.inherits(Q,Y),U.exports=Q,Q.blockSize=512,Q.outSize=224,Q.hmacStrength=192,Q.padLength=64,Q.prototype._digest=function(Z){if(Z==="hex")return G.toHex32(this.h.slice(0,7),"big");else return G.split32(this.h.slice(0,7),"big")}}),iB=R0((B,U)=>{var G=G2(),Y=L1(),Q=R1(),K=G.rotr64_hi,Z=G.rotr64_lo,J=G.shr64_hi,M=G.shr64_lo,W=G.sum64,I=G.sum64_hi,F=G.sum64_lo,D=G.sum64_4_hi,w=G.sum64_4_lo,P=G.sum64_5_hi,A=G.sum64_5_lo,E=Y.BlockHash,C=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function j(){if(!(this instanceof j))return new j;E.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=C,this.W=Array(160)}G.inherits(j,E),U.exports=j,j.blockSize=1024,j.outSize=512,j.hmacStrength=192,j.padLength=128,j.prototype._prepareBlock=function(B0,i){var V0=this.W;for(var s=0;s<32;s++)V0[s]=B0[i+s];for(;s{var G=G2(),Y=iB();function Q(){if(!(this instanceof Q))return new Q;Y.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}G.inherits(Q,Y),U.exports=Q,Q.blockSize=1024,Q.outSize=384,Q.hmacStrength=192,Q.padLength=128,Q.prototype._digest=function(Z){if(Z==="hex")return G.toHex32(this.h.slice(0,12),"big");else return G.split32(this.h.slice(0,12),"big")}}),yG=R0((B)=>{B.sha1=SG(),B.sha224=bG(),B.sha256=rB(),B.sha384=vG(),B.sha512=iB()}),gG=R0((B)=>{var U=G2(),G=L1(),Y=U.rotl32,Q=U.sum32,K=U.sum32_3,Z=U.sum32_4,J=G.BlockHash;function M(){if(!(this instanceof M))return new M;J.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}U.inherits(M,J),B.ripemd160=M,M.blockSize=512,M.outSize=160,M.hmacStrength=192,M.padLength=64,M.prototype._update=function(C,j){var v=this.h[0],S=this.h[1],H=this.h[2],X=this.h[3],$=this.h[4],x=v,N=S,a=H,U0=X,b=$;for(var c=0;c<80;c++){var T=Q(Y(Z(v,W(c,S,H,X),C[D[c]+j],I(c)),P[c]),$);v=$,$=X,X=Y(H,10),H=S,S=T,T=Q(Y(Z(x,W(79-c,N,a,U0),C[w[c]+j],F(c)),A[c]),b),x=b,b=U0,U0=Y(a,10),a=N,N=T}T=K(this.h[1],H,U0),this.h[1]=K(this.h[2],X,b),this.h[2]=K(this.h[3],$,x),this.h[3]=K(this.h[4],v,N),this.h[4]=K(this.h[0],S,a),this.h[0]=T},M.prototype._digest=function(C){if(C==="hex")return U.toHex32(this.h,"little");else return U.split32(this.h,"little")};function W(E,C,j,v){if(E<=15)return C^j^v;else if(E<=31)return C&j|~C&v;else if(E<=47)return(C|~j)^v;else if(E<=63)return C&v|j&~v;else return C^(j|~v)}function I(E){if(E<=15)return 0;else if(E<=31)return 1518500249;else if(E<=47)return 1859775393;else if(E<=63)return 2400959708;else return 2840853838}function F(E){if(E<=15)return 1352829926;else if(E<=31)return 1548603684;else if(E<=47)return 1836072691;else if(E<=63)return 2053994217;else return 0}var D=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],w=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],P=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],A=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]}),fG=R0((B,U)=>{var G=G2(),Y=R1();function Q(K,Z,J){if(!(this instanceof Q))return new Q(K,Z,J);this.Hash=K,this.blockSize=K.blockSize/8,this.outSize=K.outSize/8,this.inner=null,this.outer=null,this._init(G.toArray(Z,J))}U.exports=Q,Q.prototype._init=function(Z){if(Z.length>this.blockSize)Z=new this.Hash().update(Z).digest();Y(Z.length<=this.blockSize);for(var J=Z.length;J{var U=B;U.utils=G2(),U.common=L1(),U.sha=yG(),U.ripemd=gG(),U.hmac=fG(),U.sha1=U.sha.sha1,U.sha256=U.sha.sha256,U.sha224=U.sha.sha224,U.sha384=U.sha.sha384,U.sha512=U.sha.sha512,U.ripemd160=U.ripemd.ripemd160})(),1),_G="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",hG=(B,U=21)=>{return(G=U)=>{let Y="",Q=G|0;while(Q--)Y+=B[Math.random()*B.length|0];return Y}},uG=(B=21)=>{let U="",G=B|0;while(G--)U+=_G[Math.random()*64|0];return U},dG=(B)=>Math.floor(B/25.4*72*20),u0=(B)=>Math.floor(B*72*20),I1=(B=0)=>{let U=B;return()=>++U},nB=()=>I1(),sB=()=>I1(1),oB=()=>I1(),tB=()=>I1(),O1=()=>uG().toLowerCase(),W8=(B)=>xG.default.sha1().update(B instanceof ArrayBuffer?new Uint8Array(B):B).digest("hex"),s2=(B)=>hG("1234567890abcdef",B)(),eB=()=>`${s2(8)}-${s2(4)}-${s2(4)}-${s2(4)}-${s2(12)}`,U1=(B)=>new Uint8Array(new TextEncoder().encode(B)),B4={CHARACTER:"character",COLUMN:"column",INSIDE_MARGIN:"insideMargin",LEFT_MARGIN:"leftMargin",MARGIN:"margin",OUTSIDE_MARGIN:"outsideMargin",PAGE:"page",RIGHT_MARGIN:"rightMargin"},U4={BOTTOM_MARGIN:"bottomMargin",INSIDE_MARGIN:"insideMargin",LINE:"line",MARGIN:"margin",OUTSIDE_MARGIN:"outsideMargin",PAGE:"page",PARAGRAPH:"paragraph",TOP_MARGIN:"topMargin"},G4=()=>new X0({name:"wp:simplePos",attributes:{x:{key:"x",value:0},y:{key:"y",value:0}}}),Y4=(B)=>new X0({name:"wp:align",children:[B]}),Z4=(B)=>new X0({name:"wp:posOffset",children:[B.toString()]}),Q4=({relative:B,align:U,offset:G})=>new X0({name:"wp:positionH",attributes:{relativeFrom:{key:"relativeFrom",value:B!==null&&B!==void 0?B:B4.PAGE}},children:[(()=>{if(U)return Y4(U);else if(G!==void 0)return Z4(G);else throw Error("There is no configuration provided for floating position (Align or offset)")})()]}),J4=({relative:B,align:U,offset:G})=>new X0({name:"wp:positionV",attributes:{relativeFrom:{key:"relativeFrom",value:B!==null&&B!==void 0?B:U4.PAGE}},children:[(()=>{if(U)return Y4(U);else if(G!==void 0)return Z4(G);else throw Error("There is no configuration provided for floating position (Align or offset)")})()]}),cG=function(B){return B.CENTER="ctr",B.TOP="t",B.BOTTOM="b",B}({}),K4=(B={})=>{var U,G,Y,Q;return new X0({name:"wps:bodyPr",attributes:{lIns:{key:"lIns",value:(U=B.margins)===null||U===void 0?void 0:U.left},rIns:{key:"rIns",value:(G=B.margins)===null||G===void 0?void 0:G.right},tIns:{key:"tIns",value:(Y=B.margins)===null||Y===void 0?void 0:Y.top},bIns:{key:"bIns",value:(Q=B.margins)===null||Q===void 0?void 0:Q.bottom},anchor:{key:"anchor",value:B.verticalAnchor}},children:[...B.noAutoFit?[new M0("a:noAutofit",B.noAutoFit)]:[]]})},mG=(B={txBox:"1"})=>new X0({name:"wps:cNvSpPr",attributes:{txBox:{key:"txBox",value:B.txBox}}}),lG=(B)=>new X0({name:"w:txbxContent",children:[...B]}),aG=(B)=>new X0({name:"wps:txbx",children:[lG(B)]}),pG=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{cx:"cx",cy:"cy"})}},rG=class extends t{constructor(B,U){super("a:ext");e(this,"attributes",void 0),this.attributes=new pG({cx:B,cy:U}),this.root.push(this.attributes)}},iG=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{x:"x",y:"y"})}},nG=class extends t{constructor(B,U){super("a:off");this.root.push(new iG({x:B!==null&&B!==void 0?B:0,y:U!==null&&U!==void 0?U:0}))}},sG=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{flipVertical:"flipV",flipHorizontal:"flipH",rotation:"rot"})}},V4=class extends t{constructor(B){var U,G,Y,Q;super("a:xfrm");e(this,"extents",void 0),e(this,"offset",void 0),this.root.push(new sG({flipVertical:(U=B.flip)===null||U===void 0?void 0:U.vertical,flipHorizontal:(G=B.flip)===null||G===void 0?void 0:G.horizontal,rotation:B.rotation})),this.offset=new nG((Y=B.offset)===null||Y===void 0||(Y=Y.emus)===null||Y===void 0?void 0:Y.x,(Q=B.offset)===null||Q===void 0||(Q=Q.emus)===null||Q===void 0?void 0:Q.y),this.extents=new rG(B.emus.x,B.emus.y),this.root.push(this.offset),this.root.push(this.extents)}},q4=()=>new X0({name:"a:noFill"}),oG=(B)=>new X0({name:"a:srgbClr",attributes:{value:{key:"val",value:B.value}}}),tG=(B)=>new X0({name:"a:schemeClr",attributes:{value:{key:"val",value:B.value}}}),P8=(B)=>new X0({name:"a:solidFill",children:[B.type==="rgb"?oG(B):tG(B)]}),eG=(B)=>new X0({name:"a:ln",attributes:{width:{key:"w",value:B.width},cap:{key:"cap",value:B.cap},compoundLine:{key:"cmpd",value:B.compoundLine},align:{key:"algn",value:B.align}},children:[B.type==="noFill"?q4():B.solidFillType==="rgb"?P8({type:"rgb",value:B.value}):P8({type:"scheme",value:B.value})]}),BY=class extends t{constructor(){super("a:avLst")}},UY=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{prst:"prst"})}},GY=class extends t{constructor(){super("a:prstGeom");this.root.push(new UY({prst:"rect"})),this.root.push(new BY)}},YY=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{bwMode:"bwMode"})}},M4=class extends t{constructor({element:B,outline:U,solidFill:G,transform:Y}){super(`${B}:spPr`);if(e(this,"form",void 0),this.root.push(new YY({bwMode:"auto"})),this.form=new V4(Y),this.root.push(this.form),this.root.push(new GY),U)this.root.push(q4()),this.root.push(eG(U));if(G)this.root.push(P8(G))}},l6=(B)=>new X0({name:"wps:wsp",children:[mG(B.nonVisualProperties),new M4({element:"wps",transform:B.transformation,outline:B.outline,solidFill:B.solidFill}),aG(B.children),K4(B.bodyProperties)]}),J8=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{uri:"uri"})}},ZY=(B)=>new X0({name:"asvg:svgBlip",attributes:{asvg:{key:"xmlns:asvg",value:"http://schemas.microsoft.com/office/drawing/2016/SVG/main"},embed:{key:"r:embed",value:`rId{${B.fileName}}`}}}),QY=(B)=>new X0({name:"a:ext",attributes:{uri:{key:"uri",value:"{96DAC541-7B7A-43D3-8B79-37D633B846F1}"}},children:[ZY(B)]}),JY=(B)=>new X0({name:"a:extLst",children:[QY(B)]}),KY=(B)=>new X0({name:"a:blip",attributes:{embed:{key:"r:embed",value:`rId{${B.type==="svg"?B.fallback.fileName:B.fileName}}`},cstate:{key:"cstate",value:"none"}},children:B.type==="svg"?[JY(B)]:[]}),VY=class extends t{constructor(){super("a:srcRect")}},qY=class extends t{constructor(){super("a:fillRect")}},MY=class extends t{constructor(){super("a:stretch");this.root.push(new qY)}},XY=class extends t{constructor(B){super("pic:blipFill");this.root.push(KY(B)),this.root.push(new VY),this.root.push(new MY)}},RY=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{noChangeAspect:"noChangeAspect",noChangeArrowheads:"noChangeArrowheads"})}},LY=class extends t{constructor(){super("a:picLocks");this.root.push(new RY({noChangeAspect:1,noChangeArrowheads:1}))}},IY=class extends t{constructor(){super("pic:cNvPicPr");this.root.push(new LY)}},X4=(B,U)=>new X0({name:"a:hlinkClick",attributes:L0(L0({},U?{xmlns:{key:"xmlns:a",value:"http://schemas.openxmlformats.org/drawingml/2006/main"}}:{}),{},{id:{key:"r:id",value:`rId${B}`}})}),OY=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{id:"id",name:"name",descr:"descr"})}},FY=class extends t{constructor(){super("pic:cNvPr");this.root.push(new OY({id:0,name:"",descr:""}))}prepForXml(B){for(let U=B.stack.length-1;U>=0;U--){let G=B.stack[U];if(!(G instanceof m2))continue;this.root.push(X4(G.linkId,!1));break}return super.prepForXml(B)}},HY=class extends t{constructor(){super("pic:nvPicPr");this.root.push(new FY),this.root.push(new IY)}},WY=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{xmlns:"xmlns:pic"})}},a6=class extends t{constructor({mediaData:B,transform:U,outline:G}){super("pic:pic");this.root.push(new WY({xmlns:"http://schemas.openxmlformats.org/drawingml/2006/picture"})),this.root.push(new HY),this.root.push(new XY(B)),this.root.push(new M4({element:"pic",transform:U,outline:G}))}},PY=(B)=>new X0({name:"wpg:grpSpPr",children:[new V4(B)]}),wY=()=>new X0({name:"wpg:cNvGrpSpPr"}),AY=(B)=>new X0({name:"wpg:wgp",children:[wY(),PY(B.transformation),...B.children]}),jY=class extends t{constructor({mediaData:B,transform:U,outline:G,solidFill:Y}){super("a:graphicData");if(B.type==="wps"){this.root.push(new J8({uri:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape"}));let Q=l6(L0(L0({},B.data),{},{transformation:U,outline:G,solidFill:Y}));this.root.push(Q)}else if(B.type==="wpg"){this.root.push(new J8({uri:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup"}));let Q=AY({children:B.children.map((K)=>{if(K.type==="wps")return l6(L0(L0({},K.data),{},{transformation:K.transformation,outline:K.outline,solidFill:K.solidFill}));else return new a6({mediaData:K,transform:K.transformation,outline:K.outline})}),transformation:U});this.root.push(Q)}else{this.root.push(new J8({uri:"http://schemas.openxmlformats.org/drawingml/2006/picture"}));let Q=new a6({mediaData:B,transform:U,outline:G});this.root.push(Q)}}},NY=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{a:"xmlns:a"})}},R4=class extends t{constructor({mediaData:B,transform:U,outline:G,solidFill:Y}){super("a:graphic");e(this,"data",void 0),this.root.push(new NY({a:"http://schemas.openxmlformats.org/drawingml/2006/main"})),this.data=new jY({mediaData:B,transform:U,outline:G,solidFill:Y}),this.root.push(this.data)}},e2={NONE:0,SQUARE:1,TIGHT:2,TOP_AND_BOTTOM:3},L4={BOTH_SIDES:"bothSides",LEFT:"left",RIGHT:"right",LARGEST:"largest"},w8=()=>new X0({name:"wp:wrapNone"}),I4=(B,U={top:0,bottom:0,left:0,right:0})=>new X0({name:"wp:wrapSquare",attributes:{wrapText:{key:"wrapText",value:B.side||L4.BOTH_SIDES},distT:{key:"distT",value:U.top},distB:{key:"distB",value:U.bottom},distL:{key:"distL",value:U.left},distR:{key:"distR",value:U.right}}}),O4=(B={top:0,bottom:0})=>new X0({name:"wp:wrapTight",attributes:{distT:{key:"distT",value:B.top},distB:{key:"distB",value:B.bottom}}}),F4=(B={top:0,bottom:0})=>new X0({name:"wp:wrapTopAndBottom",attributes:{distT:{key:"distT",value:B.top},distB:{key:"distB",value:B.bottom}}}),H4=class extends t{constructor({name:B,description:U,title:G,id:Y}={name:"",description:"",title:""}){super("wp:docPr");e(this,"docPropertiesUniqueNumericId",oB());let Q={id:{key:"id",value:Y!==null&&Y!==void 0?Y:this.docPropertiesUniqueNumericId()},name:{key:"name",value:B}};if(U!==null&&U!==void 0)Q.description={key:"descr",value:U};if(G!==null&&G!==void 0)Q.title={key:"title",value:G};this.root.push(new k8(Q))}prepForXml(B){for(let U=B.stack.length-1;U>=0;U--){let G=B.stack[U];if(!(G instanceof m2))continue;this.root.push(X4(G.linkId,!0));break}return super.prepForXml(B)}},W4=({top:B,right:U,bottom:G,left:Y})=>new X0({name:"wp:effectExtent",attributes:{top:{key:"t",value:B},right:{key:"r",value:U},bottom:{key:"b",value:G},left:{key:"l",value:Y}}}),P4=({x:B,y:U})=>new X0({name:"wp:extent",attributes:{x:{key:"cx",value:B},y:{key:"cy",value:U}}}),zY=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{xmlns:"xmlns:a",noChangeAspect:"noChangeAspect"})}},EY=class extends t{constructor(){super("a:graphicFrameLocks");this.root.push(new zY({xmlns:"http://schemas.openxmlformats.org/drawingml/2006/main",noChangeAspect:1}))}},w4=()=>new X0({name:"wp:cNvGraphicFramePr",children:[new EY]}),TY=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{distT:"distT",distB:"distB",distL:"distL",distR:"distR",allowOverlap:"allowOverlap",behindDoc:"behindDoc",layoutInCell:"layoutInCell",locked:"locked",relativeHeight:"relativeHeight",simplePos:"simplePos"})}},DY=class extends t{constructor({mediaData:B,transform:U,drawingOptions:G}){super("wp:anchor");let Y=L0({allowOverlap:!0,behindDocument:!1,lockAnchor:!1,layoutInCell:!0,verticalPosition:{},horizontalPosition:{}},G.floating);if(this.root.push(new TY({distT:Y.margins?Y.margins.top||0:0,distB:Y.margins?Y.margins.bottom||0:0,distL:Y.margins?Y.margins.left||0:0,distR:Y.margins?Y.margins.right||0:0,simplePos:"0",allowOverlap:Y.allowOverlap===!0?"1":"0",behindDoc:Y.behindDocument===!0?"1":"0",locked:Y.lockAnchor===!0?"1":"0",layoutInCell:Y.layoutInCell===!0?"1":"0",relativeHeight:Y.zIndex?Y.zIndex:U.emus.y})),this.root.push(G4()),this.root.push(Q4(Y.horizontalPosition)),this.root.push(J4(Y.verticalPosition)),this.root.push(P4({x:U.emus.x,y:U.emus.y})),this.root.push(W4({top:0,right:0,bottom:0,left:0})),G.floating!==void 0&&G.floating.wrap!==void 0)switch(G.floating.wrap.type){case e2.SQUARE:this.root.push(I4(G.floating.wrap,G.floating.margins));break;case e2.TIGHT:this.root.push(O4(G.floating.margins));break;case e2.TOP_AND_BOTTOM:this.root.push(F4(G.floating.margins));break;case e2.NONE:default:this.root.push(w8())}else this.root.push(w8());this.root.push(new H4(G.docProperties)),this.root.push(w4()),this.root.push(new R4({mediaData:B,transform:U,outline:G.outline,solidFill:G.solidFill}))}},CY=({mediaData:B,transform:U,docProperties:G,outline:Y,solidFill:Q})=>{var K,Z,J,M;return new X0({name:"wp:inline",attributes:{distanceTop:{key:"distT",value:0},distanceBottom:{key:"distB",value:0},distanceLeft:{key:"distL",value:0},distanceRight:{key:"distR",value:0}},children:[P4({x:U.emus.x,y:U.emus.y}),W4(Y?{top:((K=Y.width)!==null&&K!==void 0?K:9525)*2,right:((Z=Y.width)!==null&&Z!==void 0?Z:9525)*2,bottom:((J=Y.width)!==null&&J!==void 0?J:9525)*2,left:((M=Y.width)!==null&&M!==void 0?M:9525)*2}:{top:0,right:0,bottom:0,left:0}),new H4(G),w4(),new R4({mediaData:B,transform:U,outline:Y,solidFill:Q})]})},c1=class extends t{constructor(B,U={}){super("w:drawing");if(!U.floating)this.root.push(CY({mediaData:B,transform:B.transformation,docProperties:U.docProperties,outline:U.outline,solidFill:U.solidFill}));else this.root.push(new DY({mediaData:B,transform:B.transformation,drawingOptions:U}))}},kY=(B)=>{let U=B.indexOf(";base64,"),G=U===-1?0:U+8;return new Uint8Array(atob(B.substring(G)).split("").map((Y)=>Y.charCodeAt(0)))},A4=(B)=>typeof B==="string"?kY(B):B,K8=(B,U)=>({data:A4(B.data),fileName:U,transformation:{pixels:{x:Math.round(B.transformation.width),y:Math.round(B.transformation.height)},emus:{x:Math.round(B.transformation.width*9525),y:Math.round(B.transformation.height*9525)},flip:B.transformation.flip,rotation:B.transformation.rotation?B.transformation.rotation*60000:void 0}}),$Y=class extends t{constructor(B){var U=(...Z)=>(super(...Z),e(this,"imageData",void 0),this);let G=`${W8(B.data)}.${B.type}`,Y=B.type==="svg"?L0(L0({type:B.type},K8(B,G)),{},{fallback:L0({type:B.fallback.type},K8(L0(L0({},B.fallback),{},{transformation:B.transformation}),`${W8(B.fallback.data)}.${B.fallback.type}`))}):L0({type:B.type},K8(B,G)),Q=new c1(Y,{floating:B.floating,docProperties:B.altText,outline:B.outline}),K=new T0({children:[Q]});if(B.insertion)U("w:ins"),this.root.push(new b0({id:B.insertion.id,author:B.insertion.author,date:B.insertion.date})),this.addChildElement(K);else if(B.deletion)U("w:del"),this.root.push(new b0({id:B.deletion.id,author:B.deletion.author,date:B.deletion.date})),this.addChildElement(K);else U("w:r"),this.root.push(new U2({})),this.root.push(Q);this.imageData=Y}prepForXml(B){if(B.file.Media.addImage(this.imageData.fileName,this.imageData),this.imageData.type==="svg")B.file.Media.addImage(this.imageData.fallback.fileName,this.imageData.fallback);return super.prepForXml(B)}},i8=(B)=>{var U,G,Y,Q,K,Z,J,M;return{offset:{pixels:{x:Math.round((U=(G=B.offset)===null||G===void 0?void 0:G.left)!==null&&U!==void 0?U:0),y:Math.round((Y=(Q=B.offset)===null||Q===void 0?void 0:Q.top)!==null&&Y!==void 0?Y:0)},emus:{x:Math.round(((K=(Z=B.offset)===null||Z===void 0?void 0:Z.left)!==null&&K!==void 0?K:0)*9525),y:Math.round(((J=(M=B.offset)===null||M===void 0?void 0:M.top)!==null&&J!==void 0?J:0)*9525)}},pixels:{x:Math.round(B.width),y:Math.round(B.height)},emus:{x:Math.round(B.width*9525),y:Math.round(B.height*9525)},flip:B.flip,rotation:B.rotation?B.rotation*60000:void 0}},SY=class extends T0{constructor(B){super({});e(this,"wpsShapeData",void 0),this.wpsShapeData={type:B.type,transformation:i8(B.transformation),data:L0({},B)};let U=new c1(this.wpsShapeData,{floating:B.floating,docProperties:B.altText,outline:B.outline,solidFill:B.solidFill});this.root.push(U)}},bY=class extends T0{constructor(B){super({});e(this,"wpgGroupData",void 0),e(this,"mediaDatas",void 0),this.wpgGroupData={type:B.type,transformation:i8(B.transformation),children:B.children};let U=new c1(this.wpgGroupData,{floating:B.floating,docProperties:B.altText});this.mediaDatas=B.children.filter((G)=>G.type!=="wps").map((G)=>G),this.root.push(U)}prepForXml(B){return this.mediaDatas.forEach((U)=>{if(B.file.Media.addImage(U.fileName,U),U.type==="svg")B.file.Media.addImage(U.fallback.fileName,U.fallback)}),super.prepForXml(B)}},vY=class extends t{constructor(B){super("w:instrText");this.root.push(new _0({space:x0.PRESERVE})),this.root.push(`SEQ ${B}`)}},yY=class extends T0{constructor(B){super({});this.root.push(e0(!0)),this.root.push(new vY(B)),this.root.push(q2()),this.root.push(B2())}},gY=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{instr:"w:instr"})}},n8=class extends t{constructor(B,U){super("w:fldSimple");if(this.root.push(new gY({instr:B})),U!==void 0)this.root.push(new Q1(U))}},fY=class extends n8{constructor(B){super(` MERGEFIELD ${B} `,`«${B}»`)}},xY=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{xmlns:"xmlns"})}},j4={EXTERNAL:"External"},_Y=(B,U,G,Y)=>new X0({name:"Relationship",attributes:{id:{key:"Id",value:B},type:{key:"Type",value:U},target:{key:"Target",value:G},targetMode:{key:"TargetMode",value:Y}}}),w2=class extends t{constructor(){super("Relationships");this.root.push(new xY({xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"}))}addRelationship(B,U,G,Y){this.root.push(_Y(`rId${B}`,U,G,Y))}get RelationshipCount(){return this.root.length-1}},hY=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{id:"w:id",initials:"w:initials",author:"w:author",date:"w:date"})}},s8=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{id:"w:id"})}},uY=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{"xmlns:cx":"xmlns:cx","xmlns:cx1":"xmlns:cx1","xmlns:cx2":"xmlns:cx2","xmlns:cx3":"xmlns:cx3","xmlns:cx4":"xmlns:cx4","xmlns:cx5":"xmlns:cx5","xmlns:cx6":"xmlns:cx6","xmlns:cx7":"xmlns:cx7","xmlns:cx8":"xmlns:cx8","xmlns:mc":"xmlns:mc","xmlns:aink":"xmlns:aink","xmlns:am3d":"xmlns:am3d","xmlns:o":"xmlns:o","xmlns:r":"xmlns:r","xmlns:m":"xmlns:m","xmlns:v":"xmlns:v","xmlns:wp14":"xmlns:wp14","xmlns:wp":"xmlns:wp","xmlns:w10":"xmlns:w10","xmlns:w":"xmlns:w","xmlns:w14":"xmlns:w14","xmlns:w15":"xmlns:w15","xmlns:w16cex":"xmlns:w16cex","xmlns:w16cid":"xmlns:w16cid","xmlns:w16":"xmlns:w16","xmlns:w16sdtdh":"xmlns:w16sdtdh","xmlns:w16se":"xmlns:w16se","xmlns:wpg":"xmlns:wpg","xmlns:wpi":"xmlns:wpi","xmlns:wne":"xmlns:wne","xmlns:wps":"xmlns:wps"})}},dY=class extends t{constructor(B){super("w:commentRangeStart");this.root.push(new s8({id:B}))}},cY=class extends t{constructor(B){super("w:commentRangeEnd");this.root.push(new s8({id:B}))}},mY=class extends t{constructor(B){super("w:commentReference");this.root.push(new s8({id:B}))}},A8=class extends t{constructor({id:B,initials:U,author:G,date:Y=new Date,children:Q},K){super("w:comment");e(this,"paraId",void 0),this.paraId=K,this.root.push(new hY({id:B,initials:U,author:G,date:Y.toISOString()}));for(let Z of Q)this.root.push(Z)}prepForXml(B){let U=super.prepForXml(B);if(!U||!this.paraId)return U;let G=U["w:comment"];if(!Array.isArray(G))return U;for(let Y=G.length-1;Y>=0;Y--){let Q=G[Y];if(Q&&typeof Q==="object"&&"w:p"in Q){let K=Q["w:p"];if(Array.isArray(K))K.unshift({_attr:{"w14:paraId":this.paraId,"w14:textId":this.paraId}});break}}return U}},N4=(B)=>(B+1).toString(16).toUpperCase().padStart(8,"0"),z4=class extends t{constructor({children:B}){super("w:comments");if(e(this,"relationships",void 0),e(this,"threadData",void 0),this.root.push(new uY({"xmlns:cx":"http://schemas.microsoft.com/office/drawing/2014/chartex","xmlns:cx1":"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex","xmlns:cx2":"http://schemas.microsoft.com/office/drawing/2015/10/21/chartex","xmlns:cx3":"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex","xmlns:cx4":"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex","xmlns:cx5":"http://schemas.microsoft.com/office/drawing/2016/5/11/chartex","xmlns:cx6":"http://schemas.microsoft.com/office/drawing/2016/5/12/chartex","xmlns:cx7":"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex","xmlns:cx8":"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","xmlns:aink":"http://schemas.microsoft.com/office/drawing/2016/ink","xmlns:am3d":"http://schemas.microsoft.com/office/drawing/2017/model3d","xmlns:o":"urn:schemas-microsoft-com:office:office","xmlns:r":"http://schemas.openxmlformats.org/officeDocument/2006/relationships","xmlns:m":"http://schemas.openxmlformats.org/officeDocument/2006/math","xmlns:v":"urn:schemas-microsoft-com:vml","xmlns:wp14":"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing","xmlns:wp":"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing","xmlns:w10":"urn:schemas-microsoft-com:office:word","xmlns:w":"http://schemas.openxmlformats.org/wordprocessingml/2006/main","xmlns:w14":"http://schemas.microsoft.com/office/word/2010/wordml","xmlns:w15":"http://schemas.microsoft.com/office/word/2012/wordml","xmlns:w16cex":"http://schemas.microsoft.com/office/word/2018/wordml/cex","xmlns:w16cid":"http://schemas.microsoft.com/office/word/2016/wordml/cid","xmlns:w16":"http://schemas.microsoft.com/office/word/2018/wordml","xmlns:w16sdtdh":"http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash","xmlns:w16se":"http://schemas.microsoft.com/office/word/2015/wordml/symex","xmlns:wpg":"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup","xmlns:wpi":"http://schemas.microsoft.com/office/word/2010/wordprocessingInk","xmlns:wne":"http://schemas.microsoft.com/office/word/2006/wordml","xmlns:wps":"http://schemas.microsoft.com/office/word/2010/wordprocessingShape"})),B.some((U)=>U.parentId!==void 0)){let U=new Map(B.map((G)=>[G.id,N4(G.id)]));for(let G of B)this.root.push(new A8(G,U.get(G.id)));this.threadData=B.map((G)=>({paraId:U.get(G.id),parentParaId:G.parentId!==void 0?U.get(G.parentId):void 0,done:G.resolved}))}else for(let U of B)this.root.push(new A8(U));this.relationships=new w2}get Relationships(){return this.relationships}get ThreadData(){return this.threadData}},lY=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{"xmlns:wpc":"xmlns:wpc","xmlns:mc":"xmlns:mc","xmlns:w15":"xmlns:w15","mc:Ignorable":"mc:Ignorable"})}},aY=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{paraId:"w15:paraId",paraIdParent:"w15:paraIdParent",done:"w15:done"})}},pY=class extends t{constructor(B){super("w15:commentEx");this.root.push(new aY({paraId:B.paraId,paraIdParent:B.parentParaId,done:B.done!==void 0?B.done?"1":"0":void 0}))}},E4=class extends t{constructor(B){super("w15:commentsEx");this.root.push(new lY({"xmlns:wpc":"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas","xmlns:mc":"http://schemas.openxmlformats.org/markup-compatibility/2006","xmlns:w15":"http://schemas.microsoft.com/office/word/2012/wordml","mc:Ignorable":"w15"}));for(let U of B)this.root.push(new pY(U))}},rY=class extends S0{constructor(){super("w:noBreakHyphen")}},iY=class extends S0{constructor(){super("w:softHyphen")}},nY=class extends S0{constructor(){super("w:dayShort")}},sY=class extends S0{constructor(){super("w:monthShort")}},oY=class extends S0{constructor(){super("w:yearShort")}},tY=class extends S0{constructor(){super("w:dayLong")}},eY=class extends S0{constructor(){super("w:monthLong")}},BZ=class extends S0{constructor(){super("w:yearLong")}},UZ=class extends S0{constructor(){super("w:annotationRef")}},GZ=class extends S0{constructor(){super("w:footnoteRef")}},T4=class extends S0{constructor(){super("w:endnoteRef")}},YZ=class extends S0{constructor(){super("w:separator")}},ZZ=class extends S0{constructor(){super("w:continuationSeparator")}},QZ=class extends S0{constructor(){super("w:pgNum")}},JZ=class extends S0{constructor(){super("w:cr")}},D4=class extends S0{constructor(){super("w:tab")}},KZ=class extends S0{constructor(){super("w:lastRenderedPageBreak")}},VZ={LEFT:"left",CENTER:"center",RIGHT:"right"},qZ={MARGIN:"margin",INDENT:"indent"},MZ={NONE:"none",DOT:"dot",HYPHEN:"hyphen",UNDERSCORE:"underscore",MIDDLE_DOT:"middleDot"},XZ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{alignment:"w:alignment",relativeTo:"w:relativeTo",leader:"w:leader"})}},RZ=class extends t{constructor(B){super("w:ptab");this.root.push(new XZ({alignment:B.alignment,relativeTo:B.relativeTo,leader:B.leader}))}},C4={COLUMN:"column",PAGE:"page"},k4=class extends t{constructor(B){super("w:br");this.root.push(new C0({type:B}))}},LZ=class extends T0{constructor(){super({});this.root.push(new k4(C4.PAGE))}},IZ=class extends T0{constructor(){super({});this.root.push(new k4(C4.COLUMN))}},$4=class extends t{constructor(){super("w:pageBreakBefore")}},k2={AT_LEAST:"atLeast",EXACTLY:"exactly",EXACT:"exact",AUTO:"auto"},S4=({after:B,before:U,line:G,lineRule:Y,beforeAutoSpacing:Q,afterAutoSpacing:K})=>new X0({name:"w:spacing",attributes:{after:{key:"w:after",value:B},before:{key:"w:before",value:U},line:{key:"w:line",value:G},lineRule:{key:"w:lineRule",value:Y},beforeAutoSpacing:{key:"w:beforeAutospacing",value:Q},afterAutoSpacing:{key:"w:afterAutospacing",value:K}}}),OZ={HEADING_1:"Heading1",HEADING_2:"Heading2",HEADING_3:"Heading3",HEADING_4:"Heading4",HEADING_5:"Heading5",HEADING_6:"Heading6",TITLE:"Title"},x2=(B)=>new X0({name:"w:pStyle",attributes:{val:{key:"w:val",value:B}}}),j8={LEFT:"left",RIGHT:"right",CENTER:"center",BAR:"bar",CLEAR:"clear",DECIMAL:"decimal",END:"end",NUM:"num",START:"start"},FZ={DOT:"dot",HYPHEN:"hyphen",MIDDLE_DOT:"middleDot",NONE:"none",UNDERSCORE:"underscore"},HZ={MAX:9026},b4=({type:B,position:U,leader:G})=>new X0({name:"w:tab",attributes:{val:{key:"w:val",value:B},pos:{key:"w:pos",value:U},leader:{key:"w:leader",value:G}}}),v4=(B)=>new X0({name:"w:tabs",children:B.map((U)=>b4(U))}),D1=class extends t{constructor(B,U){super("w:numPr");this.root.push(new WZ(U)),this.root.push(new PZ(B))}},WZ=class extends t{constructor(B){super("w:ilvl");if(B>9)throw Error("Level cannot be greater than 9. Read more here: https://answers.microsoft.com/en-us/msoffice/forum/all/does-word-support-more-than-9-list-levels/d130fdcd-1781-446d-8c84-c6c79124e4d7");this.root.push(new C0({val:B}))}},PZ=class extends t{constructor(B){super("w:numId");this.root.push(new C0({val:typeof B==="string"?`{${B}}`:B}))}},F1=class extends t{constructor(...B){super(...B);e(this,"fileChild",Symbol())}},wZ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{id:"r:id",history:"w:history",anchor:"w:anchor"})}},AZ={INTERNAL:"INTERNAL",EXTERNAL:"EXTERNAL"},m2=class extends t{constructor(B,U,G){super("w:hyperlink");e(this,"linkId",void 0),this.linkId=U;let Y=new wZ({history:1,anchor:G?G:void 0,id:!G?`rId${this.linkId}`:void 0});this.root.push(Y),B.forEach((Q)=>{this.root.push(Q)})}},y4=class extends m2{constructor(B){super(B.children,O1(),B.anchor)}},o8=class extends t{constructor(B){super("w:externalHyperlink");e(this,"options",void 0),this.options=B}},jZ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{id:"w:id",name:"w:name"})}},NZ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{id:"w:id"})}},g4=class{constructor(B){e(this,"bookmarkUniqueNumericId",tB()),e(this,"start",void 0),e(this,"children",void 0),e(this,"end",void 0);let U=this.bookmarkUniqueNumericId();this.start=new f4(B.id,U),this.children=B.children,this.end=new x4(U)}},f4=class extends t{constructor(B,U){super("w:bookmarkStart");let G=new jZ({name:B,id:U});this.root.push(G)}},x4=class extends t{constructor(B){super("w:bookmarkEnd");let U=new NZ({id:B});this.root.push(U)}},zZ=function(B){return B.NONE="none",B.RELATIVE="relative",B.NO_CONTEXT="no_context",B.FULL_CONTEXT="full_context",B}({}),EZ={["relative"]:"\\r",["no_context"]:"\\n",["full_context"]:"\\w",["none"]:void 0},TZ=class extends n8{constructor(B,U,G={}){let{hyperlink:Y=!0,referenceFormat:Q="full_context"}=G,K=`${`REF ${B}`} ${[...Y?["\\h"]:[],...[EZ[Q]].filter((Z)=>!!Z)].join(" ")}`;super(K,U)}},_4=(B)=>new X0({name:"w:outlineLvl",attributes:{val:{key:"w:val",value:B}}}),DZ=class extends t{constructor(B,U={}){super("w:instrText");this.root.push(new _0({space:x0.PRESERVE}));let G=`PAGEREF ${B}`;if(U.hyperlink)G=`${G} \\h`;if(U.useRelativePosition)G=`${G} \\p`;this.root.push(G)}},CZ=class extends T0{constructor(B,U={}){super({children:[e0(!0),new DZ(B,U),B2()]})}},kZ={ANSI:"00",DEFAULT:"01",SYMBOL:"02",MAC:"4D",JIS:"80",HANGUL:"81",JOHAB:"82",GB_2312:"86",CHINESEBIG5:"88",GREEK:"A1",TURKISH:"A2",VIETNAMESE:"A3",HEBREW:"B1",ARABIC:"B2",BALTIC:"BA",RUSSIAN:"CC",THAI:"DE",EASTEUROPE:"EE",OEM:"FF"},z1=({id:B,fontKey:U,subsetted:G},Y)=>new X0({name:Y,attributes:L0({id:{key:"r:id",value:B}},U?{fontKey:{key:"w:fontKey",value:`{${U}}`}}:{}),children:[...G?[new M0("w:subsetted",G)]:[]]}),$Z=({name:B,altName:U,panose1:G,charset:Y,family:Q,notTrueType:K,pitch:Z,sig:J,embedRegular:M,embedBold:W,embedItalic:I,embedBoldItalic:F})=>new X0({name:"w:font",attributes:{name:{key:"w:name",value:B}},children:[...U?[f2("w:altName",U)]:[],...G?[f2("w:panose1",G)]:[],...Y?[f2("w:charset",Y)]:[],...Q?[f2("w:family",Q)]:[],...K?[new M0("w:notTrueType",K)]:[],...Z?[f2("w:pitch",Z)]:[],...J?[new X0({name:"w:sig",attributes:{usb0:{key:"w:usb0",value:J.usb0},usb1:{key:"w:usb1",value:J.usb1},usb2:{key:"w:usb2",value:J.usb2},usb3:{key:"w:usb3",value:J.usb3},csb0:{key:"w:csb0",value:J.csb0},csb1:{key:"w:csb1",value:J.csb1}}})]:[],...M?[z1(M,"w:embedRegular")]:[],...W?[z1(W,"w:embedBold")]:[],...I?[z1(I,"w:embedItalic")]:[],...F?[z1(F,"w:embedBoldItalic")]:[]]}),SZ=({name:B,index:U,fontKey:G,characterSet:Y})=>$Z({name:B,sig:{usb0:"E0002AFF",usb1:"C000247B",usb2:"00000009",usb3:"00000000",csb0:"000001FF",csb1:"00000000"},charset:Y,family:"auto",pitch:"variable",embedRegular:{fontKey:G,id:`rId${U}`}}),bZ=(B)=>new X0({name:"w:fonts",attributes:{mc:{key:"xmlns:mc",value:"http://schemas.openxmlformats.org/markup-compatibility/2006"},r:{key:"xmlns:r",value:"http://schemas.openxmlformats.org/officeDocument/2006/relationships"},w:{key:"xmlns:w",value:"http://schemas.openxmlformats.org/wordprocessingml/2006/main"},w14:{key:"xmlns:w14",value:"http://schemas.microsoft.com/office/word/2010/wordml"},w15:{key:"xmlns:w15",value:"http://schemas.microsoft.com/office/word/2012/wordml"},w16cex:{key:"xmlns:w16cex",value:"http://schemas.microsoft.com/office/word/2018/wordml/cex"},w16cid:{key:"xmlns:w16cid",value:"http://schemas.microsoft.com/office/word/2016/wordml/cid"},w16:{key:"xmlns:w16",value:"http://schemas.microsoft.com/office/word/2018/wordml"},w16sdtdh:{key:"xmlns:w16sdtdh",value:"http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash"},w16se:{key:"xmlns:w16se",value:"http://schemas.microsoft.com/office/word/2015/wordml/symex"},Ignorable:{key:"mc:Ignorable",value:"w14 w15 w16se w16cid w16 w16cex w16sdtdh"}},children:B.map((U,G)=>SZ({name:U.name,index:G+1,fontKey:U.fontKey,characterSet:U.characterSet}))}),h4=class{constructor(B){e(this,"options",void 0),e(this,"fontTable",void 0),e(this,"relationships",void 0),e(this,"fontOptionsWithKey",[]),this.options=B,this.fontOptionsWithKey=B.map((U)=>L0(L0({},U),{},{fontKey:eB()})),this.fontTable=bZ(this.fontOptionsWithKey),this.relationships=new w2;for(let U=0;Unew X0({name:"w:wordWrap",attributes:{val:{key:"w:val",value:0}}}),yZ={NONE:"none",DROP:"drop",MARGIN:"margin"},gZ={MARGIN:"margin",PAGE:"page",TEXT:"text"},fZ={AROUND:"around",AUTO:"auto",NONE:"none",NOT_BESIDE:"notBeside",THROUGH:"through",TIGHT:"tight"},u4=(B)=>{var U,G;return new X0({name:"w:framePr",attributes:{anchorLock:{key:"w:anchorLock",value:B.anchorLock},dropCap:{key:"w:dropCap",value:B.dropCap},width:{key:"w:w",value:B.width},height:{key:"w:h",value:B.height},x:{key:"w:x",value:B.position?B.position.x:void 0},y:{key:"w:y",value:B.position?B.position.y:void 0},anchorHorizontal:{key:"w:hAnchor",value:B.anchor.horizontal},anchorVertical:{key:"w:vAnchor",value:B.anchor.vertical},spaceHorizontal:{key:"w:hSpace",value:(U=B.space)===null||U===void 0?void 0:U.horizontal},spaceVertical:{key:"w:vSpace",value:(G=B.space)===null||G===void 0?void 0:G.vertical},rule:{key:"w:hRule",value:B.rule},alignmentX:{key:"w:xAlign",value:B.alignment?B.alignment.x:void 0},alignmentY:{key:"w:yAlign",value:B.alignment?B.alignment.y:void 0},lines:{key:"w:lines",value:B.lines},wrap:{key:"w:wrap",value:B.wrap}}})},X2=class extends R2{constructor(B){super("w:pPr",B===null||B===void 0?void 0:B.includeIfEmpty);if(e(this,"numberingReferences",[]),!B)return this;if(B.heading)this.push(x2(B.heading));if(B.bullet)this.push(x2("ListParagraph"));if(B.numbering){if(!B.style&&!B.heading){if(!B.numbering.custom)this.push(x2("ListParagraph"))}}if(B.style)this.push(x2(B.style));if(B.keepNext!==void 0)this.push(new M0("w:keepNext",B.keepNext));if(B.keepLines!==void 0)this.push(new M0("w:keepLines",B.keepLines));if(B.pageBreakBefore)this.push(new $4);if(B.frame)this.push(u4(B.frame));if(B.widowControl!==void 0)this.push(new M0("w:widowControl",B.widowControl));if(B.bullet)this.push(new D1(1,B.bullet.level));if(B.numbering){var U,G;this.numberingReferences.push({reference:B.numbering.reference,instance:(U=B.numbering.instance)!==null&&U!==void 0?U:0}),this.push(new D1(`${B.numbering.reference}-${(G=B.numbering.instance)!==null&&G!==void 0?G:0}`,B.numbering.level))}else if(B.numbering===!1)this.push(new D1(0,0));if(B.border)this.push(new xB(B.border));if(B.thematicBreak)this.push(new _B);if(B.shading)this.push(X1(B.shading));if(B.wordWrap)this.push(vZ());if(B.overflowPunctuation)this.push(new M0("w:overflowPunct",B.overflowPunctuation));let Y=[...B.rightTabStop!==void 0?[{type:j8.RIGHT,position:B.rightTabStop}]:[],...B.tabStops?B.tabStops:[],...B.leftTabStop!==void 0?[{type:j8.LEFT,position:B.leftTabStop}]:[]];if(Y.length>0)this.push(v4(Y));if(B.bidirectional!==void 0)this.push(new M0("w:bidi",B.bidirectional));if(B.spacing)this.push(S4(B.spacing));if(B.indent)this.push(hB(B.indent));if(B.contextualSpacing!==void 0)this.push(new M0("w:contextualSpacing",B.contextualSpacing));if(B.alignment)this.push(c8(B.alignment));if(B.outlineLevel!==void 0)this.push(_4(B.outlineLevel));if(B.suppressLineNumbers!==void 0)this.push(new M0("w:suppressLineNumbers",B.suppressLineNumbers));if(B.autoSpaceEastAsianText!==void 0)this.push(new M0("w:autoSpaceDN",B.autoSpaceEastAsianText));if(B.run)this.push(new mB(B.run));if(B.revision)this.push(new d4(B.revision))}push(B){this.root.push(B)}prepForXml(B){if(!(B.viewWrapper instanceof h4))for(let U of this.numberingReferences)B.file.Numbering.createConcreteNumberingInstance(U.reference,U.instance);return super.prepForXml(B)}},d4=class extends t{constructor(B){super("w:pPrChange");this.root.push(new b0({id:B.id,author:B.author,date:B.date})),this.root.push(new X2(L0(L0({},B),{},{includeIfEmpty:!0})))}},d0=class extends F1{constructor(B){super("w:p");if(e(this,"properties",void 0),typeof B==="string")return this.properties=new X2({}),this.root.push(this.properties),this.root.push(new Q1(B)),this;if(this.properties=new X2(B),this.root.push(this.properties),B.text)this.root.push(new Q1(B.text));if(B.children)for(let U of B.children){if(U instanceof g4){this.root.push(U.start);for(let G of U.children)this.root.push(G);this.root.push(U.end);continue}this.root.push(U)}}prepForXml(B){for(let U of this.root)if(U instanceof o8){let G=this.root.indexOf(U),Y=new m2(U.options.children,O1());B.viewWrapper.Relationships.addRelationship(Y.linkId,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",U.options.link,j4.EXTERNAL),this.root[G]=Y}return super.prepForXml(B)}addRunToFront(B){return this.root.splice(1,0,B),this}},xZ=class extends t{constructor(B){super("m:oMath");for(let U of B.children)this.root.push(U)}},_Z=class extends t{constructor(B){super("m:t");this.root.push(B)}},hZ=class extends t{constructor(B){super("m:r");this.root.push(new _Z(B))}},c4=class extends t{constructor(B){super("m:den");for(let U of B)this.root.push(U)}},m4=class extends t{constructor(B){super("m:num");for(let U of B)this.root.push(U)}},uZ=class extends t{constructor(B){super("m:f");this.root.push(new m4(B.numerator)),this.root.push(new c4(B.denominator))}},l4=({accent:B})=>new X0({name:"m:chr",attributes:{accent:{key:"m:val",value:B}}}),y0=({children:B})=>new X0({name:"m:e",children:B}),a4=({value:B})=>new X0({name:"m:limLoc",attributes:{value:{key:"m:val",value:B||"undOvr"}}}),dZ=()=>new X0({name:"m:subHide",attributes:{hide:{key:"m:val",value:1}}}),cZ=()=>new X0({name:"m:supHide",attributes:{hide:{key:"m:val",value:1}}}),t8=({accent:B,hasSuperScript:U,hasSubScript:G,limitLocationVal:Y})=>new X0({name:"m:naryPr",children:[...B?[l4({accent:B})]:[],a4({value:Y}),...!U?[cZ()]:[],...!G?[dZ()]:[]]}),l2=({children:B})=>new X0({name:"m:sub",children:B}),a2=({children:B})=>new X0({name:"m:sup",children:B}),mZ=class extends t{constructor(B){super("m:nary");if(this.root.push(t8({accent:"∑",hasSuperScript:!!B.superScript,hasSubScript:!!B.subScript})),B.subScript)this.root.push(l2({children:B.subScript}));if(B.superScript)this.root.push(a2({children:B.superScript}));this.root.push(y0({children:B.children}))}},lZ=class extends t{constructor(B){super("m:nary");if(this.root.push(t8({accent:"",hasSuperScript:!!B.superScript,hasSubScript:!!B.subScript,limitLocationVal:"subSup"})),B.subScript)this.root.push(l2({children:B.subScript}));if(B.superScript)this.root.push(a2({children:B.superScript}));this.root.push(y0({children:B.children}))}},e8=class extends t{constructor(B){super("m:lim");for(let U of B)this.root.push(U)}},aZ=class extends t{constructor(B){super("m:limUpp");this.root.push(y0({children:B.children})),this.root.push(new e8(B.limit))}},pZ=class extends t{constructor(B){super("m:limLow");this.root.push(y0({children:B.children})),this.root.push(new e8(B.limit))}},p4=()=>new X0({name:"m:sSupPr"}),rZ=class extends t{constructor(B){super("m:sSup");this.root.push(p4()),this.root.push(y0({children:B.children})),this.root.push(a2({children:B.superScript}))}},r4=()=>new X0({name:"m:sSubPr"}),iZ=class extends t{constructor(B){super("m:sSub");this.root.push(r4()),this.root.push(y0({children:B.children})),this.root.push(l2({children:B.subScript}))}},i4=()=>new X0({name:"m:sSubSupPr"}),nZ=class extends t{constructor(B){super("m:sSubSup");this.root.push(i4()),this.root.push(y0({children:B.children})),this.root.push(l2({children:B.subScript})),this.root.push(a2({children:B.superScript}))}},n4=()=>new X0({name:"m:sPrePr"}),sZ=class extends X0{constructor({children:B,subScript:U,superScript:G}){super({name:"m:sPre",children:[n4(),y0({children:B}),l2({children:U}),a2({children:G})]})}},oZ="",s4=class extends t{constructor(B){super("m:deg");if(B)for(let U of B)this.root.push(U)}},tZ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{hide:"m:val"})}},eZ=class extends t{constructor(){super("m:degHide");this.root.push(new tZ({hide:1}))}},o4=class extends t{constructor(B){super("m:radPr");if(!B)this.root.push(new eZ)}},BQ=class extends t{constructor(B){super("m:rad");this.root.push(new o4(!!B.degree)),this.root.push(new s4(B.degree)),this.root.push(y0({children:B.children}))}},t4=class extends t{constructor(B){super("m:fName");for(let U of B)this.root.push(U)}},e4=class extends t{constructor(){super("m:funcPr")}},UQ=class extends t{constructor(B){super("m:func");this.root.push(new e4),this.root.push(new t4(B.name)),this.root.push(y0({children:B.children}))}},GQ=({character:B})=>new X0({name:"m:begChr",attributes:{character:{key:"m:val",value:B}}}),YQ=({character:B})=>new X0({name:"m:endChr",attributes:{character:{key:"m:val",value:B}}}),m1=({characters:B})=>new X0({name:"m:dPr",children:B?[GQ({character:B.beginningCharacter}),YQ({character:B.endingCharacter})]:[]}),ZQ=class extends t{constructor(B){super("m:d");this.root.push(m1({})),this.root.push(y0({children:B.children}))}},QQ=class extends t{constructor(B){super("m:d");this.root.push(m1({characters:{beginningCharacter:"[",endingCharacter:"]"}})),this.root.push(y0({children:B.children}))}},JQ=class extends t{constructor(B){super("m:d");this.root.push(m1({characters:{beginningCharacter:"{",endingCharacter:"}"}})),this.root.push(y0({children:B.children}))}},KQ=class extends t{constructor(B){super("m:d");this.root.push(m1({characters:{beginningCharacter:"〈",endingCharacter:"〉"}})),this.root.push(y0({children:B.children}))}},VQ=(B)=>new X0({name:"w:gridCol",attributes:B!==void 0?{width:{key:"w:w",value:E0(B)}}:void 0}),B9=class extends t{constructor(B,U){super("w:tblGrid");for(let G of B)this.root.push(VQ(G));if(U)this.root.push(new MQ(U))}},qQ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{id:"w:id"})}},MQ=class extends t{constructor(B){super("w:tblGridChange");this.root.push(new qQ({id:B.id})),this.root.push(new B9(B.columnWidths))}},XQ=class extends t{constructor(B){super("w:ins");this.root.push(new b0({id:B.id,author:B.author,date:B.date})),this.addChildElement(new Q1(B))}},RQ=class extends t{constructor(){super("w:delInstrText");this.root.push(new _0({space:x0.PRESERVE})),this.root.push("PAGE")}},LQ=class extends t{constructor(){super("w:delInstrText");this.root.push(new _0({space:x0.PRESERVE})),this.root.push("NUMPAGES")}},IQ=class extends t{constructor(){super("w:delInstrText");this.root.push(new _0({space:x0.PRESERVE})),this.root.push("SECTIONPAGES")}},p6=class extends t{constructor(B){super("w:delText");this.root.push(new _0({space:x0.PRESERVE})),this.root.push(B)}},OQ=class extends t{constructor(B){super("w:del");e(this,"deletedTextRunWrapper",void 0),this.root.push(new b0({id:B.id,author:B.author,date:B.date})),this.deletedTextRunWrapper=new FQ(B),this.addChildElement(this.deletedTextRunWrapper)}},FQ=class extends t{constructor(B){super("w:r");if(this.root.push(new U2(B)),B.children)for(let U of B.children){if(typeof U==="string"){switch(U){case H2.CURRENT:this.root.push(e0()),this.root.push(new RQ),this.root.push(q2()),this.root.push(B2());break;case H2.TOTAL_PAGES:this.root.push(e0()),this.root.push(new LQ),this.root.push(q2()),this.root.push(B2());break;case H2.TOTAL_PAGES_IN_SECTION:this.root.push(e0()),this.root.push(new IQ),this.root.push(q2()),this.root.push(B2());break;default:this.root.push(new p6(U));break}continue}this.root.push(U)}else if(B.text)this.root.push(new p6(B.text));if(B.break)for(let U=0;Unew X0({name:"w:vAlign",attributes:{verticalAlign:{key:"w:val",value:B}}}),q9=({marginUnitType:B=b1.DXA,top:U,left:G,bottom:Y,right:Q})=>[{name:"w:top",size:U},{name:"w:left",size:G},{name:"w:bottom",size:Y},{name:"w:right",size:Q}].filter((K)=>K.size!==void 0).map(({name:K,size:Z})=>J1(K,{type:B,size:Z})),PQ=(B)=>{let U=q9(B);if(U.length===0)return;return new X0({name:"w:tblCellMar",children:U})},wQ=(B)=>{let U=q9(B);if(U.length===0)return;return new X0({name:"w:tcMar",children:U})},b1={AUTO:"auto",DXA:"dxa",NIL:"nil",PERCENTAGE:"pct"},J1=(B,{type:U=b1.AUTO,size:G})=>{let Y=G;if(U===b1.PERCENTAGE&&typeof G==="number")Y=`${G}%`;return new X0({name:B,attributes:{type:{key:"w:type",value:U},size:{key:"w:w",value:d8(Y)}}})},M9=class extends R2{constructor(B){super("w:tcBorders");if(B.top)this.root.push(A0("w:top",B.top));if(B.start)this.root.push(A0("w:start",B.start));if(B.left)this.root.push(A0("w:left",B.left));if(B.bottom)this.root.push(A0("w:bottom",B.bottom));if(B.end)this.root.push(A0("w:end",B.end));if(B.right)this.root.push(A0("w:right",B.right))}},AQ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{val:"w:val"})}},X9=class extends t{constructor(B){super("w:gridSpan");this.root.push(new AQ({val:D0(B)}))}},U6={CONTINUE:"continue",RESTART:"restart"},jQ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{val:"w:val"})}},N8=class extends t{constructor(B){super("w:vMerge");this.root.push(new jQ({val:B}))}},NQ={BOTTOM_TO_TOP_LEFT_TO_RIGHT:"btLr",LEFT_TO_RIGHT_TOP_TO_BOTTOM:"lrTb",TOP_TO_BOTTOM_RIGHT_TO_LEFT:"tbRl"},zQ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{val:"w:val"})}},R9=class extends t{constructor(B){super("w:textDirection");this.root.push(new zQ({val:B}))}},L9=class extends R2{constructor(B){super("w:tcPr",B.includeIfEmpty);if(B.width)this.root.push(J1("w:tcW",B.width));if(B.columnSpan)this.root.push(new X9(B.columnSpan));if(B.verticalMerge)this.root.push(new N8(B.verticalMerge));else if(B.rowSpan&&B.rowSpan>1)this.root.push(new N8(U6.RESTART));if(B.borders)this.root.push(new M9(B.borders));if(B.shading)this.root.push(X1(B.shading));if(B.margins){let U=wQ(B.margins);if(U)this.root.push(U)}if(B.textDirection)this.root.push(new R9(B.textDirection));if(B.verticalAlign)this.root.push(B6(B.verticalAlign));if(B.insertion)this.root.push(new Y9(B.insertion));if(B.deletion)this.root.push(new Z9(B.deletion));if(B.revision)this.root.push(new EQ(B.revision));if(B.cellMerge)this.root.push(new J9(B.cellMerge))}},EQ=class extends t{constructor(B){super("w:tcPrChange");this.root.push(new b0({id:B.id,author:B.author,date:B.date})),this.root.push(new L9(L0(L0({},B),{},{includeIfEmpty:!0})))}},G6=class extends t{constructor(B){super("w:tc");e(this,"options",void 0),this.options=B,this.root.push(new L9(B));for(let U of B.children)this.root.push(U)}prepForXml(B){if(!(this.root[this.root.length-1]instanceof d0))this.root.push(new d0({}));return super.prepForXml(B)}},v2={style:d1.NONE,size:0,color:"auto"},y2={style:d1.SINGLE,size:4,color:"auto"},Y6=class extends t{constructor(B){var U,G,Y,Q,K,Z;super("w:tblBorders");this.root.push(A0("w:top",(U=B.top)!==null&&U!==void 0?U:y2)),this.root.push(A0("w:left",(G=B.left)!==null&&G!==void 0?G:y2)),this.root.push(A0("w:bottom",(Y=B.bottom)!==null&&Y!==void 0?Y:y2)),this.root.push(A0("w:right",(Q=B.right)!==null&&Q!==void 0?Q:y2)),this.root.push(A0("w:insideH",(K=B.insideHorizontal)!==null&&K!==void 0?K:y2)),this.root.push(A0("w:insideV",(Z=B.insideVertical)!==null&&Z!==void 0?Z:y2))}};e(Y6,"NONE",{top:v2,bottom:v2,left:v2,right:v2,insideHorizontal:v2,insideVertical:v2});var TQ={MARGIN:"margin",PAGE:"page",TEXT:"text"},DQ={CENTER:"center",INSIDE:"inside",LEFT:"left",OUTSIDE:"outside",RIGHT:"right"},CQ={CENTER:"center",INSIDE:"inside",BOTTOM:"bottom",OUTSIDE:"outside",INLINE:"inline",TOP:"top"},kQ={NEVER:"never",OVERLAP:"overlap"},$Q=(B)=>new X0({name:"w:tblOverlap",attributes:{val:{key:"w:val",value:B}}}),I9=({horizontalAnchor:B,verticalAnchor:U,absoluteHorizontalPosition:G,relativeHorizontalPosition:Y,absoluteVerticalPosition:Q,relativeVerticalPosition:K,bottomFromText:Z,topFromText:J,leftFromText:M,rightFromText:W,overlap:I})=>new X0({name:"w:tblpPr",attributes:{leftFromText:{key:"w:leftFromText",value:M===void 0?void 0:E0(M)},rightFromText:{key:"w:rightFromText",value:W===void 0?void 0:E0(W)},topFromText:{key:"w:topFromText",value:J===void 0?void 0:E0(J)},bottomFromText:{key:"w:bottomFromText",value:Z===void 0?void 0:E0(Z)},absoluteHorizontalPosition:{key:"w:tblpX",value:G===void 0?void 0:t0(G)},absoluteVerticalPosition:{key:"w:tblpY",value:Q===void 0?void 0:t0(Q)},horizontalAnchor:{key:"w:horzAnchor",value:B},relativeHorizontalPosition:{key:"w:tblpXSpec",value:Y},relativeVerticalPosition:{key:"w:tblpYSpec",value:K},verticalAnchor:{key:"w:vertAnchor",value:U}},children:I?[$Q(I)]:void 0}),SQ={AUTOFIT:"autofit",FIXED:"fixed"},O9=(B)=>new X0({name:"w:tblLayout",attributes:{type:{key:"w:type",value:B}}}),bQ={DXA:"dxa",NIL:"nil"},F9=({type:B=bQ.DXA,value:U})=>new X0({name:"w:tblCellSpacing",attributes:{type:{key:"w:type",value:B},value:{key:"w:w",value:d8(U)}}}),H9=({firstRow:B,lastRow:U,firstColumn:G,lastColumn:Y,noHBand:Q,noVBand:K})=>new X0({name:"w:tblLook",attributes:{firstRow:{key:"w:firstRow",value:B},lastRow:{key:"w:lastRow",value:U},firstColumn:{key:"w:firstColumn",value:G},lastColumn:{key:"w:lastColumn",value:Y},noHBand:{key:"w:noHBand",value:Q},noVBand:{key:"w:noVBand",value:K}}}),Z6=class extends R2{constructor(B){super("w:tblPr",B.includeIfEmpty);if(B.style)this.root.push(new M2("w:tblStyle",B.style));if(B.float)this.root.push(I9(B.float));if(B.visuallyRightToLeft!==void 0)this.root.push(new M0("w:bidiVisual",B.visuallyRightToLeft));if(B.width)this.root.push(J1("w:tblW",B.width));if(B.alignment)this.root.push(c8(B.alignment));if(B.indent)this.root.push(J1("w:tblInd",B.indent));if(B.borders)this.root.push(new Y6(B.borders));if(B.shading)this.root.push(X1(B.shading));if(B.layout)this.root.push(O9(B.layout));if(B.cellMargin){let U=PQ(B.cellMargin);if(U)this.root.push(U)}if(B.tableLook)this.root.push(H9(B.tableLook));if(B.cellSpacing)this.root.push(F9(B.cellSpacing));if(B.revision)this.root.push(new vQ(B.revision))}},vQ=class extends t{constructor(B){super("w:tblPrChange");this.root.push(new b0({id:B.id,author:B.author,date:B.date})),this.root.push(new Z6(L0(L0({},B),{},{includeIfEmpty:!0})))}},yQ=class extends F1{constructor({rows:B,width:U,columnWidths:G=Array(Math.max(...B.map((A)=>A.CellCount))).fill(100),columnWidthsRevision:Y,margins:Q,indent:K,float:Z,layout:J,style:M,borders:W,alignment:I,visuallyRightToLeft:F,tableLook:D,cellSpacing:w,revision:P}){super("w:tbl");this.root.push(new Z6({borders:W!==null&&W!==void 0?W:{},width:U!==null&&U!==void 0?U:{size:100},indent:K,float:Z,layout:J,style:M,alignment:I,cellMargin:Q,visuallyRightToLeft:F,tableLook:D,cellSpacing:w,revision:P})),this.root.push(new B9(G,Y));for(let A of B)this.root.push(A);B.forEach((A,E)=>{if(E===B.length-1)return;let C=0;A.cells.forEach((j)=>{if(j.options.rowSpan&&j.options.rowSpan>1){let v=new G6({rowSpan:j.options.rowSpan-1,columnSpan:j.options.columnSpan,borders:j.options.borders,children:[],verticalMerge:U6.CONTINUE});B[E+1].addCellToColumnIndex(v,C)}C+=j.options.columnSpan||1})})}},gQ={AUTO:"auto",ATLEAST:"atLeast",EXACT:"exact"},W9=(B,U)=>new X0({name:"w:trHeight",attributes:{value:{key:"w:val",value:E0(B)},rule:{key:"w:hRule",value:U}}}),Q6=class extends R2{constructor(B){super("w:trPr",B.includeIfEmpty);if(B.cantSplit!==void 0)this.root.push(new M0("w:cantSplit",B.cantSplit));if(B.tableHeader!==void 0)this.root.push(new M0("w:tblHeader",B.tableHeader));if(B.height)this.root.push(W9(B.height.value,B.height.rule));if(B.cellSpacing)this.root.push(F9(B.cellSpacing));if(B.insertion)this.root.push(new U9(B.insertion));if(B.deletion)this.root.push(new G9(B.deletion));if(B.revision)this.root.push(new P9(B.revision))}},P9=class extends t{constructor(B){super("w:trPrChange");this.root.push(new b0({id:B.id,author:B.author,date:B.date})),this.root.push(new Q6(L0(L0({},B),{},{includeIfEmpty:!0})))}},fQ=class extends t{constructor(B){super("w:tr");e(this,"options",void 0),this.options=B,this.root.push(new Q6(B));for(let U of B.children)this.root.push(U)}get CellCount(){return this.options.children.length}get cells(){return this.root.filter((B)=>B instanceof G6)}addCellToIndex(B,U){this.root.splice(U+1,0,B)}addCellToColumnIndex(B,U){let G=this.columnIndexToRootIndex(U,!0);this.addCellToIndex(B,G-1)}rootIndexToColumnIndex(B){if(B<1||B>=this.root.length)throw Error(`cell 'rootIndex' should between 1 to ${this.root.length-1}`);let U=0;for(let G=1;G=this.root.length)if(U)return this.root.length;else throw Error(`cell 'columnIndex' should not great than ${G-1}`);let Q=this.root[Y];Y+=1,G+=Q&&Q.options.columnSpan||1}return Y-1}},xQ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{xmlns:"xmlns",vt:"xmlns:vt"})}},_Q=class extends t{constructor(){super("Properties");this.root.push(new xQ({xmlns:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"}))}},hQ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{xmlns:"xmlns"})}},V2=(B,U)=>new X0({name:"Default",attributes:{contentType:{key:"ContentType",value:B},extension:{key:"Extension",value:U}}}),f0=(B,U)=>new X0({name:"Override",attributes:{contentType:{key:"ContentType",value:B},partName:{key:"PartName",value:U}}}),uQ=class extends t{constructor(){super("Types");this.root.push(new hQ({xmlns:"http://schemas.openxmlformats.org/package/2006/content-types"})),this.root.push(V2("image/png","png")),this.root.push(V2("image/jpeg","jpeg")),this.root.push(V2("image/jpeg","jpg")),this.root.push(V2("image/bmp","bmp")),this.root.push(V2("image/gif","gif")),this.root.push(V2("image/svg+xml","svg")),this.root.push(V2("application/vnd.openxmlformats-package.relationships+xml","rels")),this.root.push(V2("application/xml","xml")),this.root.push(V2("application/vnd.openxmlformats-officedocument.obfuscatedFont","odttf")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml","/word/document.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml","/word/styles.xml")),this.root.push(f0("application/vnd.openxmlformats-package.core-properties+xml","/docProps/core.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.custom-properties+xml","/docProps/custom.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.extended-properties+xml","/docProps/app.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml","/word/numbering.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml","/word/footnotes.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml","/word/endnotes.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml","/word/settings.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml","/word/comments.xml")),this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml","/word/fontTable.xml"))}addCommentsExtended(){this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.commentsExtended+xml","/word/commentsExtended.xml"))}addFooter(B){this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml",`/word/footer${B}.xml`))}addHeader(B){this.root.push(f0("application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml",`/word/header${B}.xml`))}},v1={wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",cp:"http://schemas.openxmlformats.org/package/2006/metadata/core-properties",dc:"http://purl.org/dc/elements/1.1/",dcterms:"http://purl.org/dc/terms/",dcmitype:"http://purl.org/dc/dcmitype/",xsi:"http://www.w3.org/2001/XMLSchema-instance",cx:"http://schemas.microsoft.com/office/drawing/2014/chartex",cx1:"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex",cx2:"http://schemas.microsoft.com/office/drawing/2015/10/21/chartex",cx3:"http://schemas.microsoft.com/office/drawing/2016/5/9/chartex",cx4:"http://schemas.microsoft.com/office/drawing/2016/5/10/chartex",cx5:"http://schemas.microsoft.com/office/drawing/2016/5/11/chartex",cx6:"http://schemas.microsoft.com/office/drawing/2016/5/12/chartex",cx7:"http://schemas.microsoft.com/office/drawing/2016/5/13/chartex",cx8:"http://schemas.microsoft.com/office/drawing/2016/5/14/chartex",aink:"http://schemas.microsoft.com/office/drawing/2016/ink",am3d:"http://schemas.microsoft.com/office/drawing/2017/model3d",w16cex:"http://schemas.microsoft.com/office/word/2018/wordml/cex",w16cid:"http://schemas.microsoft.com/office/word/2016/wordml/cid",w16:"http://schemas.microsoft.com/office/word/2018/wordml",w16sdtdh:"http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash",w16se:"http://schemas.microsoft.com/office/word/2015/wordml/symex"},H1=class extends F0{constructor(B,U){super(L0({Ignorable:U},Object.fromEntries(B.map((G)=>[G,v1[G]]))));e(this,"xmlKeys",L0({Ignorable:"mc:Ignorable"},Object.fromEntries(Object.keys(v1).map((G)=>[G,`xmlns:${G}`]))))}},dQ=class extends t{constructor(B){super("cp:coreProperties");if(this.root.push(new H1(["cp","dc","dcterms","dcmitype","xsi"])),B.title)this.root.push(new O2("dc:title",B.title));if(B.subject)this.root.push(new O2("dc:subject",B.subject));if(B.creator)this.root.push(new O2("dc:creator",B.creator));if(B.keywords)this.root.push(new O2("cp:keywords",B.keywords));if(B.description)this.root.push(new O2("dc:description",B.description));if(B.lastModifiedBy)this.root.push(new O2("cp:lastModifiedBy",B.lastModifiedBy));if(B.revision)this.root.push(new O2("cp:revision",String(B.revision)));this.root.push(new r6("dcterms:created")),this.root.push(new r6("dcterms:modified"))}},cQ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{type:"xsi:type"})}},r6=class extends t{constructor(B){super(B);this.root.push(new cQ({type:"dcterms:W3CDTF"})),this.root.push(fB(new Date))}},mQ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{xmlns:"xmlns",vt:"xmlns:vt"})}},lQ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{formatId:"fmtid",pid:"pid",name:"name"})}},aQ=class extends t{constructor(B,U){super("property");this.root.push(new lQ({formatId:"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",pid:B.toString(),name:U.name})),this.root.push(new pQ(U.value))}},pQ=class extends t{constructor(B){super("vt:lpwstr");this.root.push(B)}},rQ=class extends t{constructor(B){super("Properties");e(this,"nextId",void 0),e(this,"properties",[]),this.root.push(new mQ({xmlns:"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",vt:"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"})),this.nextId=2;for(let U of B)this.addCustomProperty(U)}prepForXml(B){return this.properties.forEach((U)=>this.root.push(U)),super.prepForXml(B)}addCustomProperty(B){this.properties.push(new aQ(this.nextId++,B))}},w9=({space:B,count:U,separate:G,equalWidth:Y,children:Q})=>new X0({name:"w:cols",attributes:{space:{key:"w:space",value:B===void 0?void 0:E0(B)},count:{key:"w:num",value:U===void 0?void 0:D0(U)},separate:{key:"w:sep",value:G},equalWidth:{key:"w:equalWidth",value:Y}},children:!Y&&Q?Q:void 0}),iQ={DEFAULT:"default",LINES:"lines",LINES_AND_CHARS:"linesAndChars",SNAP_TO_CHARS:"snapToChars"},A9=({type:B,linePitch:U,charSpace:G})=>new X0({name:"w:docGrid",attributes:{type:{key:"w:type",value:B},linePitch:{key:"w:linePitch",value:D0(U)},charSpace:{key:"w:charSpace",value:G?D0(G):void 0}}}),D2={DEFAULT:"default",FIRST:"first",EVEN:"even"},z8={HEADER:"w:headerReference",FOOTER:"w:footerReference"},C1=(B,U)=>new X0({name:B,attributes:{type:{key:"w:type",value:U.type||D2.DEFAULT},id:{key:"r:id",value:`rId${U.id}`}}}),nQ={NEW_PAGE:"newPage",NEW_SECTION:"newSection",CONTINUOUS:"continuous"},j9=({countBy:B,start:U,restart:G,distance:Y})=>new X0({name:"w:lnNumType",attributes:{countBy:{key:"w:countBy",value:B===void 0?void 0:D0(B)},start:{key:"w:start",value:U===void 0?void 0:D0(U)},restart:{key:"w:restart",value:G},distance:{key:"w:distance",value:Y===void 0?void 0:E0(Y)}}}),sQ={ALL_PAGES:"allPages",FIRST_PAGE:"firstPage",NOT_FIRST_PAGE:"notFirstPage"},oQ={PAGE:"page",TEXT:"text"},tQ={BACK:"back",FRONT:"front"},i6=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{display:"w:display",offsetFrom:"w:offsetFrom",zOrder:"w:zOrder"})}},N9=class extends R2{constructor(B){super("w:pgBorders");if(!B)return this;if(B.pageBorders)this.root.push(new i6({display:B.pageBorders.display,offsetFrom:B.pageBorders.offsetFrom,zOrder:B.pageBorders.zOrder}));else this.root.push(new i6({}));if(B.pageBorderTop)this.root.push(A0("w:top",B.pageBorderTop));if(B.pageBorderLeft)this.root.push(A0("w:left",B.pageBorderLeft));if(B.pageBorderBottom)this.root.push(A0("w:bottom",B.pageBorderBottom));if(B.pageBorderRight)this.root.push(A0("w:right",B.pageBorderRight))}},z9=(B,U,G,Y,Q,K,Z)=>new X0({name:"w:pgMar",attributes:{top:{key:"w:top",value:t0(B)},right:{key:"w:right",value:E0(U)},bottom:{key:"w:bottom",value:t0(G)},left:{key:"w:left",value:E0(Y)},header:{key:"w:header",value:E0(Q)},footer:{key:"w:footer",value:E0(K)},gutter:{key:"w:gutter",value:E0(Z)}}}),eQ={HYPHEN:"hyphen",PERIOD:"period",COLON:"colon",EM_DASH:"emDash",EN_DASH:"endash"},E9=({start:B,formatType:U,separator:G})=>new X0({name:"w:pgNumType",attributes:{start:{key:"w:start",value:B===void 0?void 0:D0(B)},formatType:{key:"w:fmt",value:U},separator:{key:"w:chapSep",value:G}}}),y1={PORTRAIT:"portrait",LANDSCAPE:"landscape"},T9=({width:B,height:U,orientation:G,code:Y})=>{let Q=E0(B),K=E0(U);return new X0({name:"w:pgSz",attributes:{width:{key:"w:w",value:G===y1.LANDSCAPE?K:Q},height:{key:"w:h",value:G===y1.LANDSCAPE?Q:K},orientation:{key:"w:orient",value:G},code:{key:"w:code",value:Y}}})},BJ={LEFT_TO_RIGHT_TOP_TO_BOTTOM:"lrTb",TOP_TO_BOTTOM_RIGHT_TO_LEFT:"tbRl"},UJ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{val:"w:val"})}},D9=class extends t{constructor(B){super("w:textDirection");this.root.push(new UJ({val:B}))}},GJ={NEXT_PAGE:"nextPage",NEXT_COLUMN:"nextColumn",CONTINUOUS:"continuous",EVEN_PAGE:"evenPage",ODD_PAGE:"oddPage"},C9=(B)=>new X0({name:"w:type",attributes:{val:{key:"w:val",value:B}}}),F2={TOP:1440,RIGHT:1440,BOTTOM:1440,LEFT:1440,HEADER:708,FOOTER:708,GUTTER:0},k1={WIDTH:11906,HEIGHT:16838,ORIENTATION:y1.PORTRAIT},J6=class extends t{constructor({page:{size:{width:B=k1.WIDTH,height:U=k1.HEIGHT,orientation:G=k1.ORIENTATION,code:Y}={},margin:{top:Q=F2.TOP,right:K=F2.RIGHT,bottom:Z=F2.BOTTOM,left:J=F2.LEFT,header:M=F2.HEADER,footer:W=F2.FOOTER,gutter:I=F2.GUTTER}={},pageNumbers:F={},borders:D,textDirection:w}={},grid:{linePitch:P=360,charSpace:A,type:E}={},headerWrapperGroup:C={},footerWrapperGroup:j={},lineNumbers:v,titlePage:S,verticalAlign:H,column:X,type:$,revision:x}={}){super("w:sectPr");if(this.addHeaderFooterGroup(z8.HEADER,C),this.addHeaderFooterGroup(z8.FOOTER,j),$)this.root.push(C9($));if(this.root.push(T9({width:B,height:U,orientation:G,code:Y})),this.root.push(z9(Q,K,Z,J,M,W,I)),D)this.root.push(new N9(D));if(v)this.root.push(j9(v));if(this.root.push(E9(F)),X)this.root.push(w9(X));if(H)this.root.push(B6(H));if(S!==void 0)this.root.push(new M0("w:titlePg",S));if(w)this.root.push(new D9(w));if(x)this.root.push(new k9(x));this.root.push(A9({linePitch:P,charSpace:A,type:E}))}addHeaderFooterGroup(B,U){if(U.default)this.root.push(C1(B,{type:D2.DEFAULT,id:U.default.View.ReferenceId}));if(U.first)this.root.push(C1(B,{type:D2.FIRST,id:U.first.View.ReferenceId}));if(U.even)this.root.push(C1(B,{type:D2.EVEN,id:U.even.View.ReferenceId}))}},k9=class extends t{constructor(B){super("w:sectPrChange");this.root.push(new b0({id:B.id,author:B.author,date:B.date})),this.root.push(new J6(B))}},YJ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{width:"w:w",space:"w:space"})}},ZJ=class extends t{constructor(B){super("w:col");this.root.push(new YJ({width:E0(B.width),space:B.space===void 0?void 0:E0(B.space)}))}},$9=class extends t{constructor(){super("w:body");e(this,"sections",[])}addSection(B){let U=this.sections.pop();this.root.push(this.createSectionParagraph(U)),this.sections.push(new J6(B))}prepForXml(B){if(this.sections.length===1)this.root.splice(0,1),this.root.push(this.sections.pop());return super.prepForXml(B)}push(B){this.root.push(B)}createSectionParagraph(B){let U=new d0({}),G=new X2({});return G.push(B),U.addChildElement(G),U}},S9=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{color:"w:color",themeColor:"w:themeColor",themeShade:"w:themeShade",themeTint:"w:themeTint"})}},b9=class extends t{constructor(B){super("w:background");this.root.push(new S9({color:B.color===void 0?void 0:C2(B.color),themeColor:B.themeColor,themeShade:B.themeShade===void 0?void 0:H8(B.themeShade),themeTint:B.themeTint===void 0?void 0:H8(B.themeTint)}))}},QJ=class extends t{constructor(B){super("w:document");if(e(this,"body",void 0),this.root.push(new H1(["wpc","mc","o","r","m","v","wp14","wp","w10","w","w14","w15","wpg","wpi","wne","wps","cx","cx1","cx2","cx3","cx4","cx5","cx6","cx7","cx8","aink","am3d","w16cex","w16cid","w16","w16sdtdh","w16se"],"w14 w15 wp14")),this.body=new $9,B.background)this.root.push(new b9(B.background));this.root.push(this.body)}add(B){return this.body.push(B),this}get Body(){return this.body}},JJ=class{constructor(B){e(this,"document",void 0),e(this,"relationships",void 0),this.document=new QJ(B),this.relationships=new w2}get View(){return this.document}get Relationships(){return this.relationships}},KJ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",Ignorable:"mc:Ignorable"})}},VJ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{type:"w:type",id:"w:id"})}},qJ=class extends T0{constructor(){super({style:"EndnoteReference"});this.root.push(new T4)}},n6={SEPARATOR:"separator",CONTINUATION_SEPARATOR:"continuationSeparator"},V8=class extends t{constructor(B){super("w:endnote");this.root.push(new VJ({type:B.type,id:B.id}));for(let U=0;U9)throw Error("Level cannot be greater than 9. Read more here: https://answers.microsoft.com/en-us/msoffice/forum/all/does-word-support-more-than-9-list-levels/d130fdcd-1781-446d-8c84-c6c79124e4d7");this.root.push(new NJ({ilvl:D0(B),tentative:1}))}},h9=class extends V6{},$J=class extends V6{},SJ=class extends t{constructor(B){super("w:multiLevelType");this.root.push(new C0({val:B}))}},bJ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{abstractNumId:"w:abstractNumId",restartNumberingAfterBreak:"w15:restartNumberingAfterBreak"})}},E8=class extends t{constructor(B,U){super("w:abstractNum");e(this,"id",void 0),this.root.push(new bJ({abstractNumId:D0(B),restartNumberingAfterBreak:0})),this.root.push(new SJ("hybridMultilevel")),this.id=B;for(let G of U)this.root.push(new h9(G))}},vJ=class extends t{constructor(B){super("w:abstractNumId");this.root.push(new C0({val:B}))}},yJ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{numId:"w:numId"})}},T8=class extends t{constructor(B){super("w:num");if(e(this,"numId",void 0),e(this,"reference",void 0),e(this,"instance",void 0),this.numId=B.numId,this.reference=B.reference,this.instance=B.instance,this.root.push(new yJ({numId:D0(B.numId)})),this.root.push(new vJ(D0(B.abstractNumId))),B.overrideLevels&&B.overrideLevels.length)for(let U of B.overrideLevels)this.root.push(new u9(U.num,U.start))}},gJ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{ilvl:"w:ilvl"})}},u9=class extends t{constructor(B,U){super("w:lvlOverride");if(this.root.push(new gJ({ilvl:B})),U!==void 0)this.root.push(new xJ(U))}},fJ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{val:"w:val"})}},xJ=class extends t{constructor(B){super("w:startOverride");this.root.push(new fJ({val:B}))}},d9=class extends t{constructor(B){super("w:numbering");e(this,"abstractNumberingMap",new Map),e(this,"concreteNumberingMap",new Map),e(this,"referenceConfigMap",new Map),e(this,"abstractNumUniqueNumericId",nB()),e(this,"concreteNumUniqueNumericId",sB()),this.root.push(new H1(["wpc","mc","o","r","m","v","wp14","wp","w10","w","w14","w15","wpg","wpi","wne","wps"],"w14 w15 wp14"));let U=new E8(this.abstractNumUniqueNumericId(),[{level:0,format:i0.BULLET,text:"●",alignment:c0.LEFT,style:{paragraph:{indent:{left:u0(0.5),hanging:u0(0.25)}}}},{level:1,format:i0.BULLET,text:"○",alignment:c0.LEFT,style:{paragraph:{indent:{left:u0(1),hanging:u0(0.25)}}}},{level:2,format:i0.BULLET,text:"■",alignment:c0.LEFT,style:{paragraph:{indent:{left:2160,hanging:u0(0.25)}}}},{level:3,format:i0.BULLET,text:"●",alignment:c0.LEFT,style:{paragraph:{indent:{left:2880,hanging:u0(0.25)}}}},{level:4,format:i0.BULLET,text:"○",alignment:c0.LEFT,style:{paragraph:{indent:{left:3600,hanging:u0(0.25)}}}},{level:5,format:i0.BULLET,text:"■",alignment:c0.LEFT,style:{paragraph:{indent:{left:4320,hanging:u0(0.25)}}}},{level:6,format:i0.BULLET,text:"●",alignment:c0.LEFT,style:{paragraph:{indent:{left:5040,hanging:u0(0.25)}}}},{level:7,format:i0.BULLET,text:"●",alignment:c0.LEFT,style:{paragraph:{indent:{left:5760,hanging:u0(0.25)}}}},{level:8,format:i0.BULLET,text:"●",alignment:c0.LEFT,style:{paragraph:{indent:{left:6480,hanging:u0(0.25)}}}}]);this.concreteNumberingMap.set("default-bullet-numbering",new T8({numId:1,abstractNumId:U.id,reference:"default-bullet-numbering",instance:0,overrideLevels:[{num:0,start:1}]})),this.abstractNumberingMap.set("default-bullet-numbering",U);for(let G of B.config)this.abstractNumberingMap.set(G.reference,new E8(this.abstractNumUniqueNumericId(),G.levels)),this.referenceConfigMap.set(G.reference,G.levels)}prepForXml(B){for(let U of this.abstractNumberingMap.values())this.root.push(U);for(let U of this.concreteNumberingMap.values())this.root.push(U);return super.prepForXml(B)}createConcreteNumberingInstance(B,U){let G=this.abstractNumberingMap.get(B);if(!G)return;let Y=`${B}-${U}`;if(this.concreteNumberingMap.has(Y))return;let Q=this.referenceConfigMap.get(B),K=Q&&Q[0].start,Z={numId:this.concreteNumUniqueNumericId(),abstractNumId:G.id,reference:B,instance:U,overrideLevels:[typeof K==="number"&&Number.isInteger(K)?{num:0,start:K}:{num:0,start:1}]};this.concreteNumberingMap.set(Y,new T8(Z))}get ConcreteNumbering(){return Array.from(this.concreteNumberingMap.values())}get ReferenceConfig(){return Array.from(this.referenceConfigMap.values())}},_J=(B)=>new X0({name:"w:compatSetting",attributes:{version:{key:"w:val",value:B},name:{key:"w:name",value:"compatibilityMode"},uri:{key:"w:uri",value:"http://schemas.microsoft.com/office/word"}}}),hJ=class extends t{constructor(B){super("w:compat");if(B.version)this.root.push(_J(B.version));if(B.useSingleBorderforContiguousCells)this.root.push(new M0("w:useSingleBorderforContiguousCells",B.useSingleBorderforContiguousCells));if(B.wordPerfectJustification)this.root.push(new M0("w:wpJustification",B.wordPerfectJustification));if(B.noTabStopForHangingIndent)this.root.push(new M0("w:noTabHangInd",B.noTabStopForHangingIndent));if(B.noLeading)this.root.push(new M0("w:noLeading",B.noLeading));if(B.spaceForUnderline)this.root.push(new M0("w:spaceForUL",B.spaceForUnderline));if(B.noColumnBalance)this.root.push(new M0("w:noColumnBalance",B.noColumnBalance));if(B.balanceSingleByteDoubleByteWidth)this.root.push(new M0("w:balanceSingleByteDoubleByteWidth",B.balanceSingleByteDoubleByteWidth));if(B.noExtraLineSpacing)this.root.push(new M0("w:noExtraLineSpacing",B.noExtraLineSpacing));if(B.doNotLeaveBackslashAlone)this.root.push(new M0("w:doNotLeaveBackslashAlone",B.doNotLeaveBackslashAlone));if(B.underlineTrailingSpaces)this.root.push(new M0("w:ulTrailSpace",B.underlineTrailingSpaces));if(B.doNotExpandShiftReturn)this.root.push(new M0("w:doNotExpandShiftReturn",B.doNotExpandShiftReturn));if(B.spacingInWholePoints)this.root.push(new M0("w:spacingInWholePoints",B.spacingInWholePoints));if(B.lineWrapLikeWord6)this.root.push(new M0("w:lineWrapLikeWord6",B.lineWrapLikeWord6));if(B.printBodyTextBeforeHeader)this.root.push(new M0("w:printBodyTextBeforeHeader",B.printBodyTextBeforeHeader));if(B.printColorsBlack)this.root.push(new M0("w:printColBlack",B.printColorsBlack));if(B.spaceWidth)this.root.push(new M0("w:wpSpaceWidth",B.spaceWidth));if(B.showBreaksInFrames)this.root.push(new M0("w:showBreaksInFrames",B.showBreaksInFrames));if(B.subFontBySize)this.root.push(new M0("w:subFontBySize",B.subFontBySize));if(B.suppressBottomSpacing)this.root.push(new M0("w:suppressBottomSpacing",B.suppressBottomSpacing));if(B.suppressTopSpacing)this.root.push(new M0("w:suppressTopSpacing",B.suppressTopSpacing));if(B.suppressSpacingAtTopOfPage)this.root.push(new M0("w:suppressSpacingAtTopOfPage",B.suppressSpacingAtTopOfPage));if(B.suppressTopSpacingWP)this.root.push(new M0("w:suppressTopSpacingWP",B.suppressTopSpacingWP));if(B.suppressSpBfAfterPgBrk)this.root.push(new M0("w:suppressSpBfAfterPgBrk",B.suppressSpBfAfterPgBrk));if(B.swapBordersFacingPages)this.root.push(new M0("w:swapBordersFacingPages",B.swapBordersFacingPages));if(B.convertMailMergeEsc)this.root.push(new M0("w:convMailMergeEsc",B.convertMailMergeEsc));if(B.truncateFontHeightsLikeWP6)this.root.push(new M0("w:truncateFontHeightsLikeWP6",B.truncateFontHeightsLikeWP6));if(B.macWordSmallCaps)this.root.push(new M0("w:mwSmallCaps",B.macWordSmallCaps));if(B.usePrinterMetrics)this.root.push(new M0("w:usePrinterMetrics",B.usePrinterMetrics));if(B.doNotSuppressParagraphBorders)this.root.push(new M0("w:doNotSuppressParagraphBorders",B.doNotSuppressParagraphBorders));if(B.wrapTrailSpaces)this.root.push(new M0("w:wrapTrailSpaces",B.wrapTrailSpaces));if(B.footnoteLayoutLikeWW8)this.root.push(new M0("w:footnoteLayoutLikeWW8",B.footnoteLayoutLikeWW8));if(B.shapeLayoutLikeWW8)this.root.push(new M0("w:shapeLayoutLikeWW8",B.shapeLayoutLikeWW8));if(B.alignTablesRowByRow)this.root.push(new M0("w:alignTablesRowByRow",B.alignTablesRowByRow));if(B.forgetLastTabAlignment)this.root.push(new M0("w:forgetLastTabAlignment",B.forgetLastTabAlignment));if(B.adjustLineHeightInTable)this.root.push(new M0("w:adjustLineHeightInTable",B.adjustLineHeightInTable));if(B.autoSpaceLikeWord95)this.root.push(new M0("w:autoSpaceLikeWord95",B.autoSpaceLikeWord95));if(B.noSpaceRaiseLower)this.root.push(new M0("w:noSpaceRaiseLower",B.noSpaceRaiseLower));if(B.doNotUseHTMLParagraphAutoSpacing)this.root.push(new M0("w:doNotUseHTMLParagraphAutoSpacing",B.doNotUseHTMLParagraphAutoSpacing));if(B.layoutRawTableWidth)this.root.push(new M0("w:layoutRawTableWidth",B.layoutRawTableWidth));if(B.layoutTableRowsApart)this.root.push(new M0("w:layoutTableRowsApart",B.layoutTableRowsApart));if(B.useWord97LineBreakRules)this.root.push(new M0("w:useWord97LineBreakRules",B.useWord97LineBreakRules));if(B.doNotBreakWrappedTables)this.root.push(new M0("w:doNotBreakWrappedTables",B.doNotBreakWrappedTables));if(B.doNotSnapToGridInCell)this.root.push(new M0("w:doNotSnapToGridInCell",B.doNotSnapToGridInCell));if(B.selectFieldWithFirstOrLastCharacter)this.root.push(new M0("w:selectFldWithFirstOrLastChar",B.selectFieldWithFirstOrLastCharacter));if(B.applyBreakingRules)this.root.push(new M0("w:applyBreakingRules",B.applyBreakingRules));if(B.doNotWrapTextWithPunctuation)this.root.push(new M0("w:doNotWrapTextWithPunct",B.doNotWrapTextWithPunctuation));if(B.doNotUseEastAsianBreakRules)this.root.push(new M0("w:doNotUseEastAsianBreakRules",B.doNotUseEastAsianBreakRules));if(B.useWord2002TableStyleRules)this.root.push(new M0("w:useWord2002TableStyleRules",B.useWord2002TableStyleRules));if(B.growAutofit)this.root.push(new M0("w:growAutofit",B.growAutofit));if(B.useFELayout)this.root.push(new M0("w:useFELayout",B.useFELayout));if(B.useNormalStyleForList)this.root.push(new M0("w:useNormalStyleForList",B.useNormalStyleForList));if(B.doNotUseIndentAsNumberingTabStop)this.root.push(new M0("w:doNotUseIndentAsNumberingTabStop",B.doNotUseIndentAsNumberingTabStop));if(B.useAlternateEastAsianLineBreakRules)this.root.push(new M0("w:useAltKinsokuLineBreakRules",B.useAlternateEastAsianLineBreakRules));if(B.allowSpaceOfSameStyleInTable)this.root.push(new M0("w:allowSpaceOfSameStyleInTable",B.allowSpaceOfSameStyleInTable));if(B.doNotSuppressIndentation)this.root.push(new M0("w:doNotSuppressIndentation",B.doNotSuppressIndentation));if(B.doNotAutofitConstrainedTables)this.root.push(new M0("w:doNotAutofitConstrainedTables",B.doNotAutofitConstrainedTables));if(B.autofitToFirstFixedWidthCell)this.root.push(new M0("w:autofitToFirstFixedWidthCell",B.autofitToFirstFixedWidthCell));if(B.underlineTabInNumberingList)this.root.push(new M0("w:underlineTabInNumList",B.underlineTabInNumberingList));if(B.displayHangulFixedWidth)this.root.push(new M0("w:displayHangulFixedWidth",B.displayHangulFixedWidth));if(B.splitPgBreakAndParaMark)this.root.push(new M0("w:splitPgBreakAndParaMark",B.splitPgBreakAndParaMark));if(B.doNotVerticallyAlignCellWithSp)this.root.push(new M0("w:doNotVertAlignCellWithSp",B.doNotVerticallyAlignCellWithSp));if(B.doNotBreakConstrainedForcedTable)this.root.push(new M0("w:doNotBreakConstrainedForcedTable",B.doNotBreakConstrainedForcedTable));if(B.ignoreVerticalAlignmentInTextboxes)this.root.push(new M0("w:doNotVertAlignInTxbx",B.ignoreVerticalAlignmentInTextboxes));if(B.useAnsiKerningPairs)this.root.push(new M0("w:useAnsiKerningPairs",B.useAnsiKerningPairs));if(B.cachedColumnBalance)this.root.push(new M0("w:cachedColBalance",B.cachedColumnBalance))}},uJ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{wpc:"xmlns:wpc",mc:"xmlns:mc",o:"xmlns:o",r:"xmlns:r",m:"xmlns:m",v:"xmlns:v",wp14:"xmlns:wp14",wp:"xmlns:wp",w10:"xmlns:w10",w:"xmlns:w",w14:"xmlns:w14",w15:"xmlns:w15",wpg:"xmlns:wpg",wpi:"xmlns:wpi",wne:"xmlns:wne",wps:"xmlns:wps",Ignorable:"mc:Ignorable"})}},dJ=class extends t{constructor(B){var U,G,Y,Q,K,Z,J,M;super("w:settings");if(this.root.push(new uJ({wpc:"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas",mc:"http://schemas.openxmlformats.org/markup-compatibility/2006",o:"urn:schemas-microsoft-com:office:office",r:"http://schemas.openxmlformats.org/officeDocument/2006/relationships",m:"http://schemas.openxmlformats.org/officeDocument/2006/math",v:"urn:schemas-microsoft-com:vml",wp14:"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing",wp:"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing",w10:"urn:schemas-microsoft-com:office:word",w:"http://schemas.openxmlformats.org/wordprocessingml/2006/main",w14:"http://schemas.microsoft.com/office/word/2010/wordml",w15:"http://schemas.microsoft.com/office/word/2012/wordml",wpg:"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup",wpi:"http://schemas.microsoft.com/office/word/2010/wordprocessingInk",wne:"http://schemas.microsoft.com/office/word/2006/wordml",wps:"http://schemas.microsoft.com/office/word/2010/wordprocessingShape",Ignorable:"w14 w15 wp14"})),this.root.push(new M0("w:displayBackgroundShape",!0)),B.trackRevisions!==void 0)this.root.push(new M0("w:trackRevisions",B.trackRevisions));if(B.evenAndOddHeaders!==void 0)this.root.push(new M0("w:evenAndOddHeaders",B.evenAndOddHeaders));if(B.updateFields!==void 0)this.root.push(new M0("w:updateFields",B.updateFields));if(B.defaultTabStop!==void 0)this.root.push(new _2("w:defaultTabStop",B.defaultTabStop));if(((U=B.hyphenation)===null||U===void 0?void 0:U.autoHyphenation)!==void 0)this.root.push(new M0("w:autoHyphenation",B.hyphenation.autoHyphenation));if(((G=B.hyphenation)===null||G===void 0?void 0:G.hyphenationZone)!==void 0)this.root.push(new _2("w:hyphenationZone",B.hyphenation.hyphenationZone));if(((Y=B.hyphenation)===null||Y===void 0?void 0:Y.consecutiveHyphenLimit)!==void 0)this.root.push(new _2("w:consecutiveHyphenLimit",B.hyphenation.consecutiveHyphenLimit));if(((Q=B.hyphenation)===null||Q===void 0?void 0:Q.doNotHyphenateCaps)!==void 0)this.root.push(new M0("w:doNotHyphenateCaps",B.hyphenation.doNotHyphenateCaps));this.root.push(new hJ(L0(L0({},(K=B.compatibility)!==null&&K!==void 0?K:{}),{},{version:(Z=(J=(M=B.compatibility)===null||M===void 0?void 0:M.version)!==null&&J!==void 0?J:B.compatibilityModeVersion)!==null&&Z!==void 0?Z:15})))}},c9=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{val:"w:val"})}},cJ=class extends t{constructor(B){super("w:name");this.root.push(new c9({val:B}))}},mJ=class extends t{constructor(B){super("w:uiPriority");this.root.push(new c9({val:D0(B)}))}},lJ=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{type:"w:type",styleId:"w:styleId",default:"w:default",customStyle:"w:customStyle"})}},m9=class extends t{constructor(B,U){super("w:style");if(this.root.push(new lJ(B)),U.name)this.root.push(new cJ(U.name));if(U.basedOn)this.root.push(new M2("w:basedOn",U.basedOn));if(U.next)this.root.push(new M2("w:next",U.next));if(U.link)this.root.push(new M2("w:link",U.link));if(U.uiPriority!==void 0)this.root.push(new mJ(U.uiPriority));if(U.semiHidden!==void 0)this.root.push(new M0("w:semiHidden",U.semiHidden));if(U.unhideWhenUsed!==void 0)this.root.push(new M0("w:unhideWhenUsed",U.unhideWhenUsed));if(U.quickFormat!==void 0)this.root.push(new M0("w:qFormat",U.quickFormat))}},p2=class extends m9{constructor(B){super({type:"paragraph",styleId:B.id},B);e(this,"paragraphProperties",void 0),e(this,"runProperties",void 0),this.paragraphProperties=new X2(B.paragraph),this.runProperties=new U2(B.run),this.root.push(this.paragraphProperties),this.root.push(this.runProperties)}},$2=class extends m9{constructor(B){super({type:"character",styleId:B.id},L0({uiPriority:99,unhideWhenUsed:!0},B));e(this,"runProperties",void 0),this.runProperties=new U2(B.run),this.root.push(this.runProperties)}},A2=class extends p2{constructor(B){super(L0({basedOn:"Normal",next:"Normal",quickFormat:!0},B))}},aJ=class extends A2{constructor(B){super(L0({id:"Title",name:"Title"},B))}},pJ=class extends A2{constructor(B){super(L0({id:"Heading1",name:"Heading 1"},B))}},rJ=class extends A2{constructor(B){super(L0({id:"Heading2",name:"Heading 2"},B))}},iJ=class extends A2{constructor(B){super(L0({id:"Heading3",name:"Heading 3"},B))}},nJ=class extends A2{constructor(B){super(L0({id:"Heading4",name:"Heading 4"},B))}},sJ=class extends A2{constructor(B){super(L0({id:"Heading5",name:"Heading 5"},B))}},oJ=class extends A2{constructor(B){super(L0({id:"Heading6",name:"Heading 6"},B))}},tJ=class extends A2{constructor(B){super(L0({id:"Strong",name:"Strong"},B))}},eJ=class extends p2{constructor(B){super(L0({id:"ListParagraph",name:"List Paragraph",basedOn:"Normal",quickFormat:!0},B))}},BK=class extends p2{constructor(B){super(L0({id:"FootnoteText",name:"footnote text",link:"FootnoteTextChar",basedOn:"Normal",uiPriority:99,semiHidden:!0,unhideWhenUsed:!0,paragraph:{spacing:{after:0,line:240,lineRule:k2.AUTO}},run:{size:20}},B))}},UK=class extends $2{constructor(B){super(L0({id:"FootnoteReference",name:"footnote reference",basedOn:"DefaultParagraphFont",semiHidden:!0,run:{superScript:!0}},B))}},GK=class extends $2{constructor(B){super(L0({id:"FootnoteTextChar",name:"Footnote Text Char",basedOn:"DefaultParagraphFont",link:"FootnoteText",semiHidden:!0,run:{size:20}},B))}},YK=class extends p2{constructor(B){super(L0({id:"EndnoteText",name:"endnote text",link:"EndnoteTextChar",basedOn:"Normal",uiPriority:99,semiHidden:!0,unhideWhenUsed:!0,paragraph:{spacing:{after:0,line:240,lineRule:k2.AUTO}},run:{size:20}},B))}},ZK=class extends $2{constructor(B){super(L0({id:"EndnoteReference",name:"endnote reference",basedOn:"DefaultParagraphFont",semiHidden:!0,run:{superScript:!0}},B))}},QK=class extends $2{constructor(B){super(L0({id:"EndnoteTextChar",name:"Endnote Text Char",basedOn:"DefaultParagraphFont",link:"EndnoteText",semiHidden:!0,run:{size:20}},B))}},JK=class extends $2{constructor(B){super(L0({id:"Hyperlink",name:"Hyperlink",basedOn:"DefaultParagraphFont",run:{color:"0563C1",underline:{type:r8.SINGLE}}},B))}},$1=class extends t{constructor(B){super("w:styles");if(B.initialStyles)this.root.push(B.initialStyles);if(B.importedStyles)for(let U of B.importedStyles)this.root.push(U);if(B.paragraphStyles)for(let U of B.paragraphStyles)this.root.push(new p2(U));if(B.characterStyles)for(let U of B.characterStyles)this.root.push(new $2(U))}},l9=class extends t{constructor(B){super("w:pPrDefault");this.root.push(new X2(B))}},a9=class extends t{constructor(B){super("w:rPrDefault");this.root.push(new U2(B))}},p9=class extends t{constructor(B){super("w:docDefaults");e(this,"runPropertiesDefaults",void 0),e(this,"paragraphPropertiesDefaults",void 0),this.runPropertiesDefaults=new a9(B.run),this.paragraphPropertiesDefaults=new l9(B.paragraph),this.root.push(this.runPropertiesDefaults),this.root.push(this.paragraphPropertiesDefaults)}},KK=class{newInstance(B){let U=(0,_1.xml2js)(B,{compact:!1}),G;for(let Q of U.elements||[])if(Q.name==="w:styles")G=Q;if(G===void 0)throw Error("can not find styles element");let Y=G.elements||[];return{initialStyles:new $B(G.attributes),importedStyles:Y.map((Q)=>h1(Q))}}},M8=class{newInstance(B={}){var U;return{initialStyles:new H1(["mc","r","w","w14","w15"],"w14 w15"),importedStyles:[new p9((U=B.document)!==null&&U!==void 0?U:{}),new aJ(L0({run:{size:56}},B.title)),new pJ(L0({run:{color:"2E74B5",size:32}},B.heading1)),new rJ(L0({run:{color:"2E74B5",size:26}},B.heading2)),new iJ(L0({run:{color:"1F4D78",size:24}},B.heading3)),new nJ(L0({run:{color:"2E74B5",italics:!0}},B.heading4)),new sJ(L0({run:{color:"2E74B5"}},B.heading5)),new oJ(L0({run:{color:"1F4D78"}},B.heading6)),new tJ(L0({run:{bold:!0}},B.strong)),new eJ(B.listParagraph||{}),new JK(B.hyperlink||{}),new UK(B.footnoteReference||{}),new BK(B.footnoteText||{}),new GK(B.footnoteTextChar||{}),new ZK(B.endnoteReference||{}),new YK(B.endnoteText||{}),new QK(B.endnoteTextChar||{})]}}},VK=class{constructor(B){var U,G,Y,Q,K,Z,J,M,W,I,F,D;if(e(this,"currentRelationshipId",1),e(this,"documentWrapper",void 0),e(this,"headers",[]),e(this,"footers",[]),e(this,"coreProperties",void 0),e(this,"numbering",void 0),e(this,"media",void 0),e(this,"fileRelationships",void 0),e(this,"footnotesWrapper",void 0),e(this,"endnotesWrapper",void 0),e(this,"settings",void 0),e(this,"contentTypes",void 0),e(this,"customProperties",void 0),e(this,"appProperties",void 0),e(this,"styles",void 0),e(this,"comments",void 0),e(this,"commentsExtended",void 0),e(this,"fontWrapper",void 0),this.coreProperties=new dQ(L0(L0({},B),{},{creator:(U=B.creator)!==null&&U!==void 0?U:"Un-named",revision:(G=B.revision)!==null&&G!==void 0?G:1,lastModifiedBy:(Y=B.lastModifiedBy)!==null&&Y!==void 0?Y:"Un-named"})),this.numbering=new d9(B.numbering?B.numbering:{config:[]}),this.comments=new z4((Q=B.comments)!==null&&Q!==void 0?Q:{children:[]}),this.comments.ThreadData)this.commentsExtended=new E4(this.comments.ThreadData);if(this.fileRelationships=new w2,this.customProperties=new rQ((K=B.customProperties)!==null&&K!==void 0?K:[]),this.appProperties=new _Q,this.footnotesWrapper=new PJ,this.endnotesWrapper=new RJ,this.contentTypes=new uQ,this.documentWrapper=new JJ({background:B.background}),this.settings=new dJ({compatibilityModeVersion:B.compatabilityModeVersion,compatibility:B.compatibility,evenAndOddHeaders:B.evenAndOddHeaderAndFooters?!0:!1,trackRevisions:(Z=B.features)===null||Z===void 0?void 0:Z.trackRevisions,updateFields:(J=B.features)===null||J===void 0?void 0:J.updateFields,defaultTabStop:B.defaultTabStop,hyphenation:{autoHyphenation:(M=B.hyphenation)===null||M===void 0?void 0:M.autoHyphenation,hyphenationZone:(W=B.hyphenation)===null||W===void 0?void 0:W.hyphenationZone,consecutiveHyphenLimit:(I=B.hyphenation)===null||I===void 0?void 0:I.consecutiveHyphenLimit,doNotHyphenateCaps:(F=B.hyphenation)===null||F===void 0?void 0:F.doNotHyphenateCaps}}),this.media=new K6,B.externalStyles!==void 0){var w;let P=new M8().newInstance((w=B.styles)===null||w===void 0?void 0:w.default),A=new KK().newInstance(B.externalStyles);this.styles=new $1(L0(L0({},A),{},{importedStyles:[...P.importedStyles,...A.importedStyles]}))}else if(B.styles){let P=new M8().newInstance(B.styles.default);this.styles=new $1(L0(L0({},P),B.styles))}else{let P=new M8;this.styles=new $1(P.newInstance())}this.addDefaultRelationships();for(let P of B.sections)this.addSection(P);if(B.footnotes)for(let P in B.footnotes)this.footnotesWrapper.View.createFootNote(parseFloat(P),B.footnotes[P].children);if(B.endnotes)for(let P in B.endnotes)this.endnotesWrapper.View.createEndnote(parseFloat(P),B.endnotes[P].children);this.fontWrapper=new h4((D=B.fonts)!==null&&D!==void 0?D:[])}addSection({headers:B={},footers:U={},children:G,properties:Y}){this.documentWrapper.View.Body.addSection(L0(L0({},Y),{},{headerWrapperGroup:{default:B.default?this.createHeader(B.default):void 0,first:B.first?this.createHeader(B.first):void 0,even:B.even?this.createHeader(B.even):void 0},footerWrapperGroup:{default:U.default?this.createFooter(U.default):void 0,first:U.first?this.createFooter(U.first):void 0,even:U.even?this.createFooter(U.even):void 0}}));for(let Q of G)this.documentWrapper.View.add(Q)}createHeader(B){let U=new _9(this.media,this.currentRelationshipId++);for(let G of B.options.children)U.add(G);return this.addHeaderToDocument(U),U}createFooter(B){let U=new f9(this.media,this.currentRelationshipId++);for(let G of B.options.children)U.add(G);return this.addFooterToDocument(U),U}addHeaderToDocument(B,U=D2.DEFAULT){this.headers.push({header:B,type:U}),this.documentWrapper.Relationships.addRelationship(B.View.ReferenceId,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header",`header${this.headers.length}.xml`),this.contentTypes.addHeader(this.headers.length)}addFooterToDocument(B,U=D2.DEFAULT){this.footers.push({footer:B,type:U}),this.documentWrapper.Relationships.addRelationship(B.View.ReferenceId,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer",`footer${this.footers.length}.xml`),this.contentTypes.addFooter(this.footers.length)}addDefaultRelationships(){if(this.fileRelationships.addRelationship(1,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument","word/document.xml"),this.fileRelationships.addRelationship(2,"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties","docProps/core.xml"),this.fileRelationships.addRelationship(3,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties","docProps/app.xml"),this.fileRelationships.addRelationship(4,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties","docProps/custom.xml"),this.documentWrapper.Relationships.addRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles","styles.xml"),this.documentWrapper.Relationships.addRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering","numbering.xml"),this.documentWrapper.Relationships.addRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes","footnotes.xml"),this.documentWrapper.Relationships.addRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes","endnotes.xml"),this.documentWrapper.Relationships.addRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings","settings.xml"),this.documentWrapper.Relationships.addRelationship(this.currentRelationshipId++,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments","comments.xml"),this.commentsExtended)this.documentWrapper.Relationships.addRelationship(this.currentRelationshipId++,"http://schemas.microsoft.com/office/2011/relationships/commentsExtended","commentsExtended.xml"),this.contentTypes.addCommentsExtended()}get Document(){return this.documentWrapper}get Styles(){return this.styles}get CoreProperties(){return this.coreProperties}get Numbering(){return this.numbering}get Media(){return this.media}get FileRelationships(){return this.fileRelationships}get Headers(){return this.headers.map((B)=>B.header)}get Footers(){return this.footers.map((B)=>B.footer)}get ContentTypes(){return this.contentTypes}get CustomProperties(){return this.customProperties}get AppProperties(){return this.appProperties}get FootNotes(){return this.footnotesWrapper}get Endnotes(){return this.endnotesWrapper}get Settings(){return this.settings}get Comments(){return this.comments}get CommentsExtended(){return this.commentsExtended}get FontTable(){return this.fontWrapper}},qK=class extends t{constructor(B={}){super("w:instrText");e(this,"properties",void 0),this.properties=B,this.root.push(new _0({space:x0.PRESERVE}));let U="TOC";if(this.properties.captionLabel)U=`${U} \\a "${this.properties.captionLabel}"`;if(this.properties.entriesFromBookmark)U=`${U} \\b "${this.properties.entriesFromBookmark}"`;if(this.properties.captionLabelIncludingNumbers)U=`${U} \\c "${this.properties.captionLabelIncludingNumbers}"`;if(this.properties.sequenceAndPageNumbersSeparator)U=`${U} \\d "${this.properties.sequenceAndPageNumbersSeparator}"`;if(this.properties.tcFieldIdentifier)U=`${U} \\f "${this.properties.tcFieldIdentifier}"`;if(this.properties.hyperlink)U=`${U} \\h`;if(this.properties.tcFieldLevelRange)U=`${U} \\l "${this.properties.tcFieldLevelRange}"`;if(this.properties.pageNumbersEntryLevelsRange)U=`${U} \\n "${this.properties.pageNumbersEntryLevelsRange}"`;if(this.properties.headingStyleRange)U=`${U} \\o "${this.properties.headingStyleRange}"`;if(this.properties.entryAndPageNumberSeparator)U=`${U} \\p "${this.properties.entryAndPageNumberSeparator}"`;if(this.properties.seqFieldIdentifierForPrefix)U=`${U} \\s "${this.properties.seqFieldIdentifierForPrefix}"`;if(this.properties.stylesWithLevels&&this.properties.stylesWithLevels.length){let G=this.properties.stylesWithLevels.map((Y)=>`${Y.styleName},${Y.level}`).join(",");U=`${U} \\t "${G}"`}if(this.properties.useAppliedParagraphOutlineLevel)U=`${U} \\u`;if(this.properties.preserveTabInEntries)U=`${U} \\w`;if(this.properties.preserveNewLineInEntries)U=`${U} \\x`;if(this.properties.hideTabAndPageNumbersInWebView)U=`${U} \\z`;this.root.push(U)}},r9=class extends t{constructor(){super("w:sdtContent")}},i9=class extends t{constructor(B){super("w:sdtPr");if(B)this.root.push(new M2("w:alias",B))}};function MK(B,U){if(B==null)return{};var G={};for(var Y in B)if({}.hasOwnProperty.call(B,Y)){if(U.includes(Y))continue;G[Y]=B[Y]}return G}function n9(B,U){if(B==null)return{};var G,Y,Q=MK(B,U);if(Object.getOwnPropertySymbols){var K=Object.getOwnPropertySymbols(B);for(Y=0;Y0){let{stylesWithLevels:W}=K,I=Y.map((D,w)=>{var P,A;let E=this.buildCachedContentParagraphChild(D,K),C=(P=W===null||W===void 0||(A=W.find((v)=>v.level===D.level))===null||A===void 0?void 0:A.styleName)!==null&&P!==void 0?P:`TOC${D.level}`,j=w===0?[...J,E]:w===Y.length-1?[E,...M]:[E];return new d0({style:C,tabStops:this.getTabStopsForLevel(D.level),children:j})}),F=I;if(Y.length<=1)F=[...I,new d0({children:M})];for(let D of F)Z.addChildElement(D)}else{let W=new d0({children:J});Z.addChildElement(W);for(let F of G)Z.addChildElement(F);let I=new d0({children:M});Z.addChildElement(I)}this.root.push(Z)}getTabStopsForLevel(B,U=9025){return[{type:"clear",position:U+1-(B-1)*240},{type:"right",position:U,leader:"dot"}]}buildCachedContentRun(B,U){var G,Y;return new T0({style:(U===null||U===void 0?void 0:U.hyperlink)&&B.href!==void 0?"IndexLink":void 0,children:[new Z1({text:B.title}),new D4,new Z1({text:(G=(Y=B.page)===null||Y===void 0?void 0:Y.toString())!==null&&G!==void 0?G:""})]})}buildCachedContentParagraphChild(B,U){let G=this.buildCachedContentRun(B,U);if((U===null||U===void 0?void 0:U.hyperlink)&&B.href!==void 0)return new y4({anchor:B.href,children:[G]});return G}},LK=class{constructor(B,U){e(this,"styleName",void 0),e(this,"level",void 0),this.styleName=B,this.level=U}},IK=class{constructor(B={children:[]}){e(this,"options",void 0),this.options=B}},OK=class{constructor(B={children:[]}){e(this,"options",void 0),this.options=B}},s9=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{id:"w:id"})}},o9=class extends t{constructor(B){super("w:footnoteReference");this.root.push(new s9({id:B}))}},FK=class extends T0{constructor(B){super({style:"FootnoteReference"});this.root.push(new o9(B))}},t9=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{id:"w:id"})}},e9=class extends t{constructor(B){super("w:endnoteReference");this.root.push(new t9({id:B}))}},HK=class extends T0{constructor(B){super({style:"EndnoteReference"});this.root.push(new e9(B))}},o6=class extends F0{constructor(...B){super(...B);e(this,"xmlKeys",{val:"w14:val",symbolfont:"w14:font"})}},S1=class extends t{constructor(B,U,G){super(B);if(G)this.root.push(new o6({val:SB(U),symbolfont:G}));else this.root.push(new o6({val:U}))}},B5=class extends t{constructor(B){var U,G,Y,Q,K,Z,J,M;super("w14:checkbox");e(this,"DEFAULT_UNCHECKED_SYMBOL","2610"),e(this,"DEFAULT_CHECKED_SYMBOL","2612"),e(this,"DEFAULT_FONT","MS Gothic");let W=(B===null||B===void 0?void 0:B.checked)?"1":"0",I,F;this.root.push(new S1("w14:checked",W)),I=(B===null||B===void 0||(U=B.checkedState)===null||U===void 0?void 0:U.value)?B===null||B===void 0||(G=B.checkedState)===null||G===void 0?void 0:G.value:this.DEFAULT_CHECKED_SYMBOL,F=(B===null||B===void 0||(Y=B.checkedState)===null||Y===void 0?void 0:Y.font)?B===null||B===void 0||(Q=B.checkedState)===null||Q===void 0?void 0:Q.font:this.DEFAULT_FONT,this.root.push(new S1("w14:checkedState",I,F)),I=(B===null||B===void 0||(K=B.uncheckedState)===null||K===void 0?void 0:K.value)?B===null||B===void 0||(Z=B.uncheckedState)===null||Z===void 0?void 0:Z.value:this.DEFAULT_UNCHECKED_SYMBOL,F=(B===null||B===void 0||(J=B.uncheckedState)===null||J===void 0?void 0:J.font)?B===null||B===void 0||(M=B.uncheckedState)===null||M===void 0?void 0:M.font:this.DEFAULT_FONT,this.root.push(new S1("w14:uncheckedState",I,F))}},WK=class extends t{constructor(B){var U,G,Y,Q;super("w:sdt");e(this,"DEFAULT_UNCHECKED_SYMBOL","2610"),e(this,"DEFAULT_CHECKED_SYMBOL","2612"),e(this,"DEFAULT_FONT","MS Gothic");let K=new i9(B===null||B===void 0?void 0:B.alias);K.addChildElement(new B5(B)),this.root.push(K);let Z=new r9,J=B===null||B===void 0||(U=B.checkedState)===null||U===void 0?void 0:U.font,M=B===null||B===void 0||(G=B.checkedState)===null||G===void 0?void 0:G.value,W=B===null||B===void 0||(Y=B.uncheckedState)===null||Y===void 0?void 0:Y.font,I=B===null||B===void 0||(Q=B.uncheckedState)===null||Q===void 0?void 0:Q.value,F,D;if(B===null||B===void 0?void 0:B.checked)F=J?J:this.DEFAULT_FONT,D=M?M:this.DEFAULT_CHECKED_SYMBOL;else F=W?W:this.DEFAULT_FONT,D=I?I:this.DEFAULT_UNCHECKED_SYMBOL;let w=new aB({char:D,symbolfont:F});Z.addChildElement(w),this.root.push(Z)}},PK=({shape:B})=>new X0({name:"w:pict",children:[B]}),wK=({children:B=[]})=>new X0({name:"w:txbxContent",children:B}),AK=({style:B,children:U,inset:G})=>new X0({name:"v:textbox",attributes:{style:{key:"style",value:B},insetMode:{key:"insetmode",value:G?"custom":"auto"},inset:{key:"inset",value:G?`${G.left}, ${G.top}, ${G.right}, ${G.bottom}`:void 0}},children:[wK({children:U})]}),jK="#_x0000_t202",NK={flip:"flip",height:"height",left:"left",marginBottom:"margin-bottom",marginLeft:"margin-left",marginRight:"margin-right",marginTop:"margin-top",positionHorizontal:"mso-position-horizontal",positionHorizontalRelative:"mso-position-horizontal-relative",positionVertical:"mso-position-vertical",positionVerticalRelative:"mso-position-vertical-relative",wrapDistanceBottom:"mso-wrap-distance-bottom",wrapDistanceLeft:"mso-wrap-distance-left",wrapDistanceRight:"mso-wrap-distance-right",wrapDistanceTop:"mso-wrap-distance-top",wrapEdited:"mso-wrap-edited",wrapStyle:"mso-wrap-style",position:"position",rotation:"rotation",top:"top",visibility:"visibility",width:"width",zIndex:"z-index"},zK=(B)=>B?Object.entries(B).map(([U,G])=>`${NK[U]}:${G}`).join(";"):void 0,EK=({id:B,children:U,type:G=jK,style:Y})=>new X0({name:"v:shape",attributes:{id:{key:"id",value:B},type:{key:"type",value:G},style:{key:"style",value:zK(Y)}},children:[AK({style:"mso-fit-shape-to-text:t;",children:U})]}),TK=["style","children"],DK=class extends F1{constructor(B){let{style:U,children:G}=B,Y=n9(B,TK);super("w:p");this.root.push(new X2(Y)),this.root.push(PK({shape:EK({children:G,id:O1(),style:U})}))}},CK=R0((B,U)=>{d2(),P2();/*! + + JSZip v3.10.1 - A JavaScript class for generating and reading zip files + + + (c) 2009-2016 Stuart Knightley + Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown. + + JSZip uses the library pako released under the MIT license : + https://github.com/nodeca/pako/blob/main/LICENSE + */(function(G){if(typeof B=="object"&&typeof U<"u")U.exports=G();else if(typeof define=="function"&&define.amd)define([],G);else(typeof window<"u"?window:typeof v0<"u"?v0:typeof self<"u"?self:this).JSZip=G()})(function(){return function G(Y,Q,K){function Z(W,I){if(!Q[W]){if(!Y[W]){var F=typeof N1=="function"&&N1;if(!I&&F)return F(W,!0);if(J)return J(W,!0);var D=Error("Cannot find module '"+W+"'");throw D.code="MODULE_NOT_FOUND",D}var w=Q[W]={exports:{}};Y[W][0].call(w.exports,function(P){var A=Y[W][1][P];return Z(A||P)},w,w.exports,G,Y,Q,K)}return Q[W].exports}for(var J=typeof N1=="function"&&N1,M=0;M>2,w=(3&W)<<4|I>>4,P=1>6:64,A=2>4,I=(15&D)<<4|(w=J.indexOf(M.charAt(A++)))>>2,F=(3&w)<<6|(P=J.indexOf(M.charAt(A++))),j[E++]=W,w!==64&&(j[E++]=I),P!==64&&(j[E++]=F);return j}},{"./support":30,"./utils":32}],2:[function(G,Y,Q){var K=G("./external"),Z=G("./stream/DataWorker"),J=G("./stream/Crc32Probe"),M=G("./stream/DataLengthProbe");function W(I,F,D,w,P){this.compressedSize=I,this.uncompressedSize=F,this.crc32=D,this.compression=w,this.compressedContent=P}W.prototype={getContentWorker:function(){var I=new Z(K.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new M("data_length")),F=this;return I.on("end",function(){if(this.streamInfo.data_length!==F.uncompressedSize)throw Error("Bug : uncompressed data size mismatch")}),I},getCompressedWorker:function(){return new Z(K.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},W.createWorkerFrom=function(I,F,D){return I.pipe(new J).pipe(new M("uncompressedSize")).pipe(F.compressWorker(D)).pipe(new M("compressedSize")).withStreamInfo("compression",F)},Y.exports=W},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(G,Y,Q){var K=G("./stream/GenericWorker");Q.STORE={magic:"\x00\x00",compressWorker:function(){return new K("STORE compression")},uncompressWorker:function(){return new K("STORE decompression")}},Q.DEFLATE=G("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(G,Y,Q){var K=G("./utils"),Z=function(){for(var J,M=[],W=0;W<256;W++){J=W;for(var I=0;I<8;I++)J=1&J?3988292384^J>>>1:J>>>1;M[W]=J}return M}();Y.exports=function(J,M){return J!==void 0&&J.length?K.getTypeOf(J)!=="string"?function(W,I,F,D){var w=Z,P=D+F;W^=-1;for(var A=D;A>>8^w[255&(W^I[A])];return-1^W}(0|M,J,J.length,0):function(W,I,F,D){var w=Z,P=D+F;W^=-1;for(var A=D;A>>8^w[255&(W^I.charCodeAt(A))];return-1^W}(0|M,J,J.length,0):0}},{"./utils":32}],5:[function(G,Y,Q){Q.base64=!1,Q.binary=!1,Q.dir=!1,Q.createFolders=!0,Q.date=null,Q.compression=null,Q.compressionOptions=null,Q.comment=null,Q.unixPermissions=null,Q.dosPermissions=null},{}],6:[function(G,Y,Q){var K=null;K=typeof Promise<"u"?Promise:G("lie"),Y.exports={Promise:K}},{lie:37}],7:[function(G,Y,Q){var K=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",Z=G("pako"),J=G("./utils"),M=G("./stream/GenericWorker"),W=K?"uint8array":"array";function I(F,D){M.call(this,"FlateWorker/"+F),this._pako=null,this._pakoAction=F,this._pakoOptions=D,this.meta={}}Q.magic="\b\x00",J.inherits(I,M),I.prototype.processChunk=function(F){this.meta=F.meta,this._pako===null&&this._createPako(),this._pako.push(J.transformTo(W,F.data),!1)},I.prototype.flush=function(){M.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},I.prototype.cleanUp=function(){M.prototype.cleanUp.call(this),this._pako=null},I.prototype._createPako=function(){this._pako=new Z[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var F=this;this._pako.onData=function(D){F.push({data:D,meta:F.meta})}},Q.compressWorker=function(F){return new I("Deflate",F)},Q.uncompressWorker=function(){return new I("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(G,Y,Q){function K(w,P){var A,E="";for(A=0;A>>=8;return E}function Z(w,P,A,E,C,j){var v,S,H=w.file,X=w.compression,$=j!==W.utf8encode,x=J.transformTo("string",j(H.name)),N=J.transformTo("string",W.utf8encode(H.name)),a=H.comment,U0=J.transformTo("string",j(a)),b=J.transformTo("string",W.utf8encode(a)),c=N.length!==H.name.length,T=b.length!==a.length,m="",B0="",i="",V0=H.dir,s=H.date,G0={crc32:0,compressedSize:0,uncompressedSize:0};P&&!A||(G0.crc32=w.crc32,G0.compressedSize=w.compressedSize,G0.uncompressedSize=w.uncompressedSize);var r=0;P&&(r|=8),$||!c&&!T||(r|=2048);var y=0,n=0;V0&&(y|=16),C==="UNIX"?(n=798,y|=function(Y0,O0){var z=Y0;return Y0||(z=O0?16893:33204),(65535&z)<<16}(H.unixPermissions,V0)):(n=20,y|=function(Y0){return 63&(Y0||0)}(H.dosPermissions)),v=s.getUTCHours(),v<<=6,v|=s.getUTCMinutes(),v<<=5,v|=s.getUTCSeconds()/2,S=s.getUTCFullYear()-1980,S<<=4,S|=s.getUTCMonth()+1,S<<=5,S|=s.getUTCDate(),c&&(B0=K(1,1)+K(I(x),4)+N,m+="up"+K(B0.length,2)+B0),T&&(i=K(1,1)+K(I(U0),4)+b,m+="uc"+K(i.length,2)+i);var o="";return o+=` +\x00`,o+=K(r,2),o+=X.magic,o+=K(v,2),o+=K(S,2),o+=K(G0.crc32,4),o+=K(G0.compressedSize,4),o+=K(G0.uncompressedSize,4),o+=K(x.length,2),o+=K(m.length,2),{fileRecord:F.LOCAL_FILE_HEADER+o+x+m,dirRecord:F.CENTRAL_FILE_HEADER+K(n,2)+o+K(U0.length,2)+"\x00\x00\x00\x00"+K(y,4)+K(E,4)+x+m+U0}}var J=G("../utils"),M=G("../stream/GenericWorker"),W=G("../utf8"),I=G("../crc32"),F=G("../signature");function D(w,P,A,E){M.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=P,this.zipPlatform=A,this.encodeFileName=E,this.streamFiles=w,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}J.inherits(D,M),D.prototype.push=function(w){var P=w.meta.percent||0,A=this.entriesCount,E=this._sources.length;this.accumulate?this.contentBuffer.push(w):(this.bytesWritten+=w.data.length,M.prototype.push.call(this,{data:w.data,meta:{currentFile:this.currentFile,percent:A?(P+100*(A-E-1))/A:100}}))},D.prototype.openedSource=function(w){this.currentSourceOffset=this.bytesWritten,this.currentFile=w.file.name;var P=this.streamFiles&&!w.file.dir;if(P){var A=Z(w,P,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:A.fileRecord,meta:{percent:0}})}else this.accumulate=!0},D.prototype.closedSource=function(w){this.accumulate=!1;var P=this.streamFiles&&!w.file.dir,A=Z(w,P,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(A.dirRecord),P)this.push({data:function(E){return F.DATA_DESCRIPTOR+K(E.crc32,4)+K(E.compressedSize,4)+K(E.uncompressedSize,4)}(w),meta:{percent:100}});else for(this.push({data:A.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},D.prototype.flush=function(){for(var w=this.bytesWritten,P=0;P=this.index;M--)W=(W<<8)+this.byteAt(M);return this.index+=J,W},readString:function(J){return K.transformTo("string",this.readData(J))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var J=this.readInt(4);return new Date(Date.UTC(1980+(J>>25&127),(J>>21&15)-1,J>>16&31,J>>11&31,J>>5&63,(31&J)<<1))}},Y.exports=Z},{"../utils":32}],19:[function(G,Y,Q){var K=G("./Uint8ArrayReader");function Z(J){K.call(this,J)}G("../utils").inherits(Z,K),Z.prototype.readData=function(J){this.checkOffset(J);var M=this.data.slice(this.zero+this.index,this.zero+this.index+J);return this.index+=J,M},Y.exports=Z},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(G,Y,Q){var K=G("./DataReader");function Z(J){K.call(this,J)}G("../utils").inherits(Z,K),Z.prototype.byteAt=function(J){return this.data.charCodeAt(this.zero+J)},Z.prototype.lastIndexOfSignature=function(J){return this.data.lastIndexOf(J)-this.zero},Z.prototype.readAndCheckSignature=function(J){return J===this.readData(4)},Z.prototype.readData=function(J){this.checkOffset(J);var M=this.data.slice(this.zero+this.index,this.zero+this.index+J);return this.index+=J,M},Y.exports=Z},{"../utils":32,"./DataReader":18}],21:[function(G,Y,Q){var K=G("./ArrayReader");function Z(J){K.call(this,J)}G("../utils").inherits(Z,K),Z.prototype.readData=function(J){if(this.checkOffset(J),J===0)return new Uint8Array(0);var M=this.data.subarray(this.zero+this.index,this.zero+this.index+J);return this.index+=J,M},Y.exports=Z},{"../utils":32,"./ArrayReader":17}],22:[function(G,Y,Q){var K=G("../utils"),Z=G("../support"),J=G("./ArrayReader"),M=G("./StringReader"),W=G("./NodeBufferReader"),I=G("./Uint8ArrayReader");Y.exports=function(F){var D=K.getTypeOf(F);return K.checkSupport(D),D!=="string"||Z.uint8array?D==="nodebuffer"?new W(F):Z.uint8array?new I(K.transformTo("uint8array",F)):new J(K.transformTo("array",F)):new M(F)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(G,Y,Q){Q.LOCAL_FILE_HEADER="PK\x03\x04",Q.CENTRAL_FILE_HEADER="PK\x01\x02",Q.CENTRAL_DIRECTORY_END="PK\x05\x06",Q.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x06\x07",Q.ZIP64_CENTRAL_DIRECTORY_END="PK\x06\x06",Q.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(G,Y,Q){var K=G("./GenericWorker"),Z=G("../utils");function J(M){K.call(this,"ConvertWorker to "+M),this.destType=M}Z.inherits(J,K),J.prototype.processChunk=function(M){this.push({data:Z.transformTo(this.destType,M.data),meta:M.meta})},Y.exports=J},{"../utils":32,"./GenericWorker":28}],25:[function(G,Y,Q){var K=G("./GenericWorker"),Z=G("../crc32");function J(){K.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}G("../utils").inherits(J,K),J.prototype.processChunk=function(M){this.streamInfo.crc32=Z(M.data,this.streamInfo.crc32||0),this.push(M)},Y.exports=J},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(G,Y,Q){var K=G("../utils"),Z=G("./GenericWorker");function J(M){Z.call(this,"DataLengthProbe for "+M),this.propName=M,this.withStreamInfo(M,0)}K.inherits(J,Z),J.prototype.processChunk=function(M){if(M){var W=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=W+M.data.length}Z.prototype.processChunk.call(this,M)},Y.exports=J},{"../utils":32,"./GenericWorker":28}],27:[function(G,Y,Q){var K=G("../utils"),Z=G("./GenericWorker");function J(M){Z.call(this,"DataWorker");var W=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,M.then(function(I){W.dataIsReady=!0,W.data=I,W.max=I&&I.length||0,W.type=K.getTypeOf(I),W.isPaused||W._tickAndRepeat()},function(I){W.error(I)})}K.inherits(J,Z),J.prototype.cleanUp=function(){Z.prototype.cleanUp.call(this),this.data=null},J.prototype.resume=function(){return!!Z.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,K.delay(this._tickAndRepeat,[],this)),!0)},J.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(K.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},J.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var M=null,W=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":M=this.data.substring(this.index,W);break;case"uint8array":M=this.data.subarray(this.index,W);break;case"array":case"nodebuffer":M=this.data.slice(this.index,W)}return this.index=W,this.push({data:M,meta:{percent:this.max?this.index/this.max*100:0}})},Y.exports=J},{"../utils":32,"./GenericWorker":28}],28:[function(G,Y,Q){function K(Z){this.name=Z||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}K.prototype={push:function(Z){this.emit("data",Z)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(Z){this.emit("error",Z)}return!0},error:function(Z){return!this.isFinished&&(this.isPaused?this.generatedError=Z:(this.isFinished=!0,this.emit("error",Z),this.previous&&this.previous.error(Z),this.cleanUp()),!0)},on:function(Z,J){return this._listeners[Z].push(J),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(Z,J){if(this._listeners[Z])for(var M=0;M "+Z:Z}},Y.exports=K},{}],29:[function(G,Y,Q){var K=G("../utils"),Z=G("./ConvertWorker"),J=G("./GenericWorker"),M=G("../base64"),W=G("../support"),I=G("../external"),F=null;if(W.nodestream)try{F=G("../nodejs/NodejsStreamOutputAdapter")}catch(P){}function D(P,A){return new I.Promise(function(E,C){var j=[],v=P._internalType,S=P._outputType,H=P._mimeType;P.on("data",function(X,$){j.push(X),A&&A($)}).on("error",function(X){j=[],C(X)}).on("end",function(){try{E(function(X,$,x){switch(X){case"blob":return K.newBlob(K.transformTo("arraybuffer",$),x);case"base64":return M.encode($);default:return K.transformTo(X,$)}}(S,function(X,$){var x,N=0,a=null,U0=0;for(x=0;x<$.length;x++)U0+=$[x].length;switch(X){case"string":return $.join("");case"array":return Array.prototype.concat.apply([],$);case"uint8array":for(a=new Uint8Array(U0),x=0;x<$.length;x++)a.set($[x],N),N+=$[x].length;return a;case"nodebuffer":return Buffer.concat($);default:throw Error("concat : unsupported type '"+X+"'")}}(v,j),H))}catch(X){C(X)}j=[]}).resume()})}function w(P,A,E){var C=A;switch(A){case"blob":case"arraybuffer":C="uint8array";break;case"base64":C="string"}try{this._internalType=C,this._outputType=A,this._mimeType=E,K.checkSupport(C),this._worker=P.pipe(new Z(C)),P.lock()}catch(j){this._worker=new J("error"),this._worker.error(j)}}w.prototype={accumulate:function(P){return D(this,P)},on:function(P,A){var E=this;return P==="data"?this._worker.on(P,function(C){A.call(E,C.data,C.meta)}):this._worker.on(P,function(){K.delay(A,arguments,E)}),this},resume:function(){return K.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(P){if(K.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw Error(this._outputType+" is not supported by this method");return new F(this,{objectMode:this._outputType!=="nodebuffer"},P)}},Y.exports=w},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(G,Y,Q){if(Q.base64=!0,Q.array=!0,Q.string=!0,Q.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",Q.nodebuffer=typeof Buffer<"u",Q.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")Q.blob=!1;else{var K=new ArrayBuffer(0);try{Q.blob=new Blob([K],{type:"application/zip"}).size===0}catch(J){try{var Z=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);Z.append(K),Q.blob=Z.getBlob("application/zip").size===0}catch(M){Q.blob=!1}}}try{Q.nodestream=!!G("readable-stream").Readable}catch(J){Q.nodestream=!1}},{"readable-stream":16}],31:[function(G,Y,Q){for(var K=G("./utils"),Z=G("./support"),J=G("./nodejsUtils"),M=G("./stream/GenericWorker"),W=Array(256),I=0;I<256;I++)W[I]=252<=I?6:248<=I?5:240<=I?4:224<=I?3:192<=I?2:1;W[254]=W[254]=1;function F(){M.call(this,"utf-8 decode"),this.leftOver=null}function D(){M.call(this,"utf-8 encode")}Q.utf8encode=function(w){return Z.nodebuffer?J.newBufferFrom(w,"utf-8"):function(P){var A,E,C,j,v,S=P.length,H=0;for(j=0;j>>6:(E<65536?A[v++]=224|E>>>12:(A[v++]=240|E>>>18,A[v++]=128|E>>>12&63),A[v++]=128|E>>>6&63),A[v++]=128|63&E);return A}(w)},Q.utf8decode=function(w){return Z.nodebuffer?K.transformTo("nodebuffer",w).toString("utf-8"):function(P){var A,E,C,j,v=P.length,S=Array(2*v);for(A=E=0;A>10&1023,S[E++]=56320|1023&C)}return S.length!==E&&(S.subarray?S=S.subarray(0,E):S.length=E),K.applyFromCharCode(S)}(w=K.transformTo(Z.uint8array?"uint8array":"array",w))},K.inherits(F,M),F.prototype.processChunk=function(w){var P=K.transformTo(Z.uint8array?"uint8array":"array",w.data);if(this.leftOver&&this.leftOver.length){if(Z.uint8array){var A=P;(P=new Uint8Array(A.length+this.leftOver.length)).set(this.leftOver,0),P.set(A,this.leftOver.length)}else P=this.leftOver.concat(P);this.leftOver=null}var E=function(j,v){var S;for((v=v||j.length)>j.length&&(v=j.length),S=v-1;0<=S&&(192&j[S])==128;)S--;return S<0?v:S===0?v:S+W[j[S]]>v?S:v}(P),C=P;E!==P.length&&(Z.uint8array?(C=P.subarray(0,E),this.leftOver=P.subarray(E,P.length)):(C=P.slice(0,E),this.leftOver=P.slice(E,P.length))),this.push({data:Q.utf8decode(C),meta:w.meta})},F.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:Q.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},Q.Utf8DecodeWorker=F,K.inherits(D,M),D.prototype.processChunk=function(w){this.push({data:Q.utf8encode(w.data),meta:w.meta})},Q.Utf8EncodeWorker=D},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(G,Y,Q){var K=G("./support"),Z=G("./base64"),J=G("./nodejsUtils"),M=G("./external");function W(A){return A}function I(A,E){for(var C=0;C>8;this.dir=!!(16&this.externalFileAttributes),w==0&&(this.dosPermissions=63&this.externalFileAttributes),w==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var w=K(this.extraFields[1].value);this.uncompressedSize===Z.MAX_VALUE_32BITS&&(this.uncompressedSize=w.readInt(8)),this.compressedSize===Z.MAX_VALUE_32BITS&&(this.compressedSize=w.readInt(8)),this.localHeaderOffset===Z.MAX_VALUE_32BITS&&(this.localHeaderOffset=w.readInt(8)),this.diskNumberStart===Z.MAX_VALUE_32BITS&&(this.diskNumberStart=w.readInt(4))}},readExtraFields:function(w){var P,A,E,C=w.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});w.index+4>>6:(w<65536?D[E++]=224|w>>>12:(D[E++]=240|w>>>18,D[E++]=128|w>>>12&63),D[E++]=128|w>>>6&63),D[E++]=128|63&w);return D},Q.buf2binstring=function(F){return I(F,F.length)},Q.binstring2buf=function(F){for(var D=new K.Buf8(F.length),w=0,P=D.length;w>10&1023,j[P++]=56320|1023&A)}return I(j,P)},Q.utf8border=function(F,D){var w;for((D=D||F.length)>F.length&&(D=F.length),w=D-1;0<=w&&(192&F[w])==128;)w--;return w<0?D:w===0?D:w+M[F[w]]>D?w:D}},{"./common":41}],43:[function(G,Y,Q){Y.exports=function(K,Z,J,M){for(var W=65535&K|0,I=K>>>16&65535|0,F=0;J!==0;){for(J-=F=2000>>1:Z>>>1;J[M]=Z}return J}();Y.exports=function(Z,J,M,W){var I=K,F=W+M;Z^=-1;for(var D=W;D>>8^I[255&(Z^J[D])];return-1^Z}},{}],46:[function(G,Y,Q){var K,Z=G("../utils/common"),J=G("./trees"),M=G("./adler32"),W=G("./crc32"),I=G("./messages"),F=0,D=4,w=0,P=-2,A=-1,E=4,C=2,j=8,v=9,S=286,H=30,X=19,$=2*S+1,x=15,N=3,a=258,U0=a+N+1,b=42,c=113,T=1,m=2,B0=3,i=4;function V0(R,p){return R.msg=I[p],p}function s(R){return(R<<1)-(4R.avail_out&&(k=R.avail_out),k!==0&&(Z.arraySet(R.output,p.pending_buf,p.pending_out,k,R.next_out),R.next_out+=k,p.pending_out+=k,R.total_out+=k,R.avail_out-=k,p.pending-=k,p.pending===0&&(p.pending_out=0))}function y(R,p){J._tr_flush_block(R,0<=R.block_start?R.block_start:-1,R.strstart-R.block_start,p),R.block_start=R.strstart,r(R.strm)}function n(R,p){R.pending_buf[R.pending++]=p}function o(R,p){R.pending_buf[R.pending++]=p>>>8&255,R.pending_buf[R.pending++]=255&p}function Y0(R,p){var k,V,q=R.max_chain_length,O=R.strstart,_=R.prev_length,l=R.nice_match,d=R.strstart>R.w_size-U0?R.strstart-(R.w_size-U0):0,Q0=R.window,q0=R.w_mask,K0=R.prev,I0=R.strstart+a,H0=Q0[O+_-1],W0=Q0[O+_];R.prev_length>=R.good_match&&(q>>=2),l>R.lookahead&&(l=R.lookahead);do if(Q0[(k=p)+_]===W0&&Q0[k+_-1]===H0&&Q0[k]===Q0[O]&&Q0[++k]===Q0[O+1]){O+=2,k++;do;while(Q0[++O]===Q0[++k]&&Q0[++O]===Q0[++k]&&Q0[++O]===Q0[++k]&&Q0[++O]===Q0[++k]&&Q0[++O]===Q0[++k]&&Q0[++O]===Q0[++k]&&Q0[++O]===Q0[++k]&&Q0[++O]===Q0[++k]&&Od&&--q!=0);return _<=R.lookahead?_:R.lookahead}function O0(R){var p,k,V,q,O,_,l,d,Q0,q0,K0=R.w_size;do{if(q=R.window_size-R.lookahead-R.strstart,R.strstart>=K0+(K0-U0)){for(Z.arraySet(R.window,R.window,K0,K0,0),R.match_start-=K0,R.strstart-=K0,R.block_start-=K0,p=k=R.hash_size;V=R.head[--p],R.head[p]=K0<=V?V-K0:0,--k;);for(p=k=K0;V=R.prev[--p],R.prev[p]=K0<=V?V-K0:0,--k;);q+=K0}if(R.strm.avail_in===0)break;if(_=R.strm,l=R.window,d=R.strstart+R.lookahead,Q0=q,q0=void 0,q0=_.avail_in,Q0=N)for(O=R.strstart-R.insert,R.ins_h=R.window[O],R.ins_h=(R.ins_h<=N&&(R.ins_h=(R.ins_h<=N)if(V=J._tr_tally(R,R.strstart-R.match_start,R.match_length-N),R.lookahead-=R.match_length,R.match_length<=R.max_lazy_match&&R.lookahead>=N){for(R.match_length--;R.strstart++,R.ins_h=(R.ins_h<=N&&(R.ins_h=(R.ins_h<=N&&R.match_length<=R.prev_length){for(q=R.strstart+R.lookahead-N,V=J._tr_tally(R,R.strstart-1-R.prev_match,R.prev_length-N),R.lookahead-=R.prev_length-1,R.prev_length-=2;++R.strstart<=q&&(R.ins_h=(R.ins_h<R.pending_buf_size-5&&(k=R.pending_buf_size-5);;){if(R.lookahead<=1){if(O0(R),R.lookahead===0&&p===F)return T;if(R.lookahead===0)break}R.strstart+=R.lookahead,R.lookahead=0;var V=R.block_start+k;if((R.strstart===0||R.strstart>=V)&&(R.lookahead=R.strstart-V,R.strstart=V,y(R,!1),R.strm.avail_out===0))return T;if(R.strstart-R.block_start>=R.w_size-U0&&(y(R,!1),R.strm.avail_out===0))return T}return R.insert=0,p===D?(y(R,!0),R.strm.avail_out===0?B0:i):(R.strstart>R.block_start&&(y(R,!1),R.strm.avail_out),T)}),new u(4,4,8,4,z),new u(4,5,16,8,z),new u(4,6,32,32,z),new u(4,4,16,16,L),new u(8,16,32,32,L),new u(8,16,128,128,L),new u(8,32,128,256,L),new u(32,128,258,1024,L),new u(32,258,258,4096,L)],Q.deflateInit=function(R,p){return f(R,p,j,15,8,0)},Q.deflateInit2=f,Q.deflateReset=g,Q.deflateResetKeep=Z0,Q.deflateSetHeader=function(R,p){return R&&R.state?R.state.wrap!==2?P:(R.state.gzhead=p,w):P},Q.deflate=function(R,p){var k,V,q,O;if(!R||!R.state||5>8&255),n(V,V.gzhead.time>>16&255),n(V,V.gzhead.time>>24&255),n(V,V.level===9?2:2<=V.strategy||V.level<2?4:0),n(V,255&V.gzhead.os),V.gzhead.extra&&V.gzhead.extra.length&&(n(V,255&V.gzhead.extra.length),n(V,V.gzhead.extra.length>>8&255)),V.gzhead.hcrc&&(R.adler=W(R.adler,V.pending_buf,V.pending,0)),V.gzindex=0,V.status=69):(n(V,0),n(V,0),n(V,0),n(V,0),n(V,0),n(V,V.level===9?2:2<=V.strategy||V.level<2?4:0),n(V,3),V.status=c);else{var _=j+(V.w_bits-8<<4)<<8;_|=(2<=V.strategy||V.level<2?0:V.level<6?1:V.level===6?2:3)<<6,V.strstart!==0&&(_|=32),_+=31-_%31,V.status=c,o(V,_),V.strstart!==0&&(o(V,R.adler>>>16),o(V,65535&R.adler)),R.adler=1}if(V.status===69)if(V.gzhead.extra){for(q=V.pending;V.gzindex<(65535&V.gzhead.extra.length)&&(V.pending!==V.pending_buf_size||(V.gzhead.hcrc&&V.pending>q&&(R.adler=W(R.adler,V.pending_buf,V.pending-q,q)),r(R),q=V.pending,V.pending!==V.pending_buf_size));)n(V,255&V.gzhead.extra[V.gzindex]),V.gzindex++;V.gzhead.hcrc&&V.pending>q&&(R.adler=W(R.adler,V.pending_buf,V.pending-q,q)),V.gzindex===V.gzhead.extra.length&&(V.gzindex=0,V.status=73)}else V.status=73;if(V.status===73)if(V.gzhead.name){q=V.pending;do{if(V.pending===V.pending_buf_size&&(V.gzhead.hcrc&&V.pending>q&&(R.adler=W(R.adler,V.pending_buf,V.pending-q,q)),r(R),q=V.pending,V.pending===V.pending_buf_size)){O=1;break}O=V.gzindexq&&(R.adler=W(R.adler,V.pending_buf,V.pending-q,q)),O===0&&(V.gzindex=0,V.status=91)}else V.status=91;if(V.status===91)if(V.gzhead.comment){q=V.pending;do{if(V.pending===V.pending_buf_size&&(V.gzhead.hcrc&&V.pending>q&&(R.adler=W(R.adler,V.pending_buf,V.pending-q,q)),r(R),q=V.pending,V.pending===V.pending_buf_size)){O=1;break}O=V.gzindexq&&(R.adler=W(R.adler,V.pending_buf,V.pending-q,q)),O===0&&(V.status=103)}else V.status=103;if(V.status===103&&(V.gzhead.hcrc?(V.pending+2>V.pending_buf_size&&r(R),V.pending+2<=V.pending_buf_size&&(n(V,255&R.adler),n(V,R.adler>>8&255),R.adler=0,V.status=c)):V.status=c),V.pending!==0){if(r(R),R.avail_out===0)return V.last_flush=-1,w}else if(R.avail_in===0&&s(p)<=s(k)&&p!==D)return V0(R,-5);if(V.status===666&&R.avail_in!==0)return V0(R,-5);if(R.avail_in!==0||V.lookahead!==0||p!==F&&V.status!==666){var l=V.strategy===2?function(d,Q0){for(var q0;;){if(d.lookahead===0&&(O0(d),d.lookahead===0)){if(Q0===F)return T;break}if(d.match_length=0,q0=J._tr_tally(d,0,d.window[d.strstart]),d.lookahead--,d.strstart++,q0&&(y(d,!1),d.strm.avail_out===0))return T}return d.insert=0,Q0===D?(y(d,!0),d.strm.avail_out===0?B0:i):d.last_lit&&(y(d,!1),d.strm.avail_out===0)?T:m}(V,p):V.strategy===3?function(d,Q0){for(var q0,K0,I0,H0,W0=d.window;;){if(d.lookahead<=a){if(O0(d),d.lookahead<=a&&Q0===F)return T;if(d.lookahead===0)break}if(d.match_length=0,d.lookahead>=N&&0d.lookahead&&(d.match_length=d.lookahead)}if(d.match_length>=N?(q0=J._tr_tally(d,1,d.match_length-N),d.lookahead-=d.match_length,d.strstart+=d.match_length,d.match_length=0):(q0=J._tr_tally(d,0,d.window[d.strstart]),d.lookahead--,d.strstart++),q0&&(y(d,!1),d.strm.avail_out===0))return T}return d.insert=0,Q0===D?(y(d,!0),d.strm.avail_out===0?B0:i):d.last_lit&&(y(d,!1),d.strm.avail_out===0)?T:m}(V,p):K[V.level].func(V,p);if(l!==B0&&l!==i||(V.status=666),l===T||l===B0)return R.avail_out===0&&(V.last_flush=-1),w;if(l===m&&(p===1?J._tr_align(V):p!==5&&(J._tr_stored_block(V,0,0,!1),p===3&&(G0(V.head),V.lookahead===0&&(V.strstart=0,V.block_start=0,V.insert=0))),r(R),R.avail_out===0))return V.last_flush=-1,w}return p!==D?w:V.wrap<=0?1:(V.wrap===2?(n(V,255&R.adler),n(V,R.adler>>8&255),n(V,R.adler>>16&255),n(V,R.adler>>24&255),n(V,255&R.total_in),n(V,R.total_in>>8&255),n(V,R.total_in>>16&255),n(V,R.total_in>>24&255)):(o(V,R.adler>>>16),o(V,65535&R.adler)),r(R),0=k.w_size&&(O===0&&(G0(k.head),k.strstart=0,k.block_start=0,k.insert=0),Q0=new Z.Buf8(k.w_size),Z.arraySet(Q0,p,q0-k.w_size,k.w_size,0),p=Q0,q0=k.w_size),_=R.avail_in,l=R.next_in,d=R.input,R.avail_in=q0,R.next_in=0,R.input=p,O0(k);k.lookahead>=N;){for(V=k.strstart,q=k.lookahead-(N-1);k.ins_h=(k.ins_h<>>=N=x>>>24,v-=N,(N=x>>>16&255)===0)m[I++]=65535&x;else{if(!(16&N)){if((64&N)==0){x=S[(65535&x)+(j&(1<>>=N,v-=N),v<15&&(j+=T[M++]<>>=N=x>>>24,v-=N,!(16&(N=x>>>16&255))){if((64&N)==0){x=H[(65535&x)+(j&(1<>>=N,v-=N,(N=I-F)>3,j&=(1<<(v-=a<<3))-1,K.next_in=M,K.next_out=I,K.avail_in=M>>24&255)+(b>>>8&65280)+((65280&b)<<8)+((255&b)<<24)}function j(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new K.Buf16(320),this.work=new K.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function v(b){var c;return b&&b.state?(c=b.state,b.total_in=b.total_out=c.total=0,b.msg="",c.wrap&&(b.adler=1&c.wrap),c.mode=P,c.last=0,c.havedict=0,c.dmax=32768,c.head=null,c.hold=0,c.bits=0,c.lencode=c.lendyn=new K.Buf32(A),c.distcode=c.distdyn=new K.Buf32(E),c.sane=1,c.back=-1,D):w}function S(b){var c;return b&&b.state?((c=b.state).wsize=0,c.whave=0,c.wnext=0,v(b)):w}function H(b,c){var T,m;return b&&b.state?(m=b.state,c<0?(T=0,c=-c):(T=1+(c>>4),c<48&&(c&=15)),c&&(c<8||15=i.wsize?(K.arraySet(i.window,c,T-i.wsize,i.wsize,0),i.wnext=0,i.whave=i.wsize):(m<(B0=i.wsize-i.wnext)&&(B0=m),K.arraySet(i.window,c,T-m,B0,i.wnext),(m-=B0)?(K.arraySet(i.window,c,T-m,m,0),i.wnext=m,i.whave=i.wsize):(i.wnext+=B0,i.wnext===i.wsize&&(i.wnext=0),i.whave>>8&255,T.check=J(T.check,O,2,0),y=r=0,T.mode=2;break}if(T.flags=0,T.head&&(T.head.done=!1),!(1&T.wrap)||(((255&r)<<8)+(r>>8))%31){b.msg="incorrect header check",T.mode=30;break}if((15&r)!=8){b.msg="unknown compression method",T.mode=30;break}if(y-=4,R=8+(15&(r>>>=4)),T.wbits===0)T.wbits=R;else if(R>T.wbits){b.msg="invalid window size",T.mode=30;break}T.dmax=1<>8&1),512&T.flags&&(O[0]=255&r,O[1]=r>>>8&255,T.check=J(T.check,O,2,0)),y=r=0,T.mode=3;case 3:for(;y<32;){if(s===0)break B;s--,r+=m[i++]<>>8&255,O[2]=r>>>16&255,O[3]=r>>>24&255,T.check=J(T.check,O,4,0)),y=r=0,T.mode=4;case 4:for(;y<16;){if(s===0)break B;s--,r+=m[i++]<>8),512&T.flags&&(O[0]=255&r,O[1]=r>>>8&255,T.check=J(T.check,O,2,0)),y=r=0,T.mode=5;case 5:if(1024&T.flags){for(;y<16;){if(s===0)break B;s--,r+=m[i++]<>>8&255,T.check=J(T.check,O,2,0)),y=r=0}else T.head&&(T.head.extra=null);T.mode=6;case 6:if(1024&T.flags&&(s<(Y0=T.length)&&(Y0=s),Y0&&(T.head&&(R=T.head.extra_len-T.length,T.head.extra||(T.head.extra=Array(T.head.extra_len)),K.arraySet(T.head.extra,m,i,Y0,R)),512&T.flags&&(T.check=J(T.check,m,Y0,i)),s-=Y0,i+=Y0,T.length-=Y0),T.length))break B;T.length=0,T.mode=7;case 7:if(2048&T.flags){if(s===0)break B;for(Y0=0;R=m[i+Y0++],T.head&&R&&T.length<65536&&(T.head.name+=String.fromCharCode(R)),R&&Y0>9&1,T.head.done=!0),b.adler=T.check=0,T.mode=12;break;case 10:for(;y<32;){if(s===0)break B;s--,r+=m[i++]<>>=7&y,y-=7&y,T.mode=27;break}for(;y<3;){if(s===0)break B;s--,r+=m[i++]<>>=1)){case 0:T.mode=14;break;case 1:if(a(T),T.mode=20,c!==6)break;r>>>=2,y-=2;break B;case 2:T.mode=17;break;case 3:b.msg="invalid block type",T.mode=30}r>>>=2,y-=2;break;case 14:for(r>>>=7&y,y-=7&y;y<32;){if(s===0)break B;s--,r+=m[i++]<>>16^65535)){b.msg="invalid stored block lengths",T.mode=30;break}if(T.length=65535&r,y=r=0,T.mode=15,c===6)break B;case 15:T.mode=16;case 16:if(Y0=T.length){if(s>>=5,y-=5,T.ndist=1+(31&r),r>>>=5,y-=5,T.ncode=4+(15&r),r>>>=4,y-=4,286>>=3,y-=3}for(;T.have<19;)T.lens[_[T.have++]]=0;if(T.lencode=T.lendyn,T.lenbits=7,k={bits:T.lenbits},p=W(0,T.lens,0,19,T.lencode,0,T.work,k),T.lenbits=k.bits,p){b.msg="invalid code lengths set",T.mode=30;break}T.have=0,T.mode=19;case 19:for(;T.have>>16&255,h=65535&q,!((L=q>>>24)<=y);){if(s===0)break B;s--,r+=m[i++]<>>=L,y-=L,T.lens[T.have++]=h;else{if(h===16){for(V=L+2;y>>=L,y-=L,T.have===0){b.msg="invalid bit length repeat",T.mode=30;break}R=T.lens[T.have-1],Y0=3+(3&r),r>>>=2,y-=2}else if(h===17){for(V=L+3;y>>=L)),r>>>=3,y-=3}else{for(V=L+7;y>>=L)),r>>>=7,y-=7}if(T.have+Y0>T.nlen+T.ndist){b.msg="invalid bit length repeat",T.mode=30;break}for(;Y0--;)T.lens[T.have++]=R}}if(T.mode===30)break;if(T.lens[256]===0){b.msg="invalid code -- missing end-of-block",T.mode=30;break}if(T.lenbits=9,k={bits:T.lenbits},p=W(I,T.lens,0,T.nlen,T.lencode,0,T.work,k),T.lenbits=k.bits,p){b.msg="invalid literal/lengths set",T.mode=30;break}if(T.distbits=6,T.distcode=T.distdyn,k={bits:T.distbits},p=W(F,T.lens,T.nlen,T.ndist,T.distcode,0,T.work,k),T.distbits=k.bits,p){b.msg="invalid distances set",T.mode=30;break}if(T.mode=20,c===6)break B;case 20:T.mode=21;case 21:if(6<=s&&258<=G0){b.next_out=V0,b.avail_out=G0,b.next_in=i,b.avail_in=s,T.hold=r,T.bits=y,M(b,o),V0=b.next_out,B0=b.output,G0=b.avail_out,i=b.next_in,m=b.input,s=b.avail_in,r=T.hold,y=T.bits,T.mode===12&&(T.back=-1);break}for(T.back=0;u=(q=T.lencode[r&(1<>>16&255,h=65535&q,!((L=q>>>24)<=y);){if(s===0)break B;s--,r+=m[i++]<>Z0)])>>>16&255,h=65535&q,!(Z0+(L=q>>>24)<=y);){if(s===0)break B;s--,r+=m[i++]<>>=Z0,y-=Z0,T.back+=Z0}if(r>>>=L,y-=L,T.back+=L,T.length=h,u===0){T.mode=26;break}if(32&u){T.back=-1,T.mode=12;break}if(64&u){b.msg="invalid literal/length code",T.mode=30;break}T.extra=15&u,T.mode=22;case 22:if(T.extra){for(V=T.extra;y>>=T.extra,y-=T.extra,T.back+=T.extra}T.was=T.length,T.mode=23;case 23:for(;u=(q=T.distcode[r&(1<>>16&255,h=65535&q,!((L=q>>>24)<=y);){if(s===0)break B;s--,r+=m[i++]<>Z0)])>>>16&255,h=65535&q,!(Z0+(L=q>>>24)<=y);){if(s===0)break B;s--,r+=m[i++]<>>=Z0,y-=Z0,T.back+=Z0}if(r>>>=L,y-=L,T.back+=L,64&u){b.msg="invalid distance code",T.mode=30;break}T.offset=h,T.extra=15&u,T.mode=24;case 24:if(T.extra){for(V=T.extra;y>>=T.extra,y-=T.extra,T.back+=T.extra}if(T.offset>T.dmax){b.msg="invalid distance too far back",T.mode=30;break}T.mode=25;case 25:if(G0===0)break B;if(Y0=o-G0,T.offset>Y0){if((Y0=T.offset-Y0)>T.whave&&T.sane){b.msg="invalid distance too far back",T.mode=30;break}O0=Y0>T.wnext?(Y0-=T.wnext,T.wsize-Y0):T.wnext-Y0,Y0>T.length&&(Y0=T.length),z=T.window}else z=B0,O0=V0-T.offset,Y0=T.length;for(G0$?(N=O0[z+E[c]],y[n+E[c]]):(N=96,0),j=1<>V0)+(v-=j)]=x<<24|N<<16|a|0,v!==0;);for(j=1<>=1;if(j!==0?(r&=j-1,r+=j):r=0,c++,--o[b]==0){if(b===m)break;b=F[D+E[c]]}if(B0>>7)]}function n(q,O){q.pending_buf[q.pending++]=255&O,q.pending_buf[q.pending++]=O>>>8&255}function o(q,O,_){q.bi_valid>C-_?(q.bi_buf|=O<>C-q.bi_valid,q.bi_valid+=_-C):(q.bi_buf|=O<>>=1,_<<=1,0<--O;);return _>>>1}function z(q,O,_){var l,d,Q0=Array(E+1),q0=0;for(l=1;l<=E;l++)Q0[l]=q0=q0+_[l-1]<<1;for(d=0;d<=O;d++){var K0=q[2*d+1];K0!==0&&(q[2*d]=O0(Q0[K0]++,K0))}}function L(q){var O;for(O=0;O>1;1<=_;_--)Z0(q,Q0,_);for(d=I0;_=q.heap[1],q.heap[1]=q.heap[q.heap_len--],Z0(q,Q0,1),l=q.heap[1],q.heap[--q.heap_max]=_,q.heap[--q.heap_max]=l,Q0[2*d]=Q0[2*_]+Q0[2*l],q.depth[d]=(q.depth[_]>=q.depth[l]?q.depth[_]:q.depth[l])+1,Q0[2*_+1]=Q0[2*l+1]=d,q.heap[1]=d++,Z0(q,Q0,1),2<=q.heap_len;);q.heap[--q.heap_max]=q.heap[1],function(W0,k0){var L2,m0,r2,N0,W1,a1,Y2=k0.dyn_tree,L6=k0.max_code,q5=k0.stat_desc.static_tree,M5=k0.stat_desc.has_stree,X5=k0.stat_desc.extra_bits,I6=k0.stat_desc.extra_base,i2=k0.stat_desc.max_length,P1=0;for(N0=0;N0<=E;N0++)W0.bl_count[N0]=0;for(Y2[2*W0.heap[W0.heap_max]+1]=0,L2=W0.heap_max+1;L2>=7;d>>=1)if(1&H0&&K0.dyn_ltree[2*I0]!==0)return Z;if(K0.dyn_ltree[18]!==0||K0.dyn_ltree[20]!==0||K0.dyn_ltree[26]!==0)return J;for(I0=32;I0>>3,(Q0=q.static_len+3+7>>>3)<=d&&(d=Q0)):d=Q0=_+5,_+4<=d&&O!==-1?V(q,O,_,l):q.strategy===4||Q0===d?(o(q,2+(l?1:0),3),g(q,U0,b)):(o(q,4+(l?1:0),3),function(K0,I0,H0,W0){var k0;for(o(K0,I0-257,5),o(K0,H0-1,5),o(K0,W0-4,4),k0=0;k0>>8&255,q.pending_buf[q.d_buf+2*q.last_lit+1]=255&O,q.pending_buf[q.l_buf+q.last_lit]=255&_,q.last_lit++,O===0?q.dyn_ltree[2*_]++:(q.matches++,O--,q.dyn_ltree[2*(T[_]+F+1)]++,q.dyn_dtree[2*y(O)]++),q.last_lit===q.lit_bufsize-1},Q._tr_align=function(q){o(q,2,3),Y0(q,v,U0),function(O){O.bi_valid===16?(n(O,O.bi_buf),O.bi_buf=0,O.bi_valid=0):8<=O.bi_valid&&(O.pending_buf[O.pending++]=255&O.bi_buf,O.bi_buf>>=8,O.bi_valid-=8)}(q)}},{"../utils/common":41}],53:[function(G,Y,Q){Y.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(G,Y,Q){(function(K){(function(Z,J){if(!Z.setImmediate){var M,W,I,F,D=1,w={},P=!1,A=Z.document,E=Object.getPrototypeOf&&Object.getPrototypeOf(Z);E=E&&E.setTimeout?E:Z,M={}.toString.call(Z.process)==="[object process]"?function(S){P0.nextTick(function(){j(S)})}:function(){if(Z.postMessage&&!Z.importScripts){var S=!0,H=Z.onmessage;return Z.onmessage=function(){S=!1},Z.postMessage("","*"),Z.onmessage=H,S}}()?(F="setImmediate$"+Math.random()+"$",Z.addEventListener?Z.addEventListener("message",v,!1):Z.attachEvent("onmessage",v),function(S){Z.postMessage(F+S,"*")}):Z.MessageChannel?((I=new MessageChannel).port1.onmessage=function(S){j(S.data)},function(S){I.port2.postMessage(S)}):A&&("onreadystatechange"in A.createElement("script"))?(W=A.documentElement,function(S){var H=A.createElement("script");H.onreadystatechange=function(){j(S),H.onreadystatechange=null,W.removeChild(H),H=null},W.appendChild(H)}):function(S){setTimeout(j,0,S)},E.setImmediate=function(S){typeof S!="function"&&(S=Function(""+S));for(var H=Array(arguments.length-1),X=0;X"u"?K===void 0?this:K:self)}).call(this,typeof v0<"u"?v0:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})}),kK=R0((B,U)=>{var G={"&":"&",'"':""","'":"'","<":"<",">":">"};function Y(Q){return Q&&Q.replace?Q.replace(/([&"<>'])/g,function(K,Z){return G[Z]}):Q}U.exports=Y}),$K=R0((B,U)=>{P2();var G=kK(),Y=f8().Stream,Q=" ";function K(F,D){if(typeof D!=="object")D={indent:D};var w=D.stream?new Y:null,P="",A=!1,E=!D.indent?"":D.indent===!0?Q:D.indent,C=!0;function j($){if(!C)$();else P0.nextTick($)}function v($,x){if(x!==void 0)P+=x;if($&&!A)w=w||new Y,A=!0;if($&&A){var N=P;j(function(){w.emit("data",N)}),P=""}}function S($,x){W(v,M($,E,E?1:0),x)}function H(){if(w){var $=P;j(function(){w.emit("data",$),w.emit("end"),w.readable=!1,w.emit("close")})}}function X($){var x={version:"1.0",encoding:$.encoding||"UTF-8"};if($.standalone)x.standalone=$.standalone;S({"?xml":{_attr:x}}),P=P.replace("/>","?>")}if(j(function(){C=!1}),D.declaration)X(D.declaration);if(F&&F.forEach)F.forEach(function($,x){var N;if(x+1===F.length)N=H;S($,N)});else S(F,H);if(w)return w.readable=!0,w;return P}function Z(){var F={_elem:M(Array.prototype.slice.call(arguments))};return F.push=function(D){if(!this.append)throw Error("not assigned to a parent!");var w=this,P=this._elem.indent;W(this.append,M(D,P,this._elem.icount+(P?1:0)),function(){w.append(!0)})},F.close=function(D){if(D!==void 0)this.push(D);if(this.end)this.end()},F}function J(F,D){return Array(D||0).join(F||"")}function M(F,D,w){w=w||0;var P=J(D,w),A,E=F,C=!1;if(typeof F==="object"){if(A=Object.keys(F)[0],E=F[A],E&&E._elem)return E._elem.name=A,E._elem.icount=w,E._elem.indent=D,E._elem.indents=P,E._elem.interrupt=E,E._elem}var j=[],v=[],S;function H(X){Object.keys(X).forEach(function($){j.push(I($,X[$]))})}switch(typeof E){case"object":if(E===null)break;if(E._attr)H(E._attr);if(E._cdata)v.push(("/g,"]]]]>")+"]]>");if(E.forEach){if(S=!1,v.push(""),E.forEach(function(X){if(typeof X=="object")if(Object.keys(X)[0]=="_attr")H(X._attr);else v.push(M(X,D,w+1));else v.pop(),S=!0,v.push(G(X))}),!S)v.push("")}break;default:v.push(G(E))}return{name:A,interrupt:C,attributes:j,content:v,icount:w,indents:P,indent:D}}function W(F,D,w){if(typeof D!="object")return F(!1,D);var P=D.interrupt?1:D.content.length;function A(){while(D.content.length){var C=D.content.shift();if(C===void 0)continue;if(E(C))return;W(F,C)}if(F(!1,(P>1?D.indents:"")+(D.name?"":"")+(D.indent&&!w?` +`:"")),w)w()}function E(C){if(C.interrupt)return C.interrupt.append=F,C.interrupt.end=A,C.interrupt=!1,F(!0),!0;return!1}if(F(!1,D.indents+(D.name?"<"+D.name:"")+(D.attributes.length?" "+D.attributes.join(" "):"")+(P?D.name?">":"":D.name?"/>":"")+(D.indent&&P>1?` +`:"")),!P)return F(!1,D.indent?` +`:"");if(!E(D))A()}function I(F,D){return F+'="'+G(D)+'"'}U.exports=K,U.exports.element=U.exports.Element=Z}),SK=f8(),h2=C8(CK(),1),w0=C8($K(),1),o2=0,X8=32,bK=32,vK=(B,U)=>{let G=U.replace(/-/g,"");if(G.length!==bK)throw Error(`Error: Cannot extract GUID from font filename: ${U}`);let Y=G.replace(/(..)/g,"$1 ").trim().split(" ").map((Z)=>parseInt(Z,16));Y.reverse();let Q=B.slice(o2,X8).map((Z,J)=>Z^Y[J%Y.length]),K=new Uint8Array(o2+Q.length+Math.max(0,B.length-X8));return K.set(B.slice(0,o2)),K.set(Q,o2),K.set(B.slice(X8),o2+Q.length),K},q6=class{format(B,U={stack:[]}){let G=B.prepForXml(U);if(G)return G;else throw Error("XMLComponent did not format correctly")}},U5=class{replace(B,U,G){let Y=B;return U.forEach((Q,K)=>{Y=Y.replace(new RegExp(`{${Q.fileName}}`,"g"),(G+K).toString())}),Y}getMediaData(B,U){return U.Array.filter((G)=>B.search(`{${G.fileName}}`)>0)}},yK=class{replace(B,U){let G=B;for(let Y of U)G=G.replace(new RegExp(`{${Y.reference}-${Y.instance}}`,"g"),Y.numId.toString());return G}},gK=class{constructor(){e(this,"formatter",void 0),e(this,"imageReplacer",void 0),e(this,"numberingReplacer",void 0),this.formatter=new q6,this.imageReplacer=new U5,this.numberingReplacer=new yK}compile(B,U,G=[]){let Y=new h2.default,Q=this.xmlifyFile(B,U),K=new Map(Object.entries(Q));for(let[,Z]of K)if(Array.isArray(Z))for(let J of Z)Y.file(J.path,U1(J.data));else Y.file(Z.path,U1(Z.data));for(let Z of G)Y.file(Z.path,U1(Z.data));for(let Z of B.Media.Array)if(Z.type!=="svg")Y.file(`word/media/${Z.fileName}`,Z.data);else Y.file(`word/media/${Z.fileName}`,Z.data),Y.file(`word/media/${Z.fallback.fileName}`,Z.fallback.data);for(let[Z,{data:J,fontKey:M}]of B.FontTable.fontOptionsWithKey.entries())Y.file(`word/fonts/font${Z+1}.odttf`,vK(J,M));return Y}xmlifyFile(B,U){let G=B.Document.Relationships.RelationshipCount+1,Y=(0,w0.default)(this.formatter.format(B.Document.View,{viewWrapper:B.Document,file:B,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),Q=B.Comments.Relationships.RelationshipCount+1,K=(0,w0.default)(this.formatter.format(B.Comments,{viewWrapper:{View:B.Comments,Relationships:B.Comments.Relationships},file:B,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),Z=B.FootNotes.Relationships.RelationshipCount+1,J=(0,w0.default)(this.formatter.format(B.FootNotes.View,{viewWrapper:B.FootNotes,file:B,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),M=this.imageReplacer.getMediaData(Y,B.Media),W=this.imageReplacer.getMediaData(K,B.Media),I=this.imageReplacer.getMediaData(J,B.Media);return L0(L0({Relationships:{data:(()=>{return M.forEach((F,D)=>{B.Document.Relationships.addRelationship(G+D,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${F.fileName}`)}),B.Document.Relationships.addRelationship(B.Document.Relationships.RelationshipCount+1,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable","fontTable.xml"),(0,w0.default)(this.formatter.format(B.Document.Relationships,{viewWrapper:B.Document,file:B,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}})})(),path:"word/_rels/document.xml.rels"},Document:{data:(()=>{let F=this.imageReplacer.replace(Y,M,G);return this.numberingReplacer.replace(F,B.Numbering.ConcreteNumbering)})(),path:"word/document.xml"},Styles:{data:(()=>{let F=(0,w0.default)(this.formatter.format(B.Styles,{viewWrapper:B.Document,file:B,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}});return this.numberingReplacer.replace(F,B.Numbering.ConcreteNumbering)})(),path:"word/styles.xml"},Properties:{data:(0,w0.default)(this.formatter.format(B.CoreProperties,{viewWrapper:B.Document,file:B,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),path:"docProps/core.xml"},Numbering:{data:(0,w0.default)(this.formatter.format(B.Numbering,{viewWrapper:B.Document,file:B,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),path:"word/numbering.xml"},FileRelationships:{data:(0,w0.default)(this.formatter.format(B.FileRelationships,{viewWrapper:B.Document,file:B,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),path:"_rels/.rels"},HeaderRelationships:B.Headers.map((F,D)=>{let w=(0,w0.default)(this.formatter.format(F.View,{viewWrapper:F,file:B,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}});return this.imageReplacer.getMediaData(w,B.Media).forEach((P,A)=>{F.Relationships.addRelationship(A,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${P.fileName}`)}),{data:(0,w0.default)(this.formatter.format(F.Relationships,{viewWrapper:F,file:B,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),path:`word/_rels/header${D+1}.xml.rels`}}),FooterRelationships:B.Footers.map((F,D)=>{let w=(0,w0.default)(this.formatter.format(F.View,{viewWrapper:F,file:B,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}});return this.imageReplacer.getMediaData(w,B.Media).forEach((P,A)=>{F.Relationships.addRelationship(A,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${P.fileName}`)}),{data:(0,w0.default)(this.formatter.format(F.Relationships,{viewWrapper:F,file:B,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),path:`word/_rels/footer${D+1}.xml.rels`}}),Headers:B.Headers.map((F,D)=>{let w=(0,w0.default)(this.formatter.format(F.View,{viewWrapper:F,file:B,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),P=this.imageReplacer.getMediaData(w,B.Media),A=this.imageReplacer.replace(w,P,0);return{data:this.numberingReplacer.replace(A,B.Numbering.ConcreteNumbering),path:`word/header${D+1}.xml`}}),Footers:B.Footers.map((F,D)=>{let w=(0,w0.default)(this.formatter.format(F.View,{viewWrapper:F,file:B,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),P=this.imageReplacer.getMediaData(w,B.Media),A=this.imageReplacer.replace(w,P,0);return{data:this.numberingReplacer.replace(A,B.Numbering.ConcreteNumbering),path:`word/footer${D+1}.xml`}}),ContentTypes:{data:(0,w0.default)(this.formatter.format(B.ContentTypes,{viewWrapper:B.Document,file:B,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),path:"[Content_Types].xml"},CustomProperties:{data:(0,w0.default)(this.formatter.format(B.CustomProperties,{viewWrapper:B.Document,file:B,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),path:"docProps/custom.xml"},AppProperties:{data:(0,w0.default)(this.formatter.format(B.AppProperties,{viewWrapper:B.Document,file:B,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),path:"docProps/app.xml"},FootNotes:{data:(()=>{let F=this.imageReplacer.replace(J,I,Z);return this.numberingReplacer.replace(F,B.Numbering.ConcreteNumbering)})(),path:"word/footnotes.xml"},FootNotesRelationships:{data:(()=>{return I.forEach((F,D)=>{B.FootNotes.Relationships.addRelationship(Z+D,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${F.fileName}`)}),(0,w0.default)(this.formatter.format(B.FootNotes.Relationships,{viewWrapper:B.FootNotes,file:B,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}})})(),path:"word/_rels/footnotes.xml.rels"},Endnotes:{data:(0,w0.default)(this.formatter.format(B.Endnotes.View,{viewWrapper:B.Endnotes,file:B,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),path:"word/endnotes.xml"},EndnotesRelationships:{data:(0,w0.default)(this.formatter.format(B.Endnotes.Relationships,{viewWrapper:B.Endnotes,file:B,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),path:"word/_rels/endnotes.xml.rels"},Settings:{data:(0,w0.default)(this.formatter.format(B.Settings,{viewWrapper:B.Document,file:B,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),path:"word/settings.xml"},Comments:{data:(()=>{let F=this.imageReplacer.replace(K,W,Q);return this.numberingReplacer.replace(F,B.Numbering.ConcreteNumbering)})(),path:"word/comments.xml"},CommentsRelationships:{data:(()=>{return W.forEach((F,D)=>{B.Comments.Relationships.addRelationship(Q+D,"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",`media/${F.fileName}`)}),(0,w0.default)(this.formatter.format(B.Comments.Relationships,{viewWrapper:{View:B.Comments,Relationships:B.Comments.Relationships},file:B,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}})})(),path:"word/_rels/comments.xml.rels"}},B.CommentsExtended?{CommentsExtended:{data:(0,w0.default)(this.formatter.format(B.CommentsExtended,{viewWrapper:{View:B.CommentsExtended,Relationships:B.Comments.Relationships},file:B,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),path:"word/commentsExtended.xml"}}:{}),{},{FontTable:{data:(0,w0.default)(this.formatter.format(B.FontTable.View,{viewWrapper:B.Document,file:B,stack:[]}),{indent:U,declaration:{standalone:"yes",encoding:"UTF-8"}}),path:"word/fontTable.xml"},FontTableRelationships:{data:(0,w0.default)(this.formatter.format(B.FontTable.Relationships,{viewWrapper:B.Document,file:B,stack:[]}),{indent:U,declaration:{encoding:"UTF-8"}}),path:"word/_rels/fontTable.xml.rels"}})}};function t6(B,U,G,Y,Q,K,Z){try{var J=B[K](Z),M=J.value}catch(W){G(W);return}J.done?U(M):Promise.resolve(M).then(Y,Q)}function M6(B){return function(){var U=this,G=arguments;return new Promise(function(Y,Q){var K=B.apply(U,G);function Z(M){t6(K,Y,Q,Z,J,"next",M)}function J(M){t6(K,Y,Q,Z,J,"throw",M)}Z(void 0)})}}var G5={NONE:"",WITH_2_BLANKS:" ",WITH_4_BLANKS:" ",WITH_TAB:"\t"},e6=(B)=>B===!0?G5.WITH_2_BLANKS:B===!1?void 0:B,Y5=class B{static pack(U,G,Y){var Q=this;return M6(function*(K,Z,J,M=[]){return Q.compiler.compile(K,e6(J),M).generateAsync({type:Z,mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",compression:"DEFLATE"})}).apply(this,arguments)}static toString(U,G,Y=[]){return B.pack(U,"string",G,Y)}static toBuffer(U,G,Y=[]){return B.pack(U,"nodebuffer",G,Y)}static toBase64String(U,G,Y=[]){return B.pack(U,"base64",G,Y)}static toBlob(U,G,Y=[]){return B.pack(U,"blob",G,Y)}static toArrayBuffer(U,G,Y=[]){return B.pack(U,"arraybuffer",G,Y)}static toStream(U,G,Y=[]){let Q=new SK.Stream;return this.compiler.compile(U,e6(G),Y).generateAsync({type:"nodebuffer",mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",compression:"DEFLATE"}).then((K)=>{Q.emit("data",K),Q.emit("end")}),Q}};e(Y5,"compiler",new gK);var fK=new q6,l1=(B)=>{return(0,_1.xml2js)(B,{compact:!1,captureSpacesBetweenElements:!0})},Z5=(B)=>{var U;return(U=l1((0,w0.default)(fK.format(new Z1({text:B})))).elements[0].elements)!==null&&U!==void 0?U:[]},Q5=(B)=>L0(L0({},B),{},{attributes:{"xml:space":"preserve"}}),X6=(B,U)=>{var G,Y;return(G=(Y=B.elements)===null||Y===void 0?void 0:Y.filter((Q)=>Q.name===U)[0].elements)!==null&&G!==void 0?G:[]},g2=(B,U,G)=>{let Y=X6(B,"Types");if(Y.some((Q)=>{var K,Z;return Q.type==="element"&&Q.name==="Default"&&(Q===null||Q===void 0||(K=Q.attributes)===null||K===void 0?void 0:K.ContentType)===U&&(Q===null||Q===void 0||(Z=Q.attributes)===null||Z===void 0?void 0:Z.Extension)===G}))return;Y.push({attributes:{ContentType:U,Extension:G},name:"Default",type:"element"})},xK=(B)=>{let U=parseInt(B.substring(3),10);return isNaN(U)?0:U},_K=(B)=>{return X6(B,"Relationships").map((U)=>{var G,Y;return xK((G=(Y=U.attributes)===null||Y===void 0||(Y=Y.Id)===null||Y===void 0?void 0:Y.toString())!==null&&G!==void 0?G:"")}).reduce((U,G)=>Math.max(U,G),0)+1},BB=(B,U,G,Y,Q)=>{let K=X6(B,"Relationships");return K.push({attributes:{Id:`rId${U}`,Type:G,Target:Y,TargetMode:Q},name:"Relationship",type:"element"}),K},hK=class extends Error{constructor(B){super(`Token ${B} not found`);this.name="TokenNotFoundError"}},uK=(B,U)=>{var G;for(let Z=0;Z<((G=B.elements)!==null&&G!==void 0?G:[]).length;Z++){let J=B.elements[Z];if(J.type==="element"&&J.name==="w:r"){var Y;let M=((Y=J.elements)!==null&&Y!==void 0?Y:[]).filter((W)=>W.type==="element"&&W.name==="w:t");for(let W of M){var Q,K;if(!((Q=W.elements)===null||Q===void 0?void 0:Q[0]))continue;if((K=W.elements[0].text)===null||K===void 0?void 0:K.includes(U))return Z}}}throw new hK(U)},dK=(B,U)=>{var G,Y;let Q=-1,K=(G=(Y=B.elements)===null||Y===void 0?void 0:Y.map((Z,J)=>{if(Q!==-1)return Z;if(Z.type==="element"&&Z.name==="w:t"){var M,W;let I=((M=(W=Z.elements)===null||W===void 0||(W=W[0])===null||W===void 0?void 0:W.text)!==null&&M!==void 0?M:"").split(U),F=I.map((D)=>L0(L0(L0({},Z),Q5(Z)),{},{elements:Z5(D)}));if(I.length>1)Q=J;return F}else return Z}).flat())!==null&&G!==void 0?G:[];return{left:L0(L0({},JSON.parse(JSON.stringify(B))),{},{elements:K.slice(0,Q+1)}),right:L0(L0({},JSON.parse(JSON.stringify(B))),{},{elements:K.slice(Q+1)})}},t2={START:0,MIDDLE:1,END:2},cK=({paragraphElement:B,renderedParagraph:U,originalText:G,replacementText:Y})=>{let Q=U.text.indexOf(G),K=Q+G.length-1,Z=t2.START;for(let J of U.runs)for(let{text:M,index:W,start:I,end:F}of J.parts)switch(Z){case t2.START:if(Q>=I&&Q<=F){let D=Q-I,w=Math.min(K,F)-I,P=J.text.substring(D,w+1);if(P==="")continue;let A=M.replace(P,Y);R8(B.elements[J.index].elements[W],A),Z=t2.MIDDLE;continue}break;case t2.MIDDLE:if(K<=F){let D=M.substring(K-I+1);R8(B.elements[J.index].elements[W],D);let w=B.elements[J.index].elements[W];B.elements[J.index].elements[W]=Q5(w),Z=t2.END}else R8(B.elements[J.index].elements[W],"");break;default:}return B},R8=(B,U)=>{return B.elements=Z5(U),B},mK=(B)=>{if(B.element.name!=="w:p")throw Error(`Invalid node type: ${B.element.name}`);if(!B.element.elements)return{text:"",runs:[],index:-1,pathToParagraph:[]};let U=0,G=B.element.elements.map((Y,Q)=>({element:Y,i:Q})).filter(({element:Y})=>Y.name==="w:r").map(({element:Y,i:Q})=>{let K=lK(Y,Q,U);return U+=K.text.length,K}).filter((Y)=>!!Y);return{text:G.reduce((Y,Q)=>Y+Q.text,""),runs:G,index:B.index,pathToParagraph:J5(B)}},lK=(B,U,G)=>{if(!B.elements)return{text:"",parts:[],index:-1,start:G,end:G};let Y=G,Q=B.elements.map((K,Z)=>{var J,M;return K.name==="w:t"&&K.elements&&K.elements.length>0?{text:(J=(M=K.elements[0].text)===null||M===void 0?void 0:M.toString())!==null&&J!==void 0?J:"",index:Z,start:Y,end:(()=>{var W,I;return Y+=((W=(I=K.elements[0].text)===null||I===void 0?void 0:I.toString())!==null&&W!==void 0?W:"").length-1,Y})()}:void 0}).filter((K)=>!!K).map((K)=>K);return{text:Q.reduce((K,Z)=>K+Z.text,""),parts:Q,index:U,start:G,end:Y}},J5=(B)=>B.parent?[...J5(B.parent),B.index]:[B.index],UB=(B)=>{var U,G;return(U=(G=B.element.elements)===null||G===void 0?void 0:G.map((Y,Q)=>({element:Y,index:Q,parent:B})))!==null&&U!==void 0?U:[]},K5=(B)=>{let U=[],G=[...UB({element:B,index:0,parent:void 0})],Y;while(G.length>0){if(Y=G.shift(),Y.element.name==="w:p")U=[...U,mK(Y)];G.push(...UB(Y))}return U},aK=(B,U)=>K5(B).filter((G)=>G.text.includes(U)),pK=new q6,L8="ɵ",rK=({json:B,patch:U,patchText:G,context:Y,keepOriginalStyles:Q=!0})=>{let K=aK(B,G);if(K.length===0)return{element:B,didFindOccurrence:!1};for(let Z of K){let J=U.children.map((M)=>l1((0,w0.default)(pK.format(M,Y)))).map((M)=>M.elements[0]);switch(U.type){case D8.DOCUMENT:{let M=iK(B,Z.pathToParagraph),W=nK(Z.pathToParagraph);M.elements.splice(W,1,...J);break}case D8.PARAGRAPH:default:{let M=V5(B,Z.pathToParagraph);cK({paragraphElement:M,renderedParagraph:Z,originalText:G,replacementText:L8});let W=uK(M,L8),I=M.elements[W],{left:F,right:D}=dK(I,L8),w=J,P=D;if(Q){let A=I.elements.filter((E)=>E.type==="element"&&E.name==="w:rPr");w=J.map((E)=>{var C;return L0(L0({},E),{},{elements:[...A,...(C=E.elements)!==null&&C!==void 0?C:[]]})}),P=L0(L0({},D),{},{elements:[...A,...D.elements]})}M.elements.splice(W,1,F,...w,P);break}}}return{element:B,didFindOccurrence:!0}},V5=(B,U)=>{let G=B;for(let Y=1;YV5(B,U.slice(0,U.length-1)),nK=(B)=>B[B.length-1],D8={DOCUMENT:"file",PARAGRAPH:"paragraph"},GB=new U5,sK=new Uint8Array([255,254]),oK=new Uint8Array([254,255]),YB=(B,U)=>{if(B.length!==U.length)return!1;for(let G=0;GN.name==="w:document");if(x&&x.attributes){for(let N of["mc","wp","r","w15","m"])x.attributes[`xmlns:${N}`]=v1[N];x.attributes["mc:Ignorable"]=`${x.attributes["mc:Ignorable"]||""} w15`.trim()}}if(v.startsWith("word/")&&!v.endsWith(".xml.rels")){let x={file:W,viewWrapper:{Relationships:{addRelationship:(b,c,T,m)=>{D.push({key:v,hyperlink:{id:b,link:T}})}}},stack:[]};if(M.set(v,x),!(K===null||K===void 0?void 0:K.start.trim())||!(K===null||K===void 0?void 0:K.end.trim()))throw Error("Both start and end delimiters must be non-empty strings.");let{start:N,end:a}=K;for(let[b,c]of Object.entries(Y)){let T=`${N}${b}${a}`;while(!0){let{didFindOccurrence:m}=rK({json:$,patch:L0(L0({},c),{},{children:c.children.map((B0)=>{if(B0 instanceof o8){let i=new m2(B0.options.children,O1());return D.push({key:v,hyperlink:{id:i.linkId,link:B0.options.link}}),i}else return B0})}),patchText:T,context:x,keepOriginalStyles:Q});if(!Z||!m)break}}let U0=GB.getMediaData(JSON.stringify($),x.file.Media);if(U0.length>0)w=!0,F.push({key:v,mediaDatas:U0})}I.set(v,$)}for(let{key:v,mediaDatas:S}of F){var E;let H=`word/_rels/${v.split("/").pop()}.rels`,X=(E=I.get(H))!==null&&E!==void 0?E:ZB();I.set(H,X);let $=_K(X),x=GB.replace(JSON.stringify(I.get(v)),S,$);I.set(v,JSON.parse(x));for(let N=0;N{return(0,_1.js2xml)(B,{attributeValueFn:(U)=>String(U).replace(/&(?!amp;|lt;|gt;|quot;|apos;)/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")})},ZB=()=>({declaration:{attributes:{version:"1.0",encoding:"UTF-8",standalone:"yes"}},elements:[{type:"element",name:"Relationships",attributes:{xmlns:"http://schemas.openxmlformats.org/package/2006/relationships"},elements:[]}]}),B7=function(){var B=M6(function*({data:U}){let G=U instanceof h2.default?U:yield h2.default.loadAsync(U),Y=new Set;for(let[Q,K]of Object.entries(G.files)){if(!Q.endsWith(".xml")&&!Q.endsWith(".rels"))continue;if(Q.startsWith("word/")&&!Q.endsWith(".xml.rels"))K5(l1(yield K.async("text"))).forEach((Z)=>U7(Z.text).forEach((J)=>Y.add(J)))}return Array.from(Y)});return function(G){return B.apply(this,arguments)}}(),U7=(B)=>{var U;let G=new RegExp("(?<=\\{\\{).+?(?=\\}\\})","gs");return(U=B.match(G))!==null&&U!==void 0?U:[]};if(typeof globalThis.Buffer>"u")globalThis.Buffer=J0;if(typeof globalThis.process>"u")globalThis.process=G7;globalThis.__bundles=globalThis.__bundles||{};globalThis.__bundles.docx=R6;})(); diff --git a/apps/sim/lib/execution/sandbox/bundles/pptxgenjs.cjs b/apps/sim/lib/execution/sandbox/bundles/pptxgenjs.cjs index e94399f1d4a..2de5cfcc238 100644 --- a/apps/sim/lib/execution/sandbox/bundles/pptxgenjs.cjs +++ b/apps/sim/lib/execution/sandbox/bundles/pptxgenjs.cjs @@ -1,35 +1,35 @@ // sandbox bundle: pptxgenjs // generated by apps/sim/lib/execution/sandbox/bundles/build.ts // do not edit by hand. run `bun run build:sandbox-bundles` to regenerate. -(()=>{var vJ=Object.create;var{getPrototypeOf:fJ,defineProperty:X6,getOwnPropertyNames:$9,getOwnPropertyDescriptor:RJ}=Object,Q9=Object.prototype.hasOwnProperty;var q9=($,q,Q)=>{Q=$!=null?vJ(fJ($)):{};let K=q||!$||!$.__esModule?X6(Q,"default",{value:$,enumerable:!0}):Q;for(let J of $9($))if(!Q9.call(K,J))X6(K,J,{get:()=>$[J],enumerable:!0});return K},e7=new WeakMap,X0=($)=>{var q=e7.get($),Q;if(q)return q;if(q=X6({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function")$9($).map((K)=>!Q9.call(q,K)&&X6(q,K,{get:()=>$[K],enumerable:!(Q=RJ($,K))||Q.enumerable}));return e7.set($,q),q},N0=($,q)=>()=>(q||$((q={exports:{}}).exports,q),q.exports);var c1=($,q)=>{for(var Q in q)X6($,Q,{get:q[Q],enumerable:!0,configurable:!0,set:(K)=>q[Q]=()=>K})};var b1=($,q)=>()=>($&&(q=$($=0)),q);var K9=(($)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy($,{get:(q,Q)=>(typeof require<"u"?require:q)[Q]}):$)(function($){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+$+'" is not supported')});var K2={};c1(K2,{transcode:()=>GV,resolveObjectURL:()=>VV,kStringMaxLength:()=>M9,kMaxLength:()=>y6,isUtf8:()=>UV,isAscii:()=>ZV,default:()=>WV,constants:()=>OJ,btoa:()=>XJ,atob:()=>yJ,INSPECT_MAX_BYTES:()=>F9,File:()=>hJ,Buffer:()=>o,Blob:()=>xJ});function IJ($){var q=$.length;if(q%4>0)throw Error("Invalid string. Length must be a multiple of 4");var Q=$.indexOf("=");if(Q===-1)Q=q;var K=Q===q?0:4-Q%4;return[Q,K]}function CJ($,q){return($+q)*3/4-q}function jJ($){var q,Q=IJ($),K=Q[0],J=Q[1],Z=new Uint8Array(CJ(K,J)),G=0,W=J>0?K-4:K,B;for(B=0;B>16&255,Z[G++]=q>>8&255,Z[G++]=q&255;if(J===2)q=F2[$.charCodeAt(B)]<<2|F2[$.charCodeAt(B+1)]>>4,Z[G++]=q&255;if(J===1)q=F2[$.charCodeAt(B)]<<10|F2[$.charCodeAt(B+1)]<<4|F2[$.charCodeAt(B+2)]>>2,Z[G++]=q>>8&255,Z[G++]=q&255;return Z}function gJ($){return I2[$>>18&63]+I2[$>>12&63]+I2[$>>6&63]+I2[$&63]}function AJ($,q,Q){var K,J=[];for(var Z=q;ZW?W:G+Z));if(K===1)q=$[Q-1],J.push(I2[q>>2]+I2[q<<4&63]+"==");else if(K===2)q=($[Q-2]<<8)+$[Q-1],J.push(I2[q>>10]+I2[q>>4&63]+I2[q<<2&63]+"=");return J.join("")}function N8($,q,Q,K,J){var Z,G,W=J*8-K-1,B=(1<>1,U=-7,w=Q?J-1:0,F=Q?-1:1,M=$[q+w];w+=F,Z=M&(1<<-U)-1,M>>=-U,U+=W;for(;U>0;Z=Z*256+$[q+w],w+=F,U-=8);G=Z&(1<<-U)-1,Z>>=-U,U+=K;for(;U>0;G=G*256+$[q+w],w+=F,U-=8);if(Z===0)Z=1-V;else if(Z===B)return G?NaN:(M?-1:1)*(1/0);else G=G+Math.pow(2,K),Z=Z-V;return(M?-1:1)*G*Math.pow(2,Z-K)}function z9($,q,Q,K,J,Z){var G,W,B,V=Z*8-J-1,U=(1<>1,F=J===23?Math.pow(2,-24)-Math.pow(2,-77):0,M=K?0:Z-1,k=K?1:-1,f=q<0||q===0&&1/q<0?1:0;if(q=Math.abs(q),isNaN(q)||q===1/0)W=isNaN(q)?1:0,G=U;else{if(G=Math.floor(Math.log(q)/Math.LN2),q*(B=Math.pow(2,-G))<1)G--,B*=2;if(G+w>=1)q+=F/B;else q+=F*Math.pow(2,1-w);if(q*B>=2)G++,B/=2;if(G+w>=U)W=0,G=U;else if(G+w>=1)W=(q*B-1)*Math.pow(2,J),G=G+w;else W=q*Math.pow(2,w-1)*Math.pow(2,J),G=0}for(;J>=8;$[Q+M]=W&255,M+=k,W/=256,J-=8);G=G<0;$[Q+M]=G&255,M+=k,G/=256,V-=8);$[Q+M-k]|=f*128}function S2($){if($>y6)throw RangeError('The value "'+$+'" is invalid for option "size"');let q=new Uint8Array($);return Object.setPrototypeOf(q,o.prototype),q}function h5($,q,Q){return class extends Q{constructor(){super();Object.defineProperty(this,"message",{value:q.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${$}]`,this.stack,delete this.name}get code(){return $}set code(K){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:K,writable:!0})}toString(){return`${this.name} [${$}]: ${this.message}`}}}function o($,q,Q){if(typeof $==="number"){if(typeof q==="string")throw TypeError('The "string" argument must be of type string. Received type number');return x5($)}return w9($,q,Q)}function w9($,q,Q){if(typeof $==="string")return SJ($,q);if(ArrayBuffer.isView($))return EJ($);if($==null)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof $);if(C2($,ArrayBuffer)||$&&C2($.buffer,ArrayBuffer))return X5($,q,Q);if(typeof SharedArrayBuffer<"u"&&(C2($,SharedArrayBuffer)||$&&C2($.buffer,SharedArrayBuffer)))return X5($,q,Q);if(typeof $==="number")throw TypeError('The "value" argument must not be of type number. Received type number');let K=$.valueOf&&$.valueOf();if(K!=null&&K!==$)return o.from(K,q,Q);let J=_J($);if(J)return J;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof $[Symbol.toPrimitive]==="function")return o.from($[Symbol.toPrimitive]("string"),q,Q);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof $)}function N9($){if(typeof $!=="number")throw TypeError('"size" argument must be of type number');else if($<0)throw RangeError('The value "'+$+'" is invalid for option "size"')}function uJ($,q,Q){if(N9($),$<=0)return S2($);if(q!==void 0)return typeof Q==="string"?S2($).fill(q,Q):S2($).fill(q);return S2($)}function x5($){return N9($),S2($<0?0:O5($)|0)}function SJ($,q){if(typeof q!=="string"||q==="")q="utf8";if(!o.isEncoding(q))throw TypeError("Unknown encoding: "+q);let Q=Y9($,q)|0,K=S2(Q),J=K.write($,q);if(J!==Q)K=K.slice(0,J);return K}function A5($){let q=$.length<0?0:O5($.length)|0,Q=S2(q);for(let K=0;K=y6)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+y6.toString(16)+" bytes");return $|0}function Y9($,q){if(o.isBuffer($))return $.length;if(ArrayBuffer.isView($)||C2($,ArrayBuffer))return $.byteLength;if(typeof $!=="string")throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof $);let Q=$.length,K=arguments.length>2&&arguments[2]===!0;if(!K&&Q===0)return 0;let J=!1;for(;;)switch(q){case"ascii":case"latin1":case"binary":return Q;case"utf8":case"utf-8":return y5($).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Q*2;case"hex":return Q>>>1;case"base64":return C9($).length;default:if(J)return K?-1:y5($).length;q=(""+q).toLowerCase(),J=!0}}function cJ($,q,Q){let K=!1;if(q===void 0||q<0)q=0;if(q>this.length)return"";if(Q===void 0||Q>this.length)Q=this.length;if(Q<=0)return"";if(Q>>>=0,q>>>=0,Q<=q)return"";if(!$)$="utf8";while(!0)switch($){case"hex":return rJ(this,q,Q);case"utf8":case"utf-8":return D9(this,q,Q);case"ascii":return aJ(this,q,Q);case"latin1":case"binary":return lJ(this,q,Q);case"base64":return iJ(this,q,Q);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return sJ(this,q,Q);default:if(K)throw TypeError("Unknown encoding: "+$);$=($+"").toLowerCase(),K=!0}}function w1($,q,Q){let K=$[q];$[q]=$[Q],$[Q]=K}function k9($,q,Q,K,J){if($.length===0)return-1;if(typeof Q==="string")K=Q,Q=0;else if(Q>2147483647)Q=2147483647;else if(Q<-2147483648)Q=-2147483648;if(Q=+Q,Number.isNaN(Q))Q=J?0:$.length-1;if(Q<0)Q=$.length+Q;if(Q>=$.length)if(J)return-1;else Q=$.length-1;else if(Q<0)if(J)Q=0;else return-1;if(typeof q==="string")q=o.from(q,K);if(o.isBuffer(q)){if(q.length===0)return-1;return G9($,q,Q,K,J)}else if(typeof q==="number"){if(q=q&255,typeof Uint8Array.prototype.indexOf==="function")if(J)return Uint8Array.prototype.indexOf.call($,q,Q);else return Uint8Array.prototype.lastIndexOf.call($,q,Q);return G9($,[q],Q,K,J)}throw TypeError("val must be string, number or Buffer")}function G9($,q,Q,K,J){let Z=1,G=$.length,W=q.length;if(K!==void 0){if(K=String(K).toLowerCase(),K==="ucs2"||K==="ucs-2"||K==="utf16le"||K==="utf-16le"){if($.length<2||q.length<2)return-1;Z=2,G/=2,W/=2,Q/=2}}function B(U,w){if(Z===1)return U[w];else return U.readUInt16BE(w*Z)}let V;if(J){let U=-1;for(V=Q;VG)Q=G-W;for(V=Q;V>=0;V--){let U=!0;for(let w=0;wJ)K=J;let Z=q.length;if(K>Z/2)K=Z/2;let G;for(G=0;G239?4:Z>223?3:Z>191?2:1;if(J+W<=Q){let B,V,U,w;switch(W){case 1:if(Z<128)G=Z;break;case 2:if(B=$[J+1],(B&192)===128){if(w=(Z&31)<<6|B&63,w>127)G=w}break;case 3:if(B=$[J+1],V=$[J+2],(B&192)===128&&(V&192)===128){if(w=(Z&15)<<12|(B&63)<<6|V&63,w>2047&&(w<55296||w>57343))G=w}break;case 4:if(B=$[J+1],V=$[J+2],U=$[J+3],(B&192)===128&&(V&192)===128&&(U&192)===128){if(w=(Z&15)<<18|(B&63)<<12|(V&63)<<6|U&63,w>65535&&w<1114112)G=w}}}if(G===null)G=65533,W=1;else if(G>65535)G-=65536,K.push(G>>>10&1023|55296),G=56320|G&1023;K.push(G),J+=W}return oJ(K)}function oJ($){let q=$.length;if(q<=W9)return String.fromCharCode.apply(String,$);let Q="",K=0;while(KK)Q=K;let J="";for(let Z=q;ZQ)throw RangeError("Trying to access beyond buffer length")}function s0($,q,Q,K,J,Z){if(!o.isBuffer($))throw TypeError('"buffer" argument must be a Buffer instance');if(q>J||q$.length)throw RangeError("Index out of range")}function L9($,q,Q,K,J){I9(q,K,J,$,Q,7);let Z=Number(q&BigInt(4294967295));$[Q++]=Z,Z=Z>>8,$[Q++]=Z,Z=Z>>8,$[Q++]=Z,Z=Z>>8,$[Q++]=Z;let G=Number(q>>BigInt(32)&BigInt(4294967295));return $[Q++]=G,G=G>>8,$[Q++]=G,G=G>>8,$[Q++]=G,G=G>>8,$[Q++]=G,Q}function H9($,q,Q,K,J){I9(q,K,J,$,Q,7);let Z=Number(q&BigInt(4294967295));$[Q+7]=Z,Z=Z>>8,$[Q+6]=Z,Z=Z>>8,$[Q+5]=Z,Z=Z>>8,$[Q+4]=Z;let G=Number(q>>BigInt(32)&BigInt(4294967295));return $[Q+3]=G,G=G>>8,$[Q+2]=G,G=G>>8,$[Q+1]=G,G=G>>8,$[Q]=G,Q+8}function v9($,q,Q,K,J,Z){if(Q+K>$.length)throw RangeError("Index out of range");if(Q<0)throw RangeError("Index out of range")}function f9($,q,Q,K,J){if(q=+q,Q=Q>>>0,!J)v9($,q,Q,4,340282346638528860000000000000000000000,-340282346638528860000000000000000000000);return z9($,q,Q,K,23,4),Q+4}function R9($,q,Q,K,J){if(q=+q,Q=Q>>>0,!J)v9($,q,Q,8,179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,-179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000);return z9($,q,Q,K,52,8),Q+8}function B9($){let q="",Q=$.length,K=$[0]==="-"?1:0;for(;Q>=K+4;Q-=3)q=`_${$.slice(Q-3,Q)}${q}`;return`${$.slice(0,Q)}${q}`}function tJ($,q,Q){if(n1(q,"offset"),$[q]===void 0||$[q+Q]===void 0)h6(q,$.length-(Q+1))}function I9($,q,Q,K,J,Z){if($>Q||$3)if(q===0||q===BigInt(0))W=`>= 0${G} and < 2${G} ** ${(Z+1)*8}${G}`;else W=`>= -(2${G} ** ${(Z+1)*8-1}${G}) and < 2 ** ${(Z+1)*8-1}${G}`;else W=`>= ${q}${G} and <= ${Q}${G}`;throw new g5("value",W,$)}tJ(K,J,Z)}function n1($,q){if(typeof $!=="number")throw new TJ(q,"number",$)}function h6($,q,Q){if(Math.floor($)!==$)throw n1($,Q),new g5(Q||"offset","an integer",$);if(q<0)throw new PJ;throw new g5(Q||"offset",`>= ${Q?1:0} and <= ${q}`,$)}function $V($){if($=$.split("=")[0],$=$.trim().replace(eJ,""),$.length<2)return"";while($.length%4!==0)$=$+"=";return $}function y5($,q){q=q||1/0;let Q,K=$.length,J=null,Z=[];for(let G=0;G55295&&Q<57344){if(!J){if(Q>56319){if((q-=3)>-1)Z.push(239,191,189);continue}else if(G+1===K){if((q-=3)>-1)Z.push(239,191,189);continue}J=Q;continue}if(Q<56320){if((q-=3)>-1)Z.push(239,191,189);J=Q;continue}Q=(J-55296<<10|Q-56320)+65536}else if(J){if((q-=3)>-1)Z.push(239,191,189)}if(J=null,Q<128){if((q-=1)<0)break;Z.push(Q)}else if(Q<2048){if((q-=2)<0)break;Z.push(Q>>6|192,Q&63|128)}else if(Q<65536){if((q-=3)<0)break;Z.push(Q>>12|224,Q>>6&63|128,Q&63|128)}else if(Q<1114112){if((q-=4)<0)break;Z.push(Q>>18|240,Q>>12&63|128,Q>>6&63|128,Q&63|128)}else throw Error("Invalid code point")}return Z}function QV($){let q=[];for(let Q=0;Q<$.length;++Q)q.push($.charCodeAt(Q)&255);return q}function qV($,q){let Q,K,J,Z=[];for(let G=0;G<$.length;++G){if((q-=2)<0)break;Q=$.charCodeAt(G),K=Q>>8,J=Q%256,Z.push(J),Z.push(K)}return Z}function C9($){return jJ($V($))}function Y8($,q,Q,K){let J;for(J=0;J=q.length||J>=$.length)break;q[J+Q]=$[J]}return J}function C2($,q){return $ instanceof q||$!=null&&$.constructor!=null&&$.constructor.name!=null&&$.constructor.name===q.name}function l2($){return typeof BigInt>"u"?JV:$}function JV(){throw Error("BigInt not supported")}function P5($){return()=>{throw Error($+" is not implemented for node:buffer browser polyfill")}}var I2,F2,j5="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",M1,V9,Z9,F9=50,y6=2147483647,M9=536870888,XJ,yJ,hJ,xJ,OJ,PJ,TJ,g5,W9=4096,eJ,KV,VV,UV,ZV=($)=>{for(let q of $)if(q.charCodeAt(0)>127)return!1;return!0},GV,WV;var t0=b1(()=>{I2=[],F2=[];for(M1=0,V9=j5.length;M14294967296)J=B9(String(Q));else if(typeof Q==="bigint"){if(J=String(Q),Q>BigInt(2)**BigInt(32)||Q<-(BigInt(2)**BigInt(32)))J=B9(J);J+="n"}return K+=` It must be ${q}. Received ${J}`,K},RangeError);Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(!o.isBuffer(this))return;return this.buffer}});Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(!o.isBuffer(this))return;return this.byteOffset}});o.poolSize=8192;o.from=function($,q,Q){return w9($,q,Q)};Object.setPrototypeOf(o.prototype,Uint8Array.prototype);Object.setPrototypeOf(o,Uint8Array);o.alloc=function($,q,Q){return uJ($,q,Q)};o.allocUnsafe=function($){return x5($)};o.allocUnsafeSlow=function($){return x5($)};o.isBuffer=function($){return $!=null&&$._isBuffer===!0&&$!==o.prototype};o.compare=function($,q){if(C2($,Uint8Array))$=o.from($,$.offset,$.byteLength);if(C2(q,Uint8Array))q=o.from(q,q.offset,q.byteLength);if(!o.isBuffer($)||!o.isBuffer(q))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if($===q)return 0;let Q=$.length,K=q.length;for(let J=0,Z=Math.min(Q,K);JK.length){if(!o.isBuffer(Z))Z=o.from(Z);Z.copy(K,J)}else Uint8Array.prototype.set.call(K,Z,J);else if(!o.isBuffer(Z))throw TypeError('"list" argument must be an Array of Buffers');else Z.copy(K,J);J+=Z.length}return K};o.byteLength=Y9;o.prototype._isBuffer=!0;o.prototype.swap16=function(){let $=this.length;if($%2!==0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let q=0;q<$;q+=2)w1(this,q,q+1);return this};o.prototype.swap32=function(){let $=this.length;if($%4!==0)throw RangeError("Buffer size must be a multiple of 32-bits");for(let q=0;q<$;q+=4)w1(this,q,q+3),w1(this,q+1,q+2);return this};o.prototype.swap64=function(){let $=this.length;if($%8!==0)throw RangeError("Buffer size must be a multiple of 64-bits");for(let q=0;q<$;q+=8)w1(this,q,q+7),w1(this,q+1,q+6),w1(this,q+2,q+5),w1(this,q+3,q+4);return this};o.prototype.toString=function(){let $=this.length;if($===0)return"";if(arguments.length===0)return D9(this,0,$);return cJ.apply(this,arguments)};o.prototype.toLocaleString=o.prototype.toString;o.prototype.equals=function($){if(!o.isBuffer($))throw TypeError("Argument must be a Buffer");if(this===$)return!0;return o.compare(this,$)===0};o.prototype.inspect=function(){let $="",q=F9;if($=this.toString("hex",0,q).replace(/(.{2})/g,"$1 ").trim(),this.length>q)$+=" ... ";return""};if(Z9)o.prototype[Z9]=o.prototype.inspect;o.prototype.compare=function($,q,Q,K,J){if(C2($,Uint8Array))$=o.from($,$.offset,$.byteLength);if(!o.isBuffer($))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof $);if(q===void 0)q=0;if(Q===void 0)Q=$?$.length:0;if(K===void 0)K=0;if(J===void 0)J=this.length;if(q<0||Q>$.length||K<0||J>this.length)throw RangeError("out of range index");if(K>=J&&q>=Q)return 0;if(K>=J)return-1;if(q>=Q)return 1;if(q>>>=0,Q>>>=0,K>>>=0,J>>>=0,this===$)return 0;let Z=J-K,G=Q-q,W=Math.min(Z,G),B=this.slice(K,J),V=$.slice(q,Q);for(let U=0;U>>0,isFinite(Q)){if(Q=Q>>>0,K===void 0)K="utf8"}else K=Q,Q=void 0;else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let J=this.length-q;if(Q===void 0||Q>J)Q=J;if($.length>0&&(Q<0||q<0)||q>this.length)throw RangeError("Attempt to write outside buffer bounds");if(!K)K="utf8";let Z=!1;for(;;)switch(K){case"hex":return bJ(this,$,q,Q);case"utf8":case"utf-8":return nJ(this,$,q,Q);case"ascii":case"latin1":case"binary":return dJ(this,$,q,Q);case"base64":return mJ(this,$,q,Q);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return pJ(this,$,q,Q);default:if(Z)throw TypeError("Unknown encoding: "+K);K=(""+K).toLowerCase(),Z=!0}};o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};o.prototype.slice=function($,q){let Q=this.length;if($=~~$,q=q===void 0?Q:~~q,$<0){if($+=Q,$<0)$=0}else if($>Q)$=Q;if(q<0){if(q+=Q,q<0)q=0}else if(q>Q)q=Q;if(q<$)q=$;let K=this.subarray($,q);return Object.setPrototypeOf(K,o.prototype),K};o.prototype.readUintLE=o.prototype.readUIntLE=function($,q,Q){if($=$>>>0,q=q>>>0,!Q)b0($,q,this.length);let K=this[$],J=1,Z=0;while(++Z>>0,q=q>>>0,!Q)b0($,q,this.length);let K=this[$+--q],J=1;while(q>0&&(J*=256))K+=this[$+--q]*J;return K};o.prototype.readUint8=o.prototype.readUInt8=function($,q){if($=$>>>0,!q)b0($,1,this.length);return this[$]};o.prototype.readUint16LE=o.prototype.readUInt16LE=function($,q){if($=$>>>0,!q)b0($,2,this.length);return this[$]|this[$+1]<<8};o.prototype.readUint16BE=o.prototype.readUInt16BE=function($,q){if($=$>>>0,!q)b0($,2,this.length);return this[$]<<8|this[$+1]};o.prototype.readUint32LE=o.prototype.readUInt32LE=function($,q){if($=$>>>0,!q)b0($,4,this.length);return(this[$]|this[$+1]<<8|this[$+2]<<16)+this[$+3]*16777216};o.prototype.readUint32BE=o.prototype.readUInt32BE=function($,q){if($=$>>>0,!q)b0($,4,this.length);return this[$]*16777216+(this[$+1]<<16|this[$+2]<<8|this[$+3])};o.prototype.readBigUInt64LE=l2(function($){$=$>>>0,n1($,"offset");let q=this[$],Q=this[$+7];if(q===void 0||Q===void 0)h6($,this.length-8);let K=q+this[++$]*256+this[++$]*65536+this[++$]*16777216,J=this[++$]+this[++$]*256+this[++$]*65536+Q*16777216;return BigInt(K)+(BigInt(J)<>>0,n1($,"offset");let q=this[$],Q=this[$+7];if(q===void 0||Q===void 0)h6($,this.length-8);let K=q*16777216+this[++$]*65536+this[++$]*256+this[++$],J=this[++$]*16777216+this[++$]*65536+this[++$]*256+Q;return(BigInt(K)<>>0,q=q>>>0,!Q)b0($,q,this.length);let K=this[$],J=1,Z=0;while(++Z=J)K-=Math.pow(2,8*q);return K};o.prototype.readIntBE=function($,q,Q){if($=$>>>0,q=q>>>0,!Q)b0($,q,this.length);let K=q,J=1,Z=this[$+--K];while(K>0&&(J*=256))Z+=this[$+--K]*J;if(J*=128,Z>=J)Z-=Math.pow(2,8*q);return Z};o.prototype.readInt8=function($,q){if($=$>>>0,!q)b0($,1,this.length);if(!(this[$]&128))return this[$];return(255-this[$]+1)*-1};o.prototype.readInt16LE=function($,q){if($=$>>>0,!q)b0($,2,this.length);let Q=this[$]|this[$+1]<<8;return Q&32768?Q|4294901760:Q};o.prototype.readInt16BE=function($,q){if($=$>>>0,!q)b0($,2,this.length);let Q=this[$+1]|this[$]<<8;return Q&32768?Q|4294901760:Q};o.prototype.readInt32LE=function($,q){if($=$>>>0,!q)b0($,4,this.length);return this[$]|this[$+1]<<8|this[$+2]<<16|this[$+3]<<24};o.prototype.readInt32BE=function($,q){if($=$>>>0,!q)b0($,4,this.length);return this[$]<<24|this[$+1]<<16|this[$+2]<<8|this[$+3]};o.prototype.readBigInt64LE=l2(function($){$=$>>>0,n1($,"offset");let q=this[$],Q=this[$+7];if(q===void 0||Q===void 0)h6($,this.length-8);let K=this[$+4]+this[$+5]*256+this[$+6]*65536+(Q<<24);return(BigInt(K)<>>0,n1($,"offset");let q=this[$],Q=this[$+7];if(q===void 0||Q===void 0)h6($,this.length-8);let K=(q<<24)+this[++$]*65536+this[++$]*256+this[++$];return(BigInt(K)<>>0,!q)b0($,4,this.length);return N8(this,$,!0,23,4)};o.prototype.readFloatBE=function($,q){if($=$>>>0,!q)b0($,4,this.length);return N8(this,$,!1,23,4)};o.prototype.readDoubleLE=function($,q){if($=$>>>0,!q)b0($,8,this.length);return N8(this,$,!0,52,8)};o.prototype.readDoubleBE=function($,q){if($=$>>>0,!q)b0($,8,this.length);return N8(this,$,!1,52,8)};o.prototype.writeUintLE=o.prototype.writeUIntLE=function($,q,Q,K){if($=+$,q=q>>>0,Q=Q>>>0,!K){let G=Math.pow(2,8*Q)-1;s0(this,$,q,Q,G,0)}let J=1,Z=0;this[q]=$&255;while(++Z>>0,Q=Q>>>0,!K){let G=Math.pow(2,8*Q)-1;s0(this,$,q,Q,G,0)}let J=Q-1,Z=1;this[q+J]=$&255;while(--J>=0&&(Z*=256))this[q+J]=$/Z&255;return q+Q};o.prototype.writeUint8=o.prototype.writeUInt8=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,1,255,0);return this[q]=$&255,q+1};o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,2,65535,0);return this[q]=$&255,this[q+1]=$>>>8,q+2};o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,2,65535,0);return this[q]=$>>>8,this[q+1]=$&255,q+2};o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,4,4294967295,0);return this[q+3]=$>>>24,this[q+2]=$>>>16,this[q+1]=$>>>8,this[q]=$&255,q+4};o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,4,4294967295,0);return this[q]=$>>>24,this[q+1]=$>>>16,this[q+2]=$>>>8,this[q+3]=$&255,q+4};o.prototype.writeBigUInt64LE=l2(function($,q=0){return L9(this,$,q,BigInt(0),BigInt("0xffffffffffffffff"))});o.prototype.writeBigUInt64BE=l2(function($,q=0){return H9(this,$,q,BigInt(0),BigInt("0xffffffffffffffff"))});o.prototype.writeIntLE=function($,q,Q,K){if($=+$,q=q>>>0,!K){let W=Math.pow(2,8*Q-1);s0(this,$,q,Q,W-1,-W)}let J=0,Z=1,G=0;this[q]=$&255;while(++J>0)-G&255}return q+Q};o.prototype.writeIntBE=function($,q,Q,K){if($=+$,q=q>>>0,!K){let W=Math.pow(2,8*Q-1);s0(this,$,q,Q,W-1,-W)}let J=Q-1,Z=1,G=0;this[q+J]=$&255;while(--J>=0&&(Z*=256)){if($<0&&G===0&&this[q+J+1]!==0)G=1;this[q+J]=($/Z>>0)-G&255}return q+Q};o.prototype.writeInt8=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,1,127,-128);if($<0)$=255+$+1;return this[q]=$&255,q+1};o.prototype.writeInt16LE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,2,32767,-32768);return this[q]=$&255,this[q+1]=$>>>8,q+2};o.prototype.writeInt16BE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,2,32767,-32768);return this[q]=$>>>8,this[q+1]=$&255,q+2};o.prototype.writeInt32LE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,4,2147483647,-2147483648);return this[q]=$&255,this[q+1]=$>>>8,this[q+2]=$>>>16,this[q+3]=$>>>24,q+4};o.prototype.writeInt32BE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,4,2147483647,-2147483648);if($<0)$=4294967295+$+1;return this[q]=$>>>24,this[q+1]=$>>>16,this[q+2]=$>>>8,this[q+3]=$&255,q+4};o.prototype.writeBigInt64LE=l2(function($,q=0){return L9(this,$,q,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});o.prototype.writeBigInt64BE=l2(function($,q=0){return H9(this,$,q,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});o.prototype.writeFloatLE=function($,q,Q){return f9(this,$,q,!0,Q)};o.prototype.writeFloatBE=function($,q,Q){return f9(this,$,q,!1,Q)};o.prototype.writeDoubleLE=function($,q,Q){return R9(this,$,q,!0,Q)};o.prototype.writeDoubleBE=function($,q,Q){return R9(this,$,q,!1,Q)};o.prototype.copy=function($,q,Q,K){if(!o.isBuffer($))throw TypeError("argument should be a Buffer");if(!Q)Q=0;if(!K&&K!==0)K=this.length;if(q>=$.length)q=$.length;if(!q)q=0;if(K>0&&K=this.length)throw RangeError("Index out of range");if(K<0)throw RangeError("sourceEnd out of bounds");if(K>this.length)K=this.length;if($.length-q>>0,Q=Q===void 0?this.length:Q>>>0,!$)$=0;let J;if(typeof $==="number")for(J=q;J{var S0=X9.exports={},j2,g2;function T5(){throw Error("setTimeout has not been defined")}function u5(){throw Error("clearTimeout has not been defined")}(function(){try{if(typeof setTimeout==="function")j2=setTimeout;else j2=T5}catch($){j2=T5}try{if(typeof clearTimeout==="function")g2=clearTimeout;else g2=u5}catch($){g2=u5}})();function j9($){if(j2===setTimeout)return setTimeout($,0);if((j2===T5||!j2)&&setTimeout)return j2=setTimeout,setTimeout($,0);try{return j2($,0)}catch(q){try{return j2.call(null,$,0)}catch(Q){return j2.call(this,$,0)}}}function BV($){if(g2===clearTimeout)return clearTimeout($);if((g2===u5||!g2)&&clearTimeout)return g2=clearTimeout,clearTimeout($);try{return g2($)}catch(q){try{return g2.call(null,$)}catch(Q){return g2.call(this,$)}}}var E2=[],d1=!1,N1,k8=-1;function zV(){if(!d1||!N1)return;if(d1=!1,N1.length)E2=N1.concat(E2);else k8=-1;if(E2.length)g9()}function g9(){if(d1)return;var $=j9(zV);d1=!0;var q=E2.length;while(q){N1=E2,E2=[];while(++k81)for(var Q=1;Qb9,once:()=>_9,listenerCount:()=>n9,init:()=>r2,getMaxListeners:()=>m9,getEventListeners:()=>c9,default:()=>HV,captureRejectionSymbol:()=>T9,addAbortListener:()=>p9,EventEmitter:()=>r2});function u9($,q){var{_events:Q}=$;if(q[0]??=Error("Unhandled error."),!Q)throw q[0];var K=Q[P9];if(K)for(var J of x9.call(K))J.apply($,q);var Z=Q.error;if(!Z)throw q[0];for(var J of x9.call(Z))J.apply($,q);return!0}function wV($,q,Q,K){q.then(void 0,function(J){queueMicrotask(()=>NV($,J,Q,K))})}function NV($,q,Q,K){if(typeof $[h9]==="function")$[h9](q,Q,...K);else try{$[Y1]=!1,$.emit("error",q)}finally{$[Y1]=!0}}function S9($,q,Q){Q.warned=!0;let K=Error(`Possible EventEmitter memory leak detected. ${Q.length} ${String(q)} listeners added to [${$.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);K.name="MaxListenersExceededWarning",K.emitter=$,K.type=q,K.count=Q.length,console.warn(K)}function E9($,q,...Q){this.removeListener($,q),q.apply(this,Q)}function _9($,q,Q){var K=Q?.signal;if(d9(K,"options.signal"),K?.aborted)throw new S5(void 0,{cause:K?.reason});let{resolve:J,reject:Z,promise:G}=$newPromiseCapability(Promise),W=(U)=>{if($.removeListener(q,B),K!=null)D8(K,"abort",V);Z(U)},B=(...U)=>{if(typeof $.removeListener==="function")$.removeListener("error",W);if(K!=null)D8(K,"abort",V);J(U)};if(O9($,q,B,{once:!0}),q!=="error"&&typeof $.once==="function")$.once("error",W);function V(){D8($,q,B),D8($,"error",W),Z(new S5(void 0,{cause:K?.reason}))}if(K!=null)O9(K,"abort",V,{once:!0});return G}function c9($,q){return $.listeners(q)}function b9($,...q){_5($,"setMaxListeners",0);var Q;if(q&&(Q=q.length))for(let K=0;KK||(Q!=null||K!=null)&&Number.isNaN($))throw DV(q,`${Q!=null?`>= ${Q}`:""}${Q!=null&&K!=null?" && ":""}${K!=null?`<= ${K}`:""}`,$)}function x6($){if(typeof $!=="function")throw TypeError("The listener must be a function")}function LV($,q){if(typeof $!=="boolean")throw m1(q,"boolean",$)}function m9($){return $?._maxListeners??k1}function p9($,q){if($===void 0)throw m1("signal","AbortSignal",$);if(d9($,"signal"),typeof q!=="function")throw m1("listener","function",q);let Q;if($.aborted)queueMicrotask(()=>q());else $.addEventListener("abort",q,{__proto__:null,once:!0}),Q=()=>{$.removeEventListener("abort",q)};return{__proto__:null,[Symbol.dispose](){Q?.()}}}var E5,Y1,P9,FV,MV,h9,T9,x9,k1=10,r2=function($){if(this._events===void 0||this._events===this.__proto__._events)this._events={__proto__:null},this._eventsCount=0;if(this._maxListeners??=void 0,this[Y1]=$?.captureRejections?Boolean($?.captureRejections):y0[Y1])this.emit=kV},y0,YV=function($,...q){if($==="error")return u9(this,q);var{_events:Q}=this;if(Q===void 0)return!1;var K=Q[$];if(K===void 0)return!1;let J=K.length>1?K.slice():K;for(let Z=0,{length:G}=J;Z1?K.slice():K;for(let Z=0,{length:G}=J;Z{E5=Symbol.for,Y1=Symbol("kCapture"),P9=E5("events.errorMonitor"),FV=Symbol("events.maxEventTargetListeners"),MV=Symbol("events.maxEventTargetListenersWarned"),h9=E5("nodejs.rejection"),T9=E5("nodejs.rejection"),x9=Array.prototype.slice,y0=r2.prototype={};y0._events=void 0;y0._eventsCount=0;y0._maxListeners=void 0;y0.setMaxListeners=function($){return _5($,"setMaxListeners",0),this._maxListeners=$,this};y0.constructor=r2;y0.getMaxListeners=function(){return this?._maxListeners??k1};y0.emit=YV;y0.addListener=function($,q){x6(q);var Q=this._events;if(!Q)Q=this._events={__proto__:null},this._eventsCount=0;else if(Q.newListener)this.emit("newListener",$,q.listener??q);var K=Q[$];if(!K)Q[$]=[q],this._eventsCount++;else{K.push(q);var J=this._maxListeners??k1;if(J>0&&K.length>J&&!K.warned)S9(this,$,K)}return this};y0.on=y0.addListener;y0.prependListener=function($,q){x6(q);var Q=this._events;if(!Q)Q=this._events={__proto__:null},this._eventsCount=0;else if(Q.newListener)this.emit("newListener",$,q.listener??q);var K=Q[$];if(!K)Q[$]=[q],this._eventsCount++;else{K.unshift(q);var J=this._maxListeners??k1;if(J>0&&K.length>J&&!K.warned)S9(this,$,K)}return this};y0.once=function($,q){x6(q);let Q=E9.bind(this,$,q);return Q.listener=q,this.addListener($,Q),this};y0.prependOnceListener=function($,q){x6(q);let Q=E9.bind(this,$,q);return Q.listener=q,this.prependListener($,Q),this};y0.removeListener=function($,q){x6(q);var{_events:Q}=this;if(!Q)return this;var K=Q[$];if(!K)return this;var J=K.length;let Z=-1;for(let G=J-1;G>=0;G--)if(K[G]===q||K[G].listener===q){Z=G;break}if(Z<0)return this;if(Z===0)K.shift();else K.splice(Z,1);if(K.length===0)delete Q[$],this._eventsCount--;return this};y0.off=y0.removeListener;y0.removeAllListeners=function($){var{_events:q}=this;if($&&q){if(q[$])delete q[$],this._eventsCount--}else this._events={__proto__:null};return this};y0.listeners=function($){var{_events:q}=this;if(!q)return[];var Q=q[$];if(!Q)return[];return Q.map((K)=>K.listener??K)};y0.rawListeners=function($){var{_events:q}=this;if(!q)return[];var Q=q[$];if(!Q)return[];return Q.slice()};y0.listenerCount=function($){var{_events:q}=this;if(!q)return 0;return q[$]?.length??0};y0.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};y0[Y1]=!1;S5=class S5 extends Error{constructor($="The operation was aborted",q=void 0){if(q!==void 0&&typeof q!=="object")throw m1("options","Object",q);super($,q);this.code="ABORT_ERR",this.name="AbortError"}};Object.defineProperties(r2,{captureRejections:{get(){return y0[Y1]},set($){LV($,"EventEmitter.captureRejections"),y0[Y1]=$},enumerable:!0},defaultMaxListeners:{enumerable:!0,get:()=>{return k1},set:($)=>{_5($,"defaultMaxListeners",0),k1=$}},kMaxEventTargetListeners:{value:FV,enumerable:!1,configurable:!1,writable:!1},kMaxEventTargetListenersWarned:{value:MV,enumerable:!1,configurable:!1,writable:!1}});Object.assign(r2,{once:_9,getEventListeners:c9,getMaxListeners:m9,setMaxListeners:b9,EventEmitter:r2,usingDomains:!1,captureRejectionSymbol:T9,errorMonitor:P9,addAbortListener:p9,init:r2,listenerCount:n9});HV=r2});var a1=N0((Vz,e9)=>{var g0=($,q)=>()=>(q||$((q={exports:{}}).exports,q),q.exports),P0=g0(($,q)=>{class Q extends Error{constructor(K){if(!Array.isArray(K))throw TypeError(`Expected input to be an Array, got ${typeof K}`);let J="";for(let Z=0;Z{q.exports={format(Q,...K){return Q.replace(/%([sdifj])/g,function(...[J,Z]){let G=K.shift();if(Z==="f")return G.toFixed(6);else if(Z==="j")return JSON.stringify(G);else if(Z==="s"&&typeof G==="object")return`${G.constructor!==Object?G.constructor.name:""} {}`.trim();else return G.toString()})},inspect(Q){switch(typeof Q){case"string":if(Q.includes("'")){if(!Q.includes('"'))return`"${Q}"`;else if(!Q.includes("`")&&!Q.includes("${"))return`\`${Q}\``}return`'${Q}'`;case"number":if(isNaN(Q))return"NaN";else if(Object.is(Q,-0))return String(Q);return Q;case"bigint":return`${String(Q)}n`;case"boolean":case"undefined":return String(Q);case"object":return"{}"}}}}),a0=g0(($,q)=>{var{format:Q,inspect:K}=i9(),{AggregateError:J}=P0(),Z=globalThis.AggregateError||J,G=Symbol("kIsNodeError"),W=["string","function","number","object","Function","Object","boolean","bigint","symbol"],B=/^([A-Z][a-z0-9]*)+$/,V={};function U(D,z){if(!D)throw new V.ERR_INTERNAL_ASSERTION(z)}function w(D){let z="",N=D.length,H=D[0]==="-"?1:0;for(;N>=H+4;N-=3)z=`_${D.slice(N-3,N)}${z}`;return`${D.slice(0,N)}${z}`}function F(D,z,N){if(typeof z==="function")return U(z.length<=N.length,`Code: ${D}; The provided arguments length (${N.length}) does not match the required ones (${z.length}).`),z(...N);let H=(z.match(/%[dfijoOs]/g)||[]).length;if(U(H===N.length,`Code: ${D}; The provided arguments length (${N.length}) does not match the required ones (${H}).`),N.length===0)return z;return Q(z,...N)}function M(D,z,N){if(!N)N=Error;class H extends N{constructor(...v){super(F(D,z,v))}toString(){return`${this.name} [${D}]: ${this.message}`}}Object.defineProperties(H.prototype,{name:{value:N.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${D}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),H.prototype.code=D,H.prototype[G]=!0,V[D]=H}function k(D){let z="__node_internal_"+D.name;return Object.defineProperty(D,"name",{value:z}),D}function f(D,z){if(D&&z&&D!==z){if(Array.isArray(z.errors))return z.errors.push(D),z;let N=new Z([z,D],z.message);return N.code=z.code,N}return D||z}class L extends Error{constructor(D="The operation was aborted",z=void 0){if(z!==void 0&&typeof z!=="object")throw new V.ERR_INVALID_ARG_TYPE("options","Object",z);super(D,z);this.code="ABORT_ERR",this.name="AbortError"}}M("ERR_ASSERTION","%s",Error),M("ERR_INVALID_ARG_TYPE",(D,z,N)=>{if(U(typeof D==="string","'name' must be a string"),!Array.isArray(z))z=[z];let H="The ";if(D.endsWith(" argument"))H+=`${D} `;else H+=`"${D}" ${D.includes(".")?"property":"argument"} `;H+="must be ";let v=[],j=[],n=[];for(let _ of z)if(U(typeof _==="string","All expected entries have to be of type string"),W.includes(_))v.push(_.toLowerCase());else if(B.test(_))j.push(_);else U(_!=="object",'The value "object" should be written as "Object"'),n.push(_);if(j.length>0){let _=v.indexOf("object");if(_!==-1)v.splice(v,_,1),j.push("Object")}if(v.length>0){switch(v.length){case 1:H+=`of type ${v[0]}`;break;case 2:H+=`one of type ${v[0]} or ${v[1]}`;break;default:{let _=v.pop();H+=`one of type ${v.join(", ")}, or ${_}`}}if(j.length>0||n.length>0)H+=" or "}if(j.length>0){switch(j.length){case 1:H+=`an instance of ${j[0]}`;break;case 2:H+=`an instance of ${j[0]} or ${j[1]}`;break;default:{let _=j.pop();H+=`an instance of ${j.join(", ")}, or ${_}`}}if(n.length>0)H+=" or "}switch(n.length){case 0:break;case 1:if(n[0].toLowerCase()!==n[0])H+="an ";H+=`${n[0]}`;break;case 2:H+=`one of ${n[0]} or ${n[1]}`;break;default:{let _=n.pop();H+=`one of ${n.join(", ")}, or ${_}`}}if(N==null)H+=`. Received ${N}`;else if(typeof N==="function"&&N.name)H+=`. Received function ${N.name}`;else if(typeof N==="object"){var d;if((d=N.constructor)!==null&&d!==void 0&&d.name)H+=`. Received an instance of ${N.constructor.name}`;else{let _=K(N,{depth:-1});H+=`. Received ${_}`}}else{let _=K(N,{colors:!1});if(_.length>25)_=`${_.slice(0,25)}...`;H+=`. Received type ${typeof N} (${_})`}return H},TypeError),M("ERR_INVALID_ARG_VALUE",(D,z,N="is invalid")=>{let H=K(z);if(H.length>128)H=H.slice(0,128)+"...";return`The ${D.includes(".")?"property":"argument"} '${D}' ${N}. Received ${H}`},TypeError),M("ERR_INVALID_RETURN_VALUE",(D,z,N)=>{var H;let v=N!==null&&N!==void 0&&(H=N.constructor)!==null&&H!==void 0&&H.name?`instance of ${N.constructor.name}`:`type ${typeof N}`;return`Expected ${D} to be returned from the "${z}" function but got ${v}.`},TypeError),M("ERR_MISSING_ARGS",(...D)=>{U(D.length>0,"At least one arg needs to be specified");let z,N=D.length;switch(D=(Array.isArray(D)?D:[D]).map((H)=>`"${H}"`).join(" or "),N){case 1:z+=`The ${D[0]} argument`;break;case 2:z+=`The ${D[0]} and ${D[1]} arguments`;break;default:{let H=D.pop();z+=`The ${D.join(", ")}, and ${H} arguments`}break}return`${z} must be specified`},TypeError),M("ERR_OUT_OF_RANGE",(D,z,N)=>{U(z,'Missing "range" argument');let H;if(Number.isInteger(N)&&Math.abs(N)>4294967296)H=w(String(N));else if(typeof N==="bigint"){H=String(N);let v=BigInt(2)**BigInt(32);if(N>v||N<-v)H=w(H);H+="n"}else H=K(N);return`The value of "${D}" is out of range. It must be ${z}. Received ${H}`},RangeError),M("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),M("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),M("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),M("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),M("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),M("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),M("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),M("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),M("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),M("ERR_STREAM_WRITE_AFTER_END","write after end",Error),M("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),q.exports={AbortError:L,aggregateTwoErrors:k(f),hideStackFrames:k,codes:V}}),vV=g0(($,q)=>{Object.defineProperty($,"__esModule",{value:!0});var Q=new WeakMap,K=new WeakMap;function J(X){let P=Q.get(X);return console.assert(P!=null,"'this' is expected an Event object, but got",X),P}function Z(X){if(X.passiveListener!=null){if(typeof console<"u"&&typeof console.error==="function")console.error("Unable to preventDefault inside passive event listener invocation.",X.passiveListener);return}if(!X.event.cancelable)return;if(X.canceled=!0,typeof X.event.preventDefault==="function")X.event.preventDefault()}function G(X,P){Q.set(this,{eventTarget:X,event:P,eventPhase:2,currentTarget:X,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:P.timeStamp||Date.now()}),Object.defineProperty(this,"isTrusted",{value:!1,enumerable:!0});let g=Object.keys(P);for(let c=0;c0){let X=Array(arguments.length);for(let P=0;P{Object.defineProperty($,"__esModule",{value:!0});var Q=vV();class K extends Q.EventTarget{constructor(){super();throw TypeError("AbortSignal cannot be constructed directly")}get aborted(){let U=G.get(this);if(typeof U!=="boolean")throw TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this===null?"null":typeof this}`);return U}}Q.defineEventAttribute(K.prototype,"abort");function J(){let U=Object.create(K.prototype);return Q.EventTarget.call(U),G.set(U,!1),U}function Z(U){if(G.get(U)!==!1)return;G.set(U,!0),U.dispatchEvent({type:"abort"})}var G=new WeakMap;if(Object.defineProperties(K.prototype,{aborted:{enumerable:!0}}),typeof Symbol==="function"&&typeof Symbol.toStringTag==="symbol")Object.defineProperty(K.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortSignal"});class W{constructor(){B.set(this,J())}get signal(){return V(this)}abort(){Z(V(this))}}var B=new WeakMap;function V(U){let w=B.get(U);if(w==null)throw TypeError(`Expected 'this' to be an 'AbortController' object, but got ${U===null?"null":typeof U}`);return w}if(Object.defineProperties(W.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),typeof Symbol==="function"&&typeof Symbol.toStringTag==="symbol")Object.defineProperty(W.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortController"});$.AbortController=W,$.AbortSignal=K,$.default=W,q.exports=W,q.exports.AbortController=q.exports.default=W,q.exports.AbortSignal=K}),e0=g0(($,q)=>{var Q=(t0(),X0(K2)),{format:K,inspect:J}=i9(),{codes:{ERR_INVALID_ARG_TYPE:Z}}=a0(),{kResistStopPropagation:G,AggregateError:W,SymbolDispose:B}=P0(),V=globalThis.AbortSignal||O6().AbortSignal,U=globalThis.AbortController||O6().AbortController,w=Object.getPrototypeOf(async function(){}).constructor,F=globalThis.Blob||Q.Blob,M=typeof F<"u"?function(L){return L instanceof F}:function(L){return!1},k=(L,D)=>{if(L!==void 0&&(L===null||typeof L!=="object"||!("aborted"in L)))throw new Z(D,"AbortSignal",L)},f=(L,D)=>{if(typeof L!=="function")throw new Z(D,"Function",L)};q.exports={AggregateError:W,kEmptyObject:Object.freeze({}),once(L){let D=!1;return function(...z){if(D)return;D=!0,L.apply(this,z)}},createDeferredPromise:function(){let L,D;return{promise:new Promise((z,N)=>{L=z,D=N}),resolve:L,reject:D}},promisify(L){return new Promise((D,z)=>{L((N,...H)=>{if(N)return z(N);return D(...H)})})},debuglog(){return function(){}},format:K,inspect:J,types:{isAsyncFunction(L){return L instanceof w},isArrayBufferView(L){return ArrayBuffer.isView(L)}},isBlob:M,deprecate(L,D){return L},addAbortListener:(i1(),X0(p1)).addAbortListener||function(L,D){if(L===void 0)throw new Z("signal","AbortSignal",L);k(L,"signal"),f(D,"listener");let z;if(L.aborted)queueMicrotask(()=>D());else L.addEventListener("abort",D,{__proto__:null,once:!0,[G]:!0}),z=()=>{L.removeEventListener("abort",D)};return{__proto__:null,[B](){var N;(N=z)===null||N===void 0||N()}}},AbortSignalAny:V.any||function(L){if(L.length===1)return L[0];let D=new U,z=()=>D.abort();return L.forEach((N)=>{k(N,"signals"),N.addEventListener("abort",z,{once:!0})}),D.signal.addEventListener("abort",()=>{L.forEach((N)=>N.removeEventListener("abort",z))},{once:!0}),D.signal}},q.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),P6=g0(($,q)=>{var{ArrayIsArray:Q,ArrayPrototypeIncludes:K,ArrayPrototypeJoin:J,ArrayPrototypeMap:Z,NumberIsInteger:G,NumberIsNaN:W,NumberMAX_SAFE_INTEGER:B,NumberMIN_SAFE_INTEGER:V,NumberParseInt:U,ObjectPrototypeHasOwnProperty:w,RegExpPrototypeExec:F,String:M,StringPrototypeToUpperCase:k,StringPrototypeTrim:f}=P0(),{hideStackFrames:L,codes:{ERR_SOCKET_BAD_PORT:D,ERR_INVALID_ARG_TYPE:z,ERR_INVALID_ARG_VALUE:N,ERR_OUT_OF_RANGE:H,ERR_UNKNOWN_SIGNAL:v}}=a0(),{normalizeEncoding:j}=e0(),{isAsyncFunction:n,isArrayBufferView:d}=e0().types,_={};function X(T){return T===(T|0)}function P(T){return T===T>>>0}var g=/^[0-7]+$/,c="must be a 32-bit unsigned integer or an octal string";function h(T,t,G0){if(typeof T>"u")T=G0;if(typeof T==="string"){if(F(g,T)===null)throw new N(t,T,c);T=U(T,8)}return $0(T,t),T}var x=L((T,t,G0=V,Q0=B)=>{if(typeof T!=="number")throw new z(t,"number",T);if(!G(T))throw new H(t,"an integer",T);if(TQ0)throw new H(t,`>= ${G0} && <= ${Q0}`,T)}),l=L((T,t,G0=-2147483648,Q0=2147483647)=>{if(typeof T!=="number")throw new z(t,"number",T);if(!G(T))throw new H(t,"an integer",T);if(TQ0)throw new H(t,`>= ${G0} && <= ${Q0}`,T)}),$0=L((T,t,G0=!1)=>{if(typeof T!=="number")throw new z(t,"number",T);if(!G(T))throw new H(t,"an integer",T);let Q0=G0?1:0,M0=4294967295;if(TM0)throw new H(t,`>= ${Q0} && <= ${M0}`,T)});function Z0(T,t){if(typeof T!=="string")throw new z(t,"string",T)}function F0(T,t,G0=void 0,Q0){if(typeof T!=="number")throw new z(t,"number",T);if(G0!=null&&TQ0||(G0!=null||Q0!=null)&&W(T))throw new H(t,`${G0!=null?`>= ${G0}`:""}${G0!=null&&Q0!=null?" && ":""}${Q0!=null?`<= ${Q0}`:""}`,T)}var p=L((T,t,G0)=>{if(!K(G0,T)){let Q0="must be one of: "+J(Z(G0,(M0)=>typeof M0==="string"?`'${M0}'`:M(M0)),", ");throw new N(t,T,Q0)}});function W0(T,t){if(typeof T!=="boolean")throw new z(t,"boolean",T)}function y(T,t,G0){return T==null||!w(T,t)?G0:T[t]}var i=L((T,t,G0=null)=>{let Q0=y(G0,"allowArray",!1),M0=y(G0,"allowFunction",!1);if(!y(G0,"nullable",!1)&&T===null||!Q0&&Q(T)||typeof T!=="object"&&(!M0||typeof T!=="function"))throw new z(t,"Object",T)}),U0=L((T,t)=>{if(T!=null&&typeof T!=="object"&&typeof T!=="function")throw new z(t,"a dictionary",T)}),m=L((T,t,G0=0)=>{if(!Q(T))throw new z(t,"Array",T);if(T.length{if(!d(T))throw new z(t,["Buffer","TypedArray","DataView"],T)});function E(T,t){let G0=j(t),Q0=T.length;if(G0==="hex"&&Q0%2!==0)throw new N("encoding",t,`is invalid for data of length ${Q0}`)}function a(T,t="Port",G0=!0){if(typeof T!=="number"&&typeof T!=="string"||typeof T==="string"&&f(T).length===0||+T!==+T>>>0||T>65535||T===0&&!G0)throw new D(t,T,G0);return T|0}var K0=L((T,t)=>{if(T!==void 0&&(T===null||typeof T!=="object"||!("aborted"in T)))throw new z(t,"AbortSignal",T)}),R=L((T,t)=>{if(typeof T!=="function")throw new z(t,"Function",T)}),Y=L((T,t)=>{if(typeof T!=="function"||n(T))throw new z(t,"Function",T)}),C=L((T,t)=>{if(T!==void 0)throw new z(t,"undefined",T)});function u(T,t,G0){if(!K(G0,T))throw new z(t,`('${J(G0,"|")}')`,T)}var e=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function r(T,t){if(typeof T>"u"||!F(e,T))throw new N(t,T,'must be an array or string of format "; rel=preload; as=style"')}function s(T){if(typeof T==="string")return r(T,"hints"),T;else if(Q(T)){let t=T.length,G0="";if(t===0)return G0;for(let Q0=0;Q0; rel=preload; as=style"')}q.exports={isInt32:X,isUint32:P,parseFileMode:h,validateArray:m,validateStringArray:V0,validateBooleanArray:w0,validateAbortSignalArray:S,validateBoolean:W0,validateBuffer:O,validateDictionary:U0,validateEncoding:E,validateFunction:R,validateInt32:l,validateInteger:x,validateNumber:F0,validateObject:i,validateOneOf:p,validatePlainFunction:Y,validatePort:a,validateSignalName:b,validateString:Z0,validateUint32:$0,validateUndefined:C,validateUnion:u,validateAbortSignal:K0,validateLinkHeaderValue:s}}),D1=g0(($,q)=>{q.exports=globalThis.process}),b2=g0(($,q)=>{var{SymbolAsyncIterator:Q,SymbolIterator:K,SymbolFor:J}=P0(),Z=J("nodejs.stream.destroyed"),G=J("nodejs.stream.errored"),W=J("nodejs.stream.readable"),B=J("nodejs.stream.writable"),V=J("nodejs.stream.disturbed"),U=J("nodejs.webstream.isClosedPromise"),w=J("nodejs.webstream.controllerErrorFunction");function F(y,i=!1){var U0;return!!(y&&typeof y.pipe==="function"&&typeof y.on==="function"&&(!i||typeof y.pause==="function"&&typeof y.resume==="function")&&(!y._writableState||((U0=y._readableState)===null||U0===void 0?void 0:U0.readable)!==!1)&&(!y._writableState||y._readableState))}function M(y){var i;return!!(y&&typeof y.write==="function"&&typeof y.on==="function"&&(!y._readableState||((i=y._writableState)===null||i===void 0?void 0:i.writable)!==!1))}function k(y){return!!(y&&typeof y.pipe==="function"&&y._readableState&&typeof y.on==="function"&&typeof y.write==="function")}function f(y){return y&&(y._readableState||y._writableState||typeof y.write==="function"&&typeof y.on==="function"||typeof y.pipe==="function"&&typeof y.on==="function")}function L(y){return!!(y&&!f(y)&&typeof y.pipeThrough==="function"&&typeof y.getReader==="function"&&typeof y.cancel==="function")}function D(y){return!!(y&&!f(y)&&typeof y.getWriter==="function"&&typeof y.abort==="function")}function z(y){return!!(y&&!f(y)&&typeof y.readable==="object"&&typeof y.writable==="object")}function N(y){return L(y)||D(y)||z(y)}function H(y,i){if(y==null)return!1;if(i===!0)return typeof y[Q]==="function";if(i===!1)return typeof y[K]==="function";return typeof y[Q]==="function"||typeof y[K]==="function"}function v(y){if(!f(y))return null;let{_writableState:i,_readableState:U0}=y,m=i||U0;return!!(y.destroyed||y[Z]||m!==null&&m!==void 0&&m.destroyed)}function j(y){if(!M(y))return null;if(y.writableEnded===!0)return!0;let i=y._writableState;if(i!==null&&i!==void 0&&i.errored)return!1;if(typeof(i===null||i===void 0?void 0:i.ended)!=="boolean")return null;return i.ended}function n(y,i){if(!M(y))return null;if(y.writableFinished===!0)return!0;let U0=y._writableState;if(U0!==null&&U0!==void 0&&U0.errored)return!1;if(typeof(U0===null||U0===void 0?void 0:U0.finished)!=="boolean")return null;return!!(U0.finished||i===!1&&U0.ended===!0&&U0.length===0)}function d(y){if(!F(y))return null;if(y.readableEnded===!0)return!0;let i=y._readableState;if(!i||i.errored)return!1;if(typeof(i===null||i===void 0?void 0:i.ended)!=="boolean")return null;return i.ended}function _(y,i){if(!F(y))return null;let U0=y._readableState;if(U0!==null&&U0!==void 0&&U0.errored)return!1;if(typeof(U0===null||U0===void 0?void 0:U0.endEmitted)!=="boolean")return null;return!!(U0.endEmitted||i===!1&&U0.ended===!0&&U0.length===0)}function X(y){if(y&&y[W]!=null)return y[W];if(typeof(y===null||y===void 0?void 0:y.readable)!=="boolean")return null;if(v(y))return!1;return F(y)&&y.readable&&!_(y)}function P(y){if(y&&y[B]!=null)return y[B];if(typeof(y===null||y===void 0?void 0:y.writable)!=="boolean")return null;if(v(y))return!1;return M(y)&&y.writable&&!j(y)}function g(y,i){if(!f(y))return null;if(v(y))return!0;if((i===null||i===void 0?void 0:i.readable)!==!1&&X(y))return!1;if((i===null||i===void 0?void 0:i.writable)!==!1&&P(y))return!1;return!0}function c(y){var i,U0;if(!f(y))return null;if(y.writableErrored)return y.writableErrored;return(i=(U0=y._writableState)===null||U0===void 0?void 0:U0.errored)!==null&&i!==void 0?i:null}function h(y){var i,U0;if(!f(y))return null;if(y.readableErrored)return y.readableErrored;return(i=(U0=y._readableState)===null||U0===void 0?void 0:U0.errored)!==null&&i!==void 0?i:null}function x(y){if(!f(y))return null;if(typeof y.closed==="boolean")return y.closed;let{_writableState:i,_readableState:U0}=y;if(typeof(i===null||i===void 0?void 0:i.closed)==="boolean"||typeof(U0===null||U0===void 0?void 0:U0.closed)==="boolean")return(i===null||i===void 0?void 0:i.closed)||(U0===null||U0===void 0?void 0:U0.closed);if(typeof y._closed==="boolean"&&l(y))return y._closed;return null}function l(y){return typeof y._closed==="boolean"&&typeof y._defaultKeepAlive==="boolean"&&typeof y._removedConnection==="boolean"&&typeof y._removedContLen==="boolean"}function $0(y){return typeof y._sent100==="boolean"&&l(y)}function Z0(y){var i;return typeof y._consuming==="boolean"&&typeof y._dumped==="boolean"&&((i=y.req)===null||i===void 0?void 0:i.upgradeOrConnect)===void 0}function F0(y){if(!f(y))return null;let{_writableState:i,_readableState:U0}=y,m=i||U0;return!m&&$0(y)||!!(m&&m.autoDestroy&&m.emitClose&&m.closed===!1)}function p(y){var i;return!!(y&&((i=y[V])!==null&&i!==void 0?i:y.readableDidRead||y.readableAborted))}function W0(y){var i,U0,m,V0,w0,S,b,O,E,a;return!!(y&&((i=(U0=(m=(V0=(w0=(S=y[G])!==null&&S!==void 0?S:y.readableErrored)!==null&&w0!==void 0?w0:y.writableErrored)!==null&&V0!==void 0?V0:(b=y._readableState)===null||b===void 0?void 0:b.errorEmitted)!==null&&m!==void 0?m:(O=y._writableState)===null||O===void 0?void 0:O.errorEmitted)!==null&&U0!==void 0?U0:(E=y._readableState)===null||E===void 0?void 0:E.errored)!==null&&i!==void 0?i:(a=y._writableState)===null||a===void 0?void 0:a.errored))}q.exports={isDestroyed:v,kIsDestroyed:Z,isDisturbed:p,kIsDisturbed:V,isErrored:W0,kIsErrored:G,isReadable:X,kIsReadable:W,kIsClosedPromise:U,kControllerErrorFunction:w,kIsWritable:B,isClosed:x,isDuplexNodeStream:k,isFinished:g,isIterable:H,isReadableNodeStream:F,isReadableStream:L,isReadableEnded:d,isReadableFinished:_,isReadableErrored:h,isNodeStream:f,isWebStream:N,isWritable:P,isWritableNodeStream:M,isWritableStream:D,isWritableEnded:j,isWritableFinished:n,isWritableErrored:c,isServerRequest:Z0,isServerResponse:$0,willEmitClose:F0,isTransformStream:z}}),s2=g0(($,q)=>{var Q=D1(),{AbortError:K,codes:J}=a0(),{ERR_INVALID_ARG_TYPE:Z,ERR_STREAM_PREMATURE_CLOSE:G}=J,{kEmptyObject:W,once:B}=e0(),{validateAbortSignal:V,validateFunction:U,validateObject:w,validateBoolean:F}=P6(),{Promise:M,PromisePrototypeThen:k,SymbolDispose:f}=P0(),{isClosed:L,isReadable:D,isReadableNodeStream:z,isReadableStream:N,isReadableFinished:H,isReadableErrored:v,isWritable:j,isWritableNodeStream:n,isWritableStream:d,isWritableFinished:_,isWritableErrored:X,isNodeStream:P,willEmitClose:g,kIsClosedPromise:c}=b2(),h;function x(p){return p.setHeader&&typeof p.abort==="function"}var l=()=>{};function $0(p,W0,y){var i,U0;if(arguments.length===2)y=W0,W0=W;else if(W0==null)W0=W;else w(W0,"options");if(U(y,"callback"),V(W0.signal,"options.signal"),y=B(y),N(p)||d(p))return Z0(p,W0,y);if(!P(p))throw new Z("stream",["ReadableStream","WritableStream","Stream"],p);let m=(i=W0.readable)!==null&&i!==void 0?i:z(p),V0=(U0=W0.writable)!==null&&U0!==void 0?U0:n(p),w0=p._writableState,S=p._readableState,b=()=>{if(!p.writable)a()},O=g(p)&&z(p)===m&&n(p)===V0,E=_(p,!1),a=()=>{if(E=!0,p.destroyed)O=!1;if(O&&(!p.readable||m))return;if(!m||K0)y.call(p)},K0=H(p,!1),R=()=>{if(K0=!0,p.destroyed)O=!1;if(O&&(!p.writable||V0))return;if(!V0||E)y.call(p)},Y=(T)=>{y.call(p,T)},C=L(p),u=()=>{C=!0;let T=X(p)||v(p);if(T&&typeof T!=="boolean")return y.call(p,T);if(m&&!K0&&z(p,!0)){if(!H(p,!1))return y.call(p,new G)}if(V0&&!E){if(!_(p,!1))return y.call(p,new G)}y.call(p)},e=()=>{C=!0;let T=X(p)||v(p);if(T&&typeof T!=="boolean")return y.call(p,T);y.call(p)},r=()=>{p.req.on("finish",a)};if(x(p)){if(p.on("complete",a),!O)p.on("abort",u);if(p.req)r();else p.on("request",r)}else if(V0&&!w0)p.on("end",b),p.on("close",b);if(!O&&typeof p.aborted==="boolean")p.on("aborted",u);if(p.on("end",R),p.on("finish",a),W0.error!==!1)p.on("error",Y);if(p.on("close",u),C)Q.nextTick(u);else if(w0!==null&&w0!==void 0&&w0.errorEmitted||S!==null&&S!==void 0&&S.errorEmitted){if(!O)Q.nextTick(e)}else if(!m&&(!O||D(p))&&(E||j(p)===!1))Q.nextTick(e);else if(!V0&&(!O||j(p))&&(K0||D(p)===!1))Q.nextTick(e);else if(S&&p.req&&p.aborted)Q.nextTick(e);let s=()=>{if(y=l,p.removeListener("aborted",u),p.removeListener("complete",a),p.removeListener("abort",u),p.removeListener("request",r),p.req)p.req.removeListener("finish",a);p.removeListener("end",b),p.removeListener("close",b),p.removeListener("finish",a),p.removeListener("end",R),p.removeListener("error",Y),p.removeListener("close",u)};if(W0.signal&&!C){let T=()=>{let t=y;s(),t.call(p,new K(void 0,{cause:W0.signal.reason}))};if(W0.signal.aborted)Q.nextTick(T);else{h=h||e0().addAbortListener;let t=h(W0.signal,T),G0=y;y=B((...Q0)=>{t[f](),G0.apply(p,Q0)})}}return s}function Z0(p,W0,y){let i=!1,U0=l;if(W0.signal)if(U0=()=>{i=!0,y.call(p,new K(void 0,{cause:W0.signal.reason}))},W0.signal.aborted)Q.nextTick(U0);else{h=h||e0().addAbortListener;let V0=h(W0.signal,U0),w0=y;y=B((...S)=>{V0[f](),w0.apply(p,S)})}let m=(...V0)=>{if(!i)Q.nextTick(()=>y.apply(p,V0))};return k(p[c].promise,m,m),l}function F0(p,W0){var y;let i=!1;if(W0===null)W0=W;if((y=W0)!==null&&y!==void 0&&y.cleanup)F(W0.cleanup,"cleanup"),i=W0.cleanup;return new M((U0,m)=>{let V0=$0(p,W0,(w0)=>{if(i)V0();if(w0)m(w0);else U0()})})}q.exports=$0,q.exports.finished=F0}),o1=g0(($,q)=>{var Q=D1(),{aggregateTwoErrors:K,codes:{ERR_MULTIPLE_CALLBACK:J},AbortError:Z}=a0(),{Symbol:G}=P0(),{kIsDestroyed:W,isDestroyed:B,isFinished:V,isServerRequest:U}=b2(),w=G("kDestroy"),F=G("kConstruct");function M(g,c,h){if(g){if(g.stack,c&&!c.errored)c.errored=g;if(h&&!h.errored)h.errored=g}}function k(g,c){let h=this._readableState,x=this._writableState,l=x||h;if(x!==null&&x!==void 0&&x.destroyed||h!==null&&h!==void 0&&h.destroyed){if(typeof c==="function")c();return this}if(M(g,x,h),x)x.destroyed=!0;if(h)h.destroyed=!0;if(!l.constructed)this.once(w,function($0){f(this,K($0,g),c)});else f(this,g,c);return this}function f(g,c,h){let x=!1;function l($0){if(x)return;x=!0;let{_readableState:Z0,_writableState:F0}=g;if(M($0,F0,Z0),F0)F0.closed=!0;if(Z0)Z0.closed=!0;if(typeof h==="function")h($0);if($0)Q.nextTick(L,g,$0);else Q.nextTick(D,g)}try{g._destroy(c||null,l)}catch($0){l($0)}}function L(g,c){z(g,c),D(g)}function D(g){let{_readableState:c,_writableState:h}=g;if(h)h.closeEmitted=!0;if(c)c.closeEmitted=!0;if(h!==null&&h!==void 0&&h.emitClose||c!==null&&c!==void 0&&c.emitClose)g.emit("close")}function z(g,c){let{_readableState:h,_writableState:x}=g;if(x!==null&&x!==void 0&&x.errorEmitted||h!==null&&h!==void 0&&h.errorEmitted)return;if(x)x.errorEmitted=!0;if(h)h.errorEmitted=!0;g.emit("error",c)}function N(){let g=this._readableState,c=this._writableState;if(g)g.constructed=!0,g.closed=!1,g.closeEmitted=!1,g.destroyed=!1,g.errored=null,g.errorEmitted=!1,g.reading=!1,g.ended=g.readable===!1,g.endEmitted=g.readable===!1;if(c)c.constructed=!0,c.destroyed=!1,c.closed=!1,c.closeEmitted=!1,c.errored=null,c.errorEmitted=!1,c.finalCalled=!1,c.prefinished=!1,c.ended=c.writable===!1,c.ending=c.writable===!1,c.finished=c.writable===!1}function H(g,c,h){let{_readableState:x,_writableState:l}=g;if(l!==null&&l!==void 0&&l.destroyed||x!==null&&x!==void 0&&x.destroyed)return this;if(x!==null&&x!==void 0&&x.autoDestroy||l!==null&&l!==void 0&&l.autoDestroy)g.destroy(c);else if(c){if(c.stack,l&&!l.errored)l.errored=c;if(x&&!x.errored)x.errored=c;if(h)Q.nextTick(z,g,c);else z(g,c)}}function v(g,c){if(typeof g._construct!=="function")return;let{_readableState:h,_writableState:x}=g;if(h)h.constructed=!1;if(x)x.constructed=!1;if(g.once(F,c),g.listenerCount(F)>1)return;Q.nextTick(j,g)}function j(g){let c=!1;function h(x){if(c){H(g,x!==null&&x!==void 0?x:new J);return}c=!0;let{_readableState:l,_writableState:$0}=g,Z0=$0||l;if(l)l.constructed=!0;if($0)$0.constructed=!0;if(Z0.destroyed)g.emit(w,x);else if(x)H(g,x,!0);else Q.nextTick(n,g)}try{g._construct((x)=>{Q.nextTick(h,x)})}catch(x){Q.nextTick(h,x)}}function n(g){g.emit(F)}function d(g){return(g===null||g===void 0?void 0:g.setHeader)&&typeof g.abort==="function"}function _(g){g.emit("close")}function X(g,c){g.emit("error",c),Q.nextTick(_,g)}function P(g,c){if(!g||B(g))return;if(!c&&!V(g))c=new Z;if(U(g))g.socket=null,g.destroy(c);else if(d(g))g.abort();else if(d(g.req))g.req.abort();else if(typeof g.destroy==="function")g.destroy(c);else if(typeof g.close==="function")g.close();else if(c)Q.nextTick(X,g,c);else Q.nextTick(_,g);if(!g.destroyed)g[W]=!0}q.exports={construct:v,destroyer:P,destroy:k,undestroy:N,errorOrDestroy:H}}),c5=g0(($,q)=>{var{ArrayIsArray:Q,ObjectSetPrototypeOf:K}=P0(),{EventEmitter:J}=(i1(),X0(p1));function Z(W){J.call(this,W)}K(Z.prototype,J.prototype),K(Z,J),Z.prototype.pipe=function(W,B){let V=this;function U(D){if(W.writable&&W.write(D)===!1&&V.pause)V.pause()}V.on("data",U);function w(){if(V.readable&&V.resume)V.resume()}if(W.on("drain",w),!W._isStdio&&(!B||B.end!==!1))V.on("end",M),V.on("close",k);let F=!1;function M(){if(F)return;F=!0,W.end()}function k(){if(F)return;if(F=!0,typeof W.destroy==="function")W.destroy()}function f(D){if(L(),J.listenerCount(this,"error")===0)this.emit("error",D)}G(V,"error",f),G(W,"error",f);function L(){V.removeListener("data",U),W.removeListener("drain",w),V.removeListener("end",M),V.removeListener("close",k),V.removeListener("error",f),W.removeListener("error",f),V.removeListener("end",L),V.removeListener("close",L),W.removeListener("close",L)}return V.on("end",L),V.on("close",L),W.on("close",L),W.emit("pipe",V),W};function G(W,B,V){if(typeof W.prependListener==="function")return W.prependListener(B,V);if(!W._events||!W._events[B])W.on(B,V);else if(Q(W._events[B]))W._events[B].unshift(V);else W._events[B]=[V,W._events[B]]}q.exports={Stream:Z,prependListener:G}}),L8=g0(($,q)=>{var{SymbolDispose:Q}=P0(),{AbortError:K,codes:J}=a0(),{isNodeStream:Z,isWebStream:G,kControllerErrorFunction:W}=b2(),B=s2(),{ERR_INVALID_ARG_TYPE:V}=J,U,w=(F,M)=>{if(typeof F!=="object"||!("aborted"in F))throw new V(M,"AbortSignal",F)};q.exports.addAbortSignal=function(F,M){if(w(F,"signal"),!Z(M)&&!G(M))throw new V("stream",["ReadableStream","WritableStream","Stream"],M);return q.exports.addAbortSignalNoValidate(F,M)},q.exports.addAbortSignalNoValidate=function(F,M){if(typeof F!=="object"||!("aborted"in F))return M;let k=Z(M)?()=>{M.destroy(new K(void 0,{cause:F.reason}))}:()=>{M[W](new K(void 0,{cause:F.reason}))};if(F.aborted)k();else{U=U||e0().addAbortListener;let f=U(F,k);B(M,f[Q])}return M}}),fV=g0(($,q)=>{var{StringPrototypeSlice:Q,SymbolIterator:K,TypedArrayPrototypeSet:J,Uint8Array:Z}=P0(),{Buffer:G}=(t0(),X0(K2)),{inspect:W}=e0();q.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(B){let V={data:B,next:null};if(this.length>0)this.tail.next=V;else this.head=V;this.tail=V,++this.length}unshift(B){let V={data:B,next:this.head};if(this.length===0)this.tail=V;this.head=V,++this.length}shift(){if(this.length===0)return;let B=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;return--this.length,B}clear(){this.head=this.tail=null,this.length=0}join(B){if(this.length===0)return"";let V=this.head,U=""+V.data;while((V=V.next)!==null)U+=B+V.data;return U}concat(B){if(this.length===0)return G.alloc(0);let V=G.allocUnsafe(B>>>0),U=this.head,w=0;while(U)J(V,U.data,w),w+=U.data.length,U=U.next;return V}consume(B,V){let U=this.head.data;if(BF.length)V+=F,B-=F.length;else{if(B===F.length)if(V+=F,++w,U.next)this.head=U.next;else this.head=this.tail=null;else V+=Q(F,0,B),this.head=U,U.data=Q(F,B);break}++w}while((U=U.next)!==null);return this.length-=w,V}_getBuffer(B){let V=G.allocUnsafe(B),U=B,w=this.head,F=0;do{let M=w.data;if(B>M.length)J(V,M,U-B),B-=M.length;else{if(B===M.length)if(J(V,M,U-B),++F,w.next)this.head=w.next;else this.head=this.tail=null;else J(V,new Z(M.buffer,M.byteOffset,B),U-B),this.head=w,w.data=M.slice(B);break}++F}while((w=w.next)!==null);return this.length-=F,V}[Symbol.for("nodejs.util.inspect.custom")](B,V){return W(this,{...V,depth:0,customInspect:!1})}}}),H8=g0(($,q)=>{var{MathFloor:Q,NumberIsInteger:K}=P0(),{validateInteger:J}=P6(),{ERR_INVALID_ARG_VALUE:Z}=a0().codes,G=16384,W=16;function B(F,M,k){return F.highWaterMark!=null?F.highWaterMark:M?F[k]:null}function V(F){return F?W:G}function U(F,M){if(J(M,"value",0),F)W=M;else G=M}function w(F,M,k,f){let L=B(M,f,k);if(L!=null){if(!K(L)||L<0){let D=f?`options.${k}`:"options.highWaterMark";throw new Z(D,L)}return Q(L)}return V(F.objectMode)}q.exports={getHighWaterMark:w,getDefaultHighWaterMark:V,setDefaultHighWaterMark:U}}),RV=g0(($,q)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh */var Q=(t0(),X0(K2)),K=Q.Buffer;function J(G,W){for(var B in G)W[B]=G[B]}if(K.from&&K.alloc&&K.allocUnsafe&&K.allocUnsafeSlow)q.exports=Q;else J(Q,$),$.Buffer=Z;function Z(G,W,B){return K(G,W,B)}Z.prototype=Object.create(K.prototype),J(K,Z),Z.from=function(G,W,B){if(typeof G==="number")throw TypeError("Argument must not be a number");return K(G,W,B)},Z.alloc=function(G,W,B){if(typeof G!=="number")throw TypeError("Argument must be a number");var V=K(G);if(W!==void 0)if(typeof B==="string")V.fill(W,B);else V.fill(W);else V.fill(0);return V},Z.allocUnsafe=function(G){if(typeof G!=="number")throw TypeError("Argument must be a number");return K(G)},Z.allocUnsafeSlow=function(G){if(typeof G!=="number")throw TypeError("Argument must be a number");return Q.SlowBuffer(G)}}),IV=g0(($)=>{var q=RV().Buffer,Q=q.isEncoding||function(z){switch(z=""+z,z&&z.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function K(z){if(!z)return"utf8";var N;while(!0)switch(z){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return z;default:if(N)return;z=(""+z).toLowerCase(),N=!0}}function J(z){var N=K(z);if(typeof N!=="string"&&(q.isEncoding===Q||!Q(z)))throw Error("Unknown encoding: "+z);return N||z}$.StringDecoder=Z;function Z(z){this.encoding=J(z);var N;switch(this.encoding){case"utf16le":this.text=F,this.end=M,N=4;break;case"utf8":this.fillLast=V,N=4;break;case"base64":this.text=k,this.end=f,N=3;break;default:this.write=L,this.end=D;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=q.allocUnsafe(N)}Z.prototype.write=function(z){if(z.length===0)return"";var N,H;if(this.lastNeed){if(N=this.fillLast(z),N===void 0)return"";H=this.lastNeed,this.lastNeed=0}else H=0;if(H>5===6)return 2;else if(z>>4===14)return 3;else if(z>>3===30)return 4;return z>>6===2?-1:-2}function W(z,N,H){var v=N.length-1;if(v=0){if(j>0)z.lastNeed=j-1;return j}if(--v=0){if(j>0)z.lastNeed=j-2;return j}if(--v=0){if(j>0)if(j===2)j=0;else z.lastNeed=j-3;return j}return 0}function B(z,N,H){if((N[0]&192)!==128)return z.lastNeed=0,"�";if(z.lastNeed>1&&N.length>1){if((N[1]&192)!==128)return z.lastNeed=1,"�";if(z.lastNeed>2&&N.length>2){if((N[2]&192)!==128)return z.lastNeed=2,"�"}}}function V(z){var N=this.lastTotal-this.lastNeed,H=B(this,z,N);if(H!==void 0)return H;if(this.lastNeed<=z.length)return z.copy(this.lastChar,N,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);z.copy(this.lastChar,N,0,z.length),this.lastNeed-=z.length}function U(z,N){var H=W(this,z,N);if(!this.lastNeed)return z.toString("utf8",N);this.lastTotal=H;var v=z.length-(H-this.lastNeed);return z.copy(this.lastChar,0,v),z.toString("utf8",N,v)}function w(z){var N=z&&z.length?this.write(z):"";if(this.lastNeed)return N+"�";return N}function F(z,N){if((z.length-N)%2===0){var H=z.toString("utf16le",N);if(H){var v=H.charCodeAt(H.length-1);if(v>=55296&&v<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=z[z.length-2],this.lastChar[1]=z[z.length-1],H.slice(0,-1)}return H}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=z[z.length-1],z.toString("utf16le",N,z.length-1)}function M(z){var N=z&&z.length?this.write(z):"";if(this.lastNeed){var H=this.lastTotal-this.lastNeed;return N+this.lastChar.toString("utf16le",0,H)}return N}function k(z,N){var H=(z.length-N)%3;if(H===0)return z.toString("base64",N);if(this.lastNeed=3-H,this.lastTotal=3,H===1)this.lastChar[0]=z[z.length-1];else this.lastChar[0]=z[z.length-2],this.lastChar[1]=z[z.length-1];return z.toString("base64",N,z.length-H)}function f(z){var N=z&&z.length?this.write(z):"";if(this.lastNeed)return N+this.lastChar.toString("base64",0,3-this.lastNeed);return N}function L(z){return z.toString(this.encoding)}function D(z){return z&&z.length?this.write(z):""}}),o9=g0(($,q)=>{var Q=D1(),{PromisePrototypeThen:K,SymbolAsyncIterator:J,SymbolIterator:Z}=P0(),{Buffer:G}=(t0(),X0(K2)),{ERR_INVALID_ARG_TYPE:W,ERR_STREAM_NULL_VALUES:B}=a0().codes;function V(U,w,F){let M;if(typeof w==="string"||w instanceof G)return new U({objectMode:!0,...F,read(){this.push(w),this.push(null)}});let k;if(w&&w[J])k=!0,M=w[J]();else if(w&&w[Z])k=!1,M=w[Z]();else throw new W("iterable",["Iterable"],w);let f=new U({objectMode:!0,highWaterMark:1,...F}),L=!1;f._read=function(){if(!L)L=!0,z()},f._destroy=function(N,H){K(D(N),()=>Q.nextTick(H,N),(v)=>Q.nextTick(H,v||N))};async function D(N){let H=N!==void 0&&N!==null,v=typeof M.throw==="function";if(H&&v){let{value:j,done:n}=await M.throw(N);if(await j,n)return}if(typeof M.return==="function"){let{value:j}=await M.return();await j}}async function z(){for(;;){try{let{value:N,done:H}=k?await M.next():M.next();if(H)f.push(null);else{let v=N&&typeof N.then==="function"?await N:N;if(v===null)throw L=!1,new B;else if(f.push(v))continue;else L=!1}}catch(N){f.destroy(N)}break}}return f}q.exports=V}),v8=g0(($,q)=>{var Q=D1(),{ArrayPrototypeIndexOf:K,NumberIsInteger:J,NumberIsNaN:Z,NumberParseInt:G,ObjectDefineProperties:W,ObjectKeys:B,ObjectSetPrototypeOf:V,Promise:U,SafeSet:w,SymbolAsyncDispose:F,SymbolAsyncIterator:M,Symbol:k}=P0();q.exports=Q0,Q0.ReadableState=G0;var{EventEmitter:f}=(i1(),X0(p1)),{Stream:L,prependListener:D}=c5(),{Buffer:z}=(t0(),X0(K2)),{addAbortSignal:N}=L8(),H=s2(),v=e0().debuglog("stream",(I)=>{v=I}),j=fV(),n=o1(),{getHighWaterMark:d,getDefaultHighWaterMark:_}=H8(),{aggregateTwoErrors:X,codes:{ERR_INVALID_ARG_TYPE:P,ERR_METHOD_NOT_IMPLEMENTED:g,ERR_OUT_OF_RANGE:c,ERR_STREAM_PUSH_AFTER_EOF:h,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:x},AbortError:l}=a0(),{validateObject:$0}=P6(),Z0=k("kPaused"),{StringDecoder:F0}=IV(),p=o9();V(Q0.prototype,L.prototype),V(Q0,L);var W0=()=>{},{errorOrDestroy:y}=n,i=1,U0=2,m=4,V0=8,w0=16,S=32,b=64,O=128,E=256,a=512,K0=1024,R=2048,Y=4096,C=8192,u=16384,e=32768,r=65536,s=131072,T=262144;function t(I){return{enumerable:!1,get(){return(this.state&I)!==0},set(A){if(A)this.state|=I;else this.state&=~I}}}W(G0.prototype,{objectMode:t(i),ended:t(U0),endEmitted:t(m),reading:t(V0),constructed:t(w0),sync:t(S),needReadable:t(b),emittedReadable:t(O),readableListening:t(E),resumeScheduled:t(a),errorEmitted:t(K0),emitClose:t(R),autoDestroy:t(Y),destroyed:t(C),closed:t(u),closeEmitted:t(e),multiAwaitDrain:t(r),readingMore:t(s),dataEmitted:t(T)});function G0(I,A,J0){if(typeof J0!=="boolean")J0=A instanceof c2();if(this.state=R|Y|w0|S,I&&I.objectMode)this.state|=i;if(J0&&I&&I.readableObjectMode)this.state|=i;if(this.highWaterMark=I?d(this,I,"readableHighWaterMark",J0):_(!1),this.buffer=new j,this.length=0,this.pipes=[],this.flowing=null,this[Z0]=null,I&&I.emitClose===!1)this.state&=~R;if(I&&I.autoDestroy===!1)this.state&=~Y;if(this.errored=null,this.defaultEncoding=I&&I.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,I&&I.encoding)this.decoder=new F0(I.encoding),this.encoding=I.encoding}function Q0(I){if(!(this instanceof Q0))return new Q0(I);let A=this instanceof c2();if(this._readableState=new G0(I,this,A),I){if(typeof I.read==="function")this._read=I.read;if(typeof I.destroy==="function")this._destroy=I.destroy;if(typeof I.construct==="function")this._construct=I.construct;if(I.signal&&!A)N(I.signal,this)}L.call(this,I),n.construct(this,()=>{if(this._readableState.needReadable)_1(this,this._readableState)})}Q0.prototype.destroy=n.destroy,Q0.prototype._undestroy=n.undestroy,Q0.prototype._destroy=function(I,A){A(I)},Q0.prototype[f.captureRejectionSymbol]=function(I){this.destroy(I)},Q0.prototype[F]=function(){let I;if(!this.destroyed)I=this.readableEnded?null:new l,this.destroy(I);return new U((A,J0)=>H(this,(B0)=>B0&&B0!==I?J0(B0):A(null)))},Q0.prototype.push=function(I,A){return M0(this,I,A,!1)},Q0.prototype.unshift=function(I,A){return M0(this,I,A,!0)};function M0(I,A,J0,B0){v("readableAddChunk",A);let z0=I._readableState,i0;if((z0.state&i)===0){if(typeof A==="string"){if(J0=J0||z0.defaultEncoding,z0.encoding!==J0)if(B0&&z0.encoding)A=z.from(A,J0).toString(z0.encoding);else A=z.from(A,J0),J0=""}else if(A instanceof z)J0="";else if(L._isUint8Array(A))A=L._uint8ArrayToBuffer(A),J0="";else if(A!=null)i0=new P("chunk",["string","Buffer","Uint8Array"],A)}if(i0)y(I,i0);else if(A===null)z0.state&=~V0,O0(I,z0);else if((z0.state&i)!==0||A&&A.length>0)if(B0)if((z0.state&m)!==0)y(I,new x);else if(z0.destroyed||z0.errored)return!1;else I0(I,z0,A,!0);else if(z0.ended)y(I,new h);else if(z0.destroyed||z0.errored)return!1;else if(z0.state&=~V0,z0.decoder&&!J0)if(A=z0.decoder.write(A),z0.objectMode||A.length!==0)I0(I,z0,A,!1);else _1(I,z0);else I0(I,z0,A,!1);else if(!B0)z0.state&=~V0,_1(I,z0);return!z0.ended&&(z0.length0){if((A.state&r)!==0)A.awaitDrainWriters.clear();else A.awaitDrainWriters=null;A.dataEmitted=!0,I.emit("data",J0)}else{if(A.length+=A.objectMode?1:J0.length,B0)A.buffer.unshift(J0);else A.buffer.push(J0);if((A.state&b)!==0)u0(I)}_1(I,A)}Q0.prototype.isPaused=function(){let I=this._readableState;return I[Z0]===!0||I.flowing===!1},Q0.prototype.setEncoding=function(I){let A=new F0(I);this._readableState.decoder=A,this._readableState.encoding=this._readableState.decoder.encoding;let J0=this._readableState.buffer,B0="";for(let z0 of J0)B0+=A.write(z0);if(J0.clear(),B0!=="")J0.push(B0);return this._readableState.length=B0.length,this};var m0=1073741824;function p0(I){if(I>m0)throw new c("size","<= 1GiB",I);else I--,I|=I>>>1,I|=I>>>2,I|=I>>>4,I|=I>>>8,I|=I>>>16,I++;return I}function q2(I,A){if(I<=0||A.length===0&&A.ended)return 0;if((A.state&i)!==0)return 1;if(Z(I)){if(A.flowing&&A.length)return A.buffer.first().length;return A.length}if(I<=A.length)return I;return A.ended?A.length:0}Q0.prototype.read=function(I){if(v("read",I),I===void 0)I=NaN;else if(!J(I))I=G(I,10);let A=this._readableState,J0=I;if(I>A.highWaterMark)A.highWaterMark=p0(I);if(I!==0)A.state&=~O;if(I===0&&A.needReadable&&((A.highWaterMark!==0?A.length>=A.highWaterMark:A.length>0)||A.ended)){if(v("read: emitReadable",A.length,A.ended),A.length===0&&A.ended)v5(this);else u0(this);return null}if(I=q2(I,A),I===0&&A.ended){if(A.length===0)v5(this);return null}let B0=(A.state&b)!==0;if(v("need readable",B0),A.length===0||A.length-I0)z0=a7(I,A);else z0=null;if(z0===null)A.needReadable=A.length<=A.highWaterMark,I=0;else if(A.length-=I,A.multiAwaitDrain)A.awaitDrainWriters.clear();else A.awaitDrainWriters=null;if(A.length===0){if(!A.ended)A.needReadable=!0;if(J0!==I&&A.ended)v5(this)}if(z0!==null&&!A.errorEmitted&&!A.closeEmitted)A.dataEmitted=!0,this.emit("data",z0);return z0};function O0(I,A){if(v("onEofChunk"),A.ended)return;if(A.decoder){let J0=A.decoder.end();if(J0&&J0.length)A.buffer.push(J0),A.length+=A.objectMode?1:J0.length}if(A.ended=!0,A.sync)u0(I);else A.needReadable=!1,A.emittedReadable=!0,E1(I)}function u0(I){let A=I._readableState;if(v("emitReadable",A.needReadable,A.emittedReadable),A.needReadable=!1,!A.emittedReadable)v("emitReadable",A.flowing),A.emittedReadable=!0,Q.nextTick(E1,I)}function E1(I){let A=I._readableState;if(v("emitReadable_",A.destroyed,A.length,A.ended),!A.destroyed&&!A.errored&&(A.length||A.ended))I.emit("readable"),A.emittedReadable=!1;A.needReadable=!A.flowing&&!A.ended&&A.length<=A.highWaterMark,i7(I)}function _1(I,A){if(!A.readingMore&&A.constructed)A.readingMore=!0,Q.nextTick(R2,I,A)}function R2(I,A){while(!A.reading&&!A.ended&&(A.length1&&B0.pipes.includes(I))v("false write response, pause",B0.awaitDrainWriters.size),B0.awaitDrainWriters.add(I);J0.pause()}if(!z1)z1=MJ(J0,I),I.on("drain",z1)}J0.on("data",t7);function t7(F1){v("ondata");let u2=I.write(F1);if(v("dest.write",u2),u2===!1)s7()}function R5(F1){if(v("onerror",F1),A6(),I.removeListener("error",R5),I.listenerCount("error")===0){let u2=I._writableState||I._readableState;if(u2&&!u2.errorEmitted)y(I,F1);else I.emit("error",F1)}}D(I,"error",R5);function I5(){I.removeListener("finish",C5),A6()}I.once("close",I5);function C5(){v("onfinish"),I.removeListener("close",I5),A6()}I.once("finish",C5);function A6(){v("unpipe"),J0.unpipe(I)}if(I.emit("pipe",J0),I.writableNeedDrain===!0)s7();else if(!B0.flowing)v("pipe resume"),J0.resume();return I};function MJ(I,A){return function(){let J0=I._readableState;if(J0.awaitDrainWriters===A)v("pipeOnDrain",1),J0.awaitDrainWriters=null;else if(J0.multiAwaitDrain)v("pipeOnDrain",J0.awaitDrainWriters.size),J0.awaitDrainWriters.delete(A);if((!J0.awaitDrainWriters||J0.awaitDrainWriters.size===0)&&I.listenerCount("data"))I.resume()}}Q0.prototype.unpipe=function(I){let A=this._readableState,J0={hasUnpiped:!1};if(A.pipes.length===0)return this;if(!I){let z0=A.pipes;A.pipes=[],this.pause();for(let i0=0;i00,B0.flowing!==!1)this.resume()}else if(I==="readable"){if(!B0.endEmitted&&!B0.readableListening){if(B0.readableListening=B0.needReadable=!0,B0.flowing=!1,B0.emittedReadable=!1,v("on readable",B0.length,B0.reading),B0.length)u0(this);else if(!B0.reading)Q.nextTick(wJ,this)}}return J0},Q0.prototype.addListener=Q0.prototype.on,Q0.prototype.removeListener=function(I,A){let J0=L.prototype.removeListener.call(this,I,A);if(I==="readable")Q.nextTick(p7,this);return J0},Q0.prototype.off=Q0.prototype.removeListener,Q0.prototype.removeAllListeners=function(I){let A=L.prototype.removeAllListeners.apply(this,arguments);if(I==="readable"||I===void 0)Q.nextTick(p7,this);return A};function p7(I){let A=I._readableState;if(A.readableListening=I.listenerCount("readable")>0,A.resumeScheduled&&A[Z0]===!1)A.flowing=!0;else if(I.listenerCount("data")>0)I.resume();else if(!A.readableListening)A.flowing=null}function wJ(I){v("readable nexttick read 0"),I.read(0)}Q0.prototype.resume=function(){let I=this._readableState;if(!I.flowing)v("resume"),I.flowing=!I.readableListening,NJ(this,I);return I[Z0]=!1,this};function NJ(I,A){if(!A.resumeScheduled)A.resumeScheduled=!0,Q.nextTick(YJ,I,A)}function YJ(I,A){if(v("resume",A.reading),!A.reading)I.read(0);if(A.resumeScheduled=!1,I.emit("resume"),i7(I),A.flowing&&!A.reading)I.read(0)}Q0.prototype.pause=function(){if(v("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1)v("pause"),this._readableState.flowing=!1,this.emit("pause");return this._readableState[Z0]=!0,this};function i7(I){let A=I._readableState;v("flow",A.flowing);while(A.flowing&&I.read()!==null);}Q0.prototype.wrap=function(I){let A=!1;I.on("data",(B0)=>{if(!this.push(B0)&&I.pause)A=!0,I.pause()}),I.on("end",()=>{this.push(null)}),I.on("error",(B0)=>{y(this,B0)}),I.on("close",()=>{this.destroy()}),I.on("destroy",()=>{this.destroy()}),this._read=()=>{if(A&&I.resume)A=!1,I.resume()};let J0=B(I);for(let B0=1;B0{z0=z2?X(z0,z2):null,J0(),J0=W0});try{while(!0){let z2=I.destroyed?null:I.read();if(z2!==null)yield z2;else if(z0)throw z0;else if(z0===null)return;else await new U(B0)}}catch(z2){throw z0=X(z0,z2),z0}finally{if((z0||(A===null||A===void 0?void 0:A.destroyOnReturn)!==!1)&&(z0===void 0||I._readableState.autoDestroy))n.destroyer(I,null);else I.off("readable",B0),i0()}}W(Q0.prototype,{readable:{__proto__:null,get(){let I=this._readableState;return!!I&&I.readable!==!1&&!I.destroyed&&!I.errorEmitted&&!I.endEmitted},set(I){if(this._readableState)this._readableState.readable=!!I}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(I){if(this._readableState)this._readableState.flowing=I}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(I){if(!this._readableState)return;this._readableState.destroyed=I}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),W(G0.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[Z0]!==!1},set(I){this[Z0]=!!I}}}),Q0._fromList=a7;function a7(I,A){if(A.length===0)return null;let J0;if(A.objectMode)J0=A.buffer.shift();else if(!I||I>=A.length){if(A.decoder)J0=A.buffer.join("");else if(A.buffer.length===1)J0=A.buffer.first();else J0=A.buffer.concat(A.length);A.buffer.clear()}else J0=A.buffer.consume(I,A.decoder);return J0}function v5(I){let A=I._readableState;if(v("endReadable",A.endEmitted),!A.endEmitted)A.ended=!0,Q.nextTick(DJ,A,I)}function DJ(I,A){if(v("endReadableNT",I.endEmitted,I.length),!I.errored&&!I.closeEmitted&&!I.endEmitted&&I.length===0){if(I.endEmitted=!0,A.emit("end"),A.writable&&A.allowHalfOpen===!1)Q.nextTick(LJ,A);else if(I.autoDestroy){let J0=A._writableState;if(!J0||J0.autoDestroy&&(J0.finished||J0.writable===!1))A.destroy()}}}function LJ(I){if(I.writable&&!I.writableEnded&&!I.destroyed)I.end()}Q0.from=function(I,A){return p(Q0,I,A)};var f5;function l7(){if(f5===void 0)f5={};return f5}Q0.fromWeb=function(I,A){return l7().newStreamReadableFromReadableStream(I,A)},Q0.toWeb=function(I,A){return l7().newReadableStreamFromStreamReadable(I,A)},Q0.wrap=function(I,A){var J0,B0;return new Q0({objectMode:(J0=(B0=I.readableObjectMode)!==null&&B0!==void 0?B0:I.objectMode)!==null&&J0!==void 0?J0:!0,...A,destroy(z0,i0){n.destroyer(I,z0),i0(z0)}}).wrap(I)}}),b5=g0(($,q)=>{var Q=D1(),{ArrayPrototypeSlice:K,Error:J,FunctionPrototypeSymbolHasInstance:Z,ObjectDefineProperty:G,ObjectDefineProperties:W,ObjectSetPrototypeOf:B,StringPrototypeToLowerCase:V,Symbol:U,SymbolHasInstance:w}=P0();q.exports=$0,$0.WritableState=x;var{EventEmitter:F}=(i1(),X0(p1)),M=c5().Stream,{Buffer:k}=(t0(),X0(K2)),f=o1(),{addAbortSignal:L}=L8(),{getHighWaterMark:D,getDefaultHighWaterMark:z}=H8(),{ERR_INVALID_ARG_TYPE:N,ERR_METHOD_NOT_IMPLEMENTED:H,ERR_MULTIPLE_CALLBACK:v,ERR_STREAM_CANNOT_PIPE:j,ERR_STREAM_DESTROYED:n,ERR_STREAM_ALREADY_FINISHED:d,ERR_STREAM_NULL_VALUES:_,ERR_STREAM_WRITE_AFTER_END:X,ERR_UNKNOWN_ENCODING:P}=a0().codes,{errorOrDestroy:g}=f;B($0.prototype,M.prototype),B($0,M);function c(){}var h=U("kOnFinished");function x(Y,C,u){if(typeof u!=="boolean")u=C instanceof c2();if(this.objectMode=!!(Y&&Y.objectMode),u)this.objectMode=this.objectMode||!!(Y&&Y.writableObjectMode);this.highWaterMark=Y?D(this,Y,"writableHighWaterMark",u):z(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let e=!!(Y&&Y.decodeStrings===!1);this.decodeStrings=!e,this.defaultEncoding=Y&&Y.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=y.bind(void 0,C),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,l(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!Y||Y.emitClose!==!1,this.autoDestroy=!Y||Y.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[h]=[]}function l(Y){Y.buffered=[],Y.bufferedIndex=0,Y.allBuffers=!0,Y.allNoop=!0}x.prototype.getBuffer=function(){return K(this.buffered,this.bufferedIndex)},G(x.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function $0(Y){let C=this instanceof c2();if(!C&&!Z($0,this))return new $0(Y);if(this._writableState=new x(Y,this,C),Y){if(typeof Y.write==="function")this._write=Y.write;if(typeof Y.writev==="function")this._writev=Y.writev;if(typeof Y.destroy==="function")this._destroy=Y.destroy;if(typeof Y.final==="function")this._final=Y.final;if(typeof Y.construct==="function")this._construct=Y.construct;if(Y.signal)L(Y.signal,this)}M.call(this,Y),f.construct(this,()=>{let u=this._writableState;if(!u.writing)V0(this,u);O(this,u)})}G($0,w,{__proto__:null,value:function(Y){if(Z(this,Y))return!0;if(this!==$0)return!1;return Y&&Y._writableState instanceof x}}),$0.prototype.pipe=function(){g(this,new j)};function Z0(Y,C,u,e){let r=Y._writableState;if(typeof u==="function")e=u,u=r.defaultEncoding;else{if(!u)u=r.defaultEncoding;else if(u!=="buffer"&&!k.isEncoding(u))throw new P(u);if(typeof e!=="function")e=c}if(C===null)throw new _;else if(!r.objectMode)if(typeof C==="string"){if(r.decodeStrings!==!1)C=k.from(C,u),u="buffer"}else if(C instanceof k)u="buffer";else if(M._isUint8Array(C))C=M._uint8ArrayToBuffer(C),u="buffer";else throw new N("chunk",["string","Buffer","Uint8Array"],C);let s;if(r.ending)s=new X;else if(r.destroyed)s=new n("write");if(s)return Q.nextTick(e,s),g(Y,s,!0),s;return r.pendingcb++,F0(Y,r,C,u,e)}$0.prototype.write=function(Y,C,u){return Z0(this,Y,C,u)===!0},$0.prototype.cork=function(){this._writableState.corked++},$0.prototype.uncork=function(){let Y=this._writableState;if(Y.corked){if(Y.corked--,!Y.writing)V0(this,Y)}},$0.prototype.setDefaultEncoding=function(Y){if(typeof Y==="string")Y=V(Y);if(!k.isEncoding(Y))throw new P(Y);return this._writableState.defaultEncoding=Y,this};function F0(Y,C,u,e,r){let s=C.objectMode?1:u.length;C.length+=s;let T=C.lengthu.bufferedIndex)V0(Y,u);if(e)if(u.afterWriteTickInfo!==null&&u.afterWriteTickInfo.cb===r)u.afterWriteTickInfo.count++;else u.afterWriteTickInfo={count:1,cb:r,stream:Y,state:u},Q.nextTick(i,u.afterWriteTickInfo);else U0(Y,u,1,r)}}function i({stream:Y,state:C,count:u,cb:e}){return C.afterWriteTickInfo=null,U0(Y,C,u,e)}function U0(Y,C,u,e){if(!C.ending&&!Y.destroyed&&C.length===0&&C.needDrain)C.needDrain=!1,Y.emit("drain");while(u-- >0)C.pendingcb--,e();if(C.destroyed)m(C);O(Y,C)}function m(Y){if(Y.writing)return;for(let r=Y.bufferedIndex;r1&&Y._writev){C.pendingcb-=s-1;let t=C.allNoop?c:(Q0)=>{for(let M0=T;M0256)u.splice(0,T),C.bufferedIndex=0;else C.bufferedIndex=T}C.bufferProcessing=!1}$0.prototype._write=function(Y,C,u){if(this._writev)this._writev([{chunk:Y,encoding:C}],u);else throw new H("_write()")},$0.prototype._writev=null,$0.prototype.end=function(Y,C,u){let e=this._writableState;if(typeof Y==="function")u=Y,Y=null,C=null;else if(typeof C==="function")u=C,C=null;let r;if(Y!==null&&Y!==void 0){let s=Z0(this,Y,C);if(s instanceof J)r=s}if(e.corked)e.corked=1,this.uncork();if(r);else if(!e.errored&&!e.ending)e.ending=!0,O(this,e,!0),e.ended=!0;else if(e.finished)r=new d("end");else if(e.destroyed)r=new n("end");if(typeof u==="function")if(r||e.finished)Q.nextTick(u,r);else e[h].push(u);return this};function w0(Y){return Y.ending&&!Y.destroyed&&Y.constructed&&Y.length===0&&!Y.errored&&Y.buffered.length===0&&!Y.finished&&!Y.writing&&!Y.errorEmitted&&!Y.closeEmitted}function S(Y,C){let u=!1;function e(r){if(u){g(Y,r!==null&&r!==void 0?r:v());return}if(u=!0,C.pendingcb--,r){let s=C[h].splice(0);for(let T=0;T{if(w0(r))E(e,r);else r.pendingcb--},Y,C);else if(w0(C))C.pendingcb++,E(Y,C)}}}function E(Y,C){C.pendingcb--,C.finished=!0;let u=C[h].splice(0);for(let e=0;e{var Q=D1(),K=(t0(),X0(K2)),{isReadable:J,isWritable:Z,isIterable:G,isNodeStream:W,isReadableNodeStream:B,isWritableNodeStream:V,isDuplexNodeStream:U,isReadableStream:w,isWritableStream:F}=b2(),M=s2(),{AbortError:k,codes:{ERR_INVALID_ARG_TYPE:f,ERR_INVALID_RETURN_VALUE:L}}=a0(),{destroyer:D}=o1(),z=c2(),N=v8(),H=b5(),{createDeferredPromise:v}=e0(),j=o9(),n=globalThis.Blob||K.Blob,d=typeof n<"u"?function(h){return h instanceof n}:function(h){return!1},_=globalThis.AbortController||O6().AbortController,{FunctionPrototypeCall:X}=P0();class P extends z{constructor(h){super(h);if((h===null||h===void 0?void 0:h.readable)===!1)this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0;if((h===null||h===void 0?void 0:h.writable)===!1)this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0}}q.exports=function h(x,l){if(U(x))return x;if(B(x))return c({readable:x});if(V(x))return c({writable:x});if(W(x))return c({writable:!1,readable:!1});if(w(x))return c({readable:N.fromWeb(x)});if(F(x))return c({writable:H.fromWeb(x)});if(typeof x==="function"){let{value:Z0,write:F0,final:p,destroy:W0}=g(x);if(G(Z0))return j(P,Z0,{objectMode:!0,write:F0,final:p,destroy:W0});let y=Z0===null||Z0===void 0?void 0:Z0.then;if(typeof y==="function"){let i,U0=X(y,Z0,(m)=>{if(m!=null)throw new L("nully","body",m)},(m)=>{D(i,m)});return i=new P({objectMode:!0,readable:!1,write:F0,final(m){p(async()=>{try{await U0,Q.nextTick(m,null)}catch(V0){Q.nextTick(m,V0)}})},destroy:W0})}throw new L("Iterable, AsyncIterable or AsyncFunction",l,Z0)}if(d(x))return h(x.arrayBuffer());if(G(x))return j(P,x,{objectMode:!0,writable:!1});if(w(x===null||x===void 0?void 0:x.readable)&&F(x===null||x===void 0?void 0:x.writable))return P.fromWeb(x);if(typeof(x===null||x===void 0?void 0:x.writable)==="object"||typeof(x===null||x===void 0?void 0:x.readable)==="object"){let Z0=x!==null&&x!==void 0&&x.readable?B(x===null||x===void 0?void 0:x.readable)?x===null||x===void 0?void 0:x.readable:h(x.readable):void 0,F0=x!==null&&x!==void 0&&x.writable?V(x===null||x===void 0?void 0:x.writable)?x===null||x===void 0?void 0:x.writable:h(x.writable):void 0;return c({readable:Z0,writable:F0})}let $0=x===null||x===void 0?void 0:x.then;if(typeof $0==="function"){let Z0;return X($0,x,(F0)=>{if(F0!=null)Z0.push(F0);Z0.push(null)},(F0)=>{D(Z0,F0)}),Z0=new P({objectMode:!0,writable:!1,read(){}})}throw new f(l,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],x)};function g(h){let{promise:x,resolve:l}=v(),$0=new _,Z0=$0.signal;return{value:h(async function*(){while(!0){let F0=x;x=null;let{chunk:p,done:W0,cb:y}=await F0;if(Q.nextTick(y),W0)return;if(Z0.aborted)throw new k(void 0,{cause:Z0.reason});({promise:x,resolve:l}=v()),yield p}}(),{signal:Z0}),write(F0,p,W0){let y=l;l=null,y({chunk:F0,done:!1,cb:W0})},final(F0){let p=l;l=null,p({done:!0,cb:F0})},destroy(F0,p){$0.abort(),p(F0)}}}function c(h){let x=h.readable&&typeof h.readable.read!=="function"?N.wrap(h.readable):h.readable,l=h.writable,$0=!!J(x),Z0=!!Z(l),F0,p,W0,y,i;function U0(m){let V0=y;if(y=null,V0)V0(m);else if(m)i.destroy(m)}if(i=new P({readableObjectMode:!!(x!==null&&x!==void 0&&x.readableObjectMode),writableObjectMode:!!(l!==null&&l!==void 0&&l.writableObjectMode),readable:$0,writable:Z0}),Z0)M(l,(m)=>{if(Z0=!1,m)D(x,m);U0(m)}),i._write=function(m,V0,w0){if(l.write(m,V0))w0();else F0=w0},i._final=function(m){l.end(),p=m},l.on("drain",function(){if(F0){let m=F0;F0=null,m()}}),l.on("finish",function(){if(p){let m=p;p=null,m()}});if($0)M(x,(m)=>{if($0=!1,m)D(x,m);U0(m)}),x.on("readable",function(){if(W0){let m=W0;W0=null,m()}}),x.on("end",function(){i.push(null)}),i._read=function(){while(!0){let m=x.read();if(m===null){W0=i._read;return}if(!i.push(m))return}};return i._destroy=function(m,V0){if(!m&&y!==null)m=new k;if(W0=null,F0=null,p=null,y===null)V0(m);else y=V0,D(l,m),D(x,m)},i}}),c2=g0(($,q)=>{var{ObjectDefineProperties:Q,ObjectGetOwnPropertyDescriptor:K,ObjectKeys:J,ObjectSetPrototypeOf:Z}=P0();q.exports=B;var G=v8(),W=b5();Z(B.prototype,G.prototype),Z(B,G);{let F=J(W.prototype);for(let M=0;M{var{ObjectSetPrototypeOf:Q,Symbol:K}=P0();q.exports=B;var{ERR_METHOD_NOT_IMPLEMENTED:J}=a0().codes,Z=c2(),{getHighWaterMark:G}=H8();Q(B.prototype,Z.prototype),Q(B,Z);var W=K("kCallback");function B(w){if(!(this instanceof B))return new B(w);let F=w?G(this,w,"readableHighWaterMark",!0):null;if(F===0)w={...w,highWaterMark:null,readableHighWaterMark:F,writableHighWaterMark:w.writableHighWaterMark||0};if(Z.call(this,w),this._readableState.sync=!1,this[W]=null,w){if(typeof w.transform==="function")this._transform=w.transform;if(typeof w.flush==="function")this._flush=w.flush}this.on("prefinish",U)}function V(w){if(typeof this._flush==="function"&&!this.destroyed)this._flush((F,M)=>{if(F){if(w)w(F);else this.destroy(F);return}if(M!=null)this.push(M);if(this.push(null),w)w()});else if(this.push(null),w)w()}function U(){if(this._final!==V)V.call(this)}B.prototype._final=V,B.prototype._transform=function(w,F,M){throw new J("_transform()")},B.prototype._write=function(w,F,M){let k=this._readableState,f=this._writableState,L=k.length;this._transform(w,F,(D,z)=>{if(D){M(D);return}if(z!=null)this.push(z);if(f.ended||L===k.length||k.length{var{ObjectSetPrototypeOf:Q}=P0();q.exports=J;var K=a9();Q(J.prototype,K.prototype),Q(J,K);function J(Z){if(!(this instanceof J))return new J(Z);K.call(this,Z)}J.prototype._transform=function(Z,G,W){W(null,Z)}}),n5=g0(($,q)=>{var Q=D1(),{ArrayIsArray:K,Promise:J,SymbolAsyncIterator:Z,SymbolDispose:G}=P0(),W=s2(),{once:B}=e0(),V=o1(),U=c2(),{aggregateTwoErrors:w,codes:{ERR_INVALID_ARG_TYPE:F,ERR_INVALID_RETURN_VALUE:M,ERR_MISSING_ARGS:k,ERR_STREAM_DESTROYED:f,ERR_STREAM_PREMATURE_CLOSE:L},AbortError:D}=a0(),{validateFunction:z,validateAbortSignal:N}=P6(),{isIterable:H,isReadable:v,isReadableNodeStream:j,isNodeStream:n,isTransformStream:d,isWebStream:_,isReadableStream:X,isReadableFinished:P}=b2(),g=globalThis.AbortController||O6().AbortController,c,h,x;function l(m,V0,w0){let S=!1;m.on("close",()=>{S=!0});let b=W(m,{readable:V0,writable:w0},(O)=>{S=!O});return{destroy:(O)=>{if(S)return;S=!0,V.destroyer(m,O||new f("pipe"))},cleanup:b}}function $0(m){return z(m[m.length-1],"streams[stream.length - 1]"),m.pop()}function Z0(m){if(H(m))return m;else if(j(m))return F0(m);throw new F("val",["Readable","Iterable","AsyncIterable"],m)}async function*F0(m){if(!h)h=v8();yield*h.prototype[Z].call(m)}async function p(m,V0,w0,{end:S}){let b,O=null,E=(R)=>{if(R)b=R;if(O){let Y=O;O=null,Y()}},a=()=>new J((R,Y)=>{if(b)Y(b);else O=()=>{if(b)Y(b);else R()}});V0.on("drain",E);let K0=W(V0,{readable:!1},E);try{if(V0.writableNeedDrain)await a();for await(let R of m)if(!V0.write(R))await a();if(S)V0.end(),await a();w0()}catch(R){w0(b!==R?w(b,R):R)}finally{K0(),V0.off("drain",E)}}async function W0(m,V0,w0,{end:S}){if(d(V0))V0=V0.writable;let b=V0.getWriter();try{for await(let O of m)await b.ready,b.write(O).catch(()=>{});if(await b.ready,S)await b.close();w0()}catch(O){try{await b.abort(O),w0(O)}catch(E){w0(E)}}}function y(...m){return i(m,B($0(m)))}function i(m,V0,w0){if(m.length===1&&K(m[0]))m=m[0];if(m.length<2)throw new k("streams");let S=new g,b=S.signal,O=w0===null||w0===void 0?void 0:w0.signal,E=[];N(O,"options.signal");function a(){r(new D)}x=x||e0().addAbortListener;let K0;if(O)K0=x(O,a);let R,Y,C=[],u=0;function e(Q0){r(Q0,--u===0)}function r(Q0,M0){var I0;if(Q0&&(!R||R.code==="ERR_STREAM_PREMATURE_CLOSE"))R=Q0;if(!R&&!M0)return;while(C.length)C.shift()(R);if((I0=K0)===null||I0===void 0||I0[G](),S.abort(),M0){if(!R)E.forEach((m0)=>m0());Q.nextTick(V0,R,Y)}}let s;for(let Q0=0;Q00,p0=I0||(w0===null||w0===void 0?void 0:w0.end)!==!1,q2=Q0===m.length-1;if(n(M0)){let O0=function(u0){if(u0&&u0.name!=="AbortError"&&u0.code!=="ERR_STREAM_PREMATURE_CLOSE")e(u0)};var T=O0;if(p0){let{destroy:u0,cleanup:E1}=l(M0,I0,m0);if(C.push(u0),v(M0)&&q2)E.push(E1)}if(M0.on("error",O0),v(M0)&&q2)E.push(()=>{M0.removeListener("error",O0)})}if(Q0===0)if(typeof M0==="function"){if(s=M0({signal:b}),!H(s))throw new M("Iterable, AsyncIterable or Stream","source",s)}else if(H(M0)||j(M0)||d(M0))s=M0;else s=U.from(M0);else if(typeof M0==="function"){if(d(s)){var t;s=Z0((t=s)===null||t===void 0?void 0:t.readable)}else s=Z0(s);if(s=M0(s,{signal:b}),I0){if(!H(s,!0))throw new M("AsyncIterable",`transform[${Q0-1}]`,s)}else{var G0;if(!c)c=l9();let O0=new c({objectMode:!0}),u0=(G0=s)===null||G0===void 0?void 0:G0.then;if(typeof u0==="function")u++,u0.call(s,(R2)=>{if(Y=R2,R2!=null)O0.write(R2);if(p0)O0.end();Q.nextTick(e)},(R2)=>{O0.destroy(R2),Q.nextTick(e,R2)});else if(H(s,!0))u++,p(s,O0,e,{end:p0});else if(X(s)||d(s)){let R2=s.readable||s;u++,p(R2,O0,e,{end:p0})}else throw new M("AsyncIterable or Promise","destination",s);s=O0;let{destroy:E1,cleanup:_1}=l(s,!1,!0);if(C.push(E1),q2)E.push(_1)}}else if(n(M0)){if(j(s)){u+=2;let O0=U0(s,M0,e,{end:p0});if(v(M0)&&q2)E.push(O0)}else if(d(s)||X(s)){let O0=s.readable||s;u++,p(O0,M0,e,{end:p0})}else if(H(s))u++,p(s,M0,e,{end:p0});else throw new F("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],s);s=M0}else if(_(M0)){if(j(s))u++,W0(Z0(s),M0,e,{end:p0});else if(X(s)||H(s))u++,W0(s,M0,e,{end:p0});else if(d(s))u++,W0(s.readable,M0,e,{end:p0});else throw new F("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],s);s=M0}else s=U.from(M0)}if(b!==null&&b!==void 0&&b.aborted||O!==null&&O!==void 0&&O.aborted)Q.nextTick(a);return s}function U0(m,V0,w0,{end:S}){let b=!1;if(V0.on("close",()=>{if(!b)w0(new L)}),m.pipe(V0,{end:!1}),S){let E=function(){b=!0,V0.end()};var O=E;if(P(m))Q.nextTick(E);else m.once("end",E)}else w0();return W(m,{readable:!0,writable:!1},(E)=>{let a=m._readableState;if(E&&E.code==="ERR_STREAM_PREMATURE_CLOSE"&&a&&a.ended&&!a.errored&&!a.errorEmitted)m.once("end",w0).once("error",w0);else w0(E)}),W(V0,{readable:!1,writable:!0},w0)}q.exports={pipelineImpl:i,pipeline:y}}),r9=g0(($,q)=>{var{pipeline:Q}=n5(),K=c2(),{destroyer:J}=o1(),{isNodeStream:Z,isReadable:G,isWritable:W,isWebStream:B,isTransformStream:V,isWritableStream:U,isReadableStream:w}=b2(),{AbortError:F,codes:{ERR_INVALID_ARG_VALUE:M,ERR_MISSING_ARGS:k}}=a0(),f=s2();q.exports=function(...L){if(L.length===0)throw new k("streams");if(L.length===1)return K.from(L[0]);let D=[...L];if(typeof L[0]==="function")L[0]=K.from(L[0]);if(typeof L[L.length-1]==="function"){let g=L.length-1;L[g]=K.from(L[g])}for(let g=0;g0&&!(W(L[g])||U(L[g])||V(L[g])))throw new M(`streams[${g}]`,D[g],"must be writable")}let z,N,H,v,j;function n(g){let c=v;if(v=null,c)c(g);else if(g)j.destroy(g);else if(!P&&!X)j.destroy()}let d=L[0],_=Q(L,n),X=!!(W(d)||U(d)||V(d)),P=!!(G(_)||w(_)||V(_));if(j=new K({writableObjectMode:!!(d!==null&&d!==void 0&&d.writableObjectMode),readableObjectMode:!!(_!==null&&_!==void 0&&_.readableObjectMode),writable:X,readable:P}),X){if(Z(d))j._write=function(c,h,x){if(d.write(c,h))x();else z=x},j._final=function(c){d.end(),N=c},d.on("drain",function(){if(z){let c=z;z=null,c()}});else if(B(d)){let c=(V(d)?d.writable:d).getWriter();j._write=async function(h,x,l){try{await c.ready,c.write(h).catch(()=>{}),l()}catch($0){l($0)}},j._final=async function(h){try{await c.ready,c.close().catch(()=>{}),N=h}catch(x){h(x)}}}let g=V(_)?_.readable:_;f(g,()=>{if(N){let c=N;N=null,c()}})}if(P){if(Z(_))_.on("readable",function(){if(H){let g=H;H=null,g()}}),_.on("end",function(){j.push(null)}),j._read=function(){while(!0){let g=_.read();if(g===null){H=j._read;return}if(!j.push(g))return}};else if(B(_)){let g=(V(_)?_.readable:_).getReader();j._read=async function(){while(!0)try{let{value:c,done:h}=await g.read();if(!j.push(c))return;if(h){j.push(null);return}}catch{return}}}}return j._destroy=function(g,c){if(!g&&v!==null)g=new F;if(H=null,z=null,N=null,v===null)c(g);else if(v=c,Z(_))J(_,g)},j}}),jV=g0(($,q)=>{var Q=globalThis.AbortController||O6().AbortController,{codes:{ERR_INVALID_ARG_VALUE:K,ERR_INVALID_ARG_TYPE:J,ERR_MISSING_ARGS:Z,ERR_OUT_OF_RANGE:G},AbortError:W}=a0(),{validateAbortSignal:B,validateInteger:V,validateObject:U}=P6(),w=P0().Symbol("kWeak"),F=P0().Symbol("kResistStopPropagation"),{finished:M}=s2(),k=r9(),{addAbortSignalNoValidate:f}=L8(),{isWritable:L,isNodeStream:D}=b2(),{deprecate:z}=e0(),{ArrayPrototypePush:N,Boolean:H,MathFloor:v,Number:j,NumberIsNaN:n,Promise:d,PromiseReject:_,PromiseResolve:X,PromisePrototypeThen:P,Symbol:g}=P0(),c=g("kEmpty"),h=g("kEof");function x(O,E){if(E!=null)U(E,"options");if((E===null||E===void 0?void 0:E.signal)!=null)B(E.signal,"options.signal");if(D(O)&&!L(O))throw new K("stream",O,"must be writable");let a=k(this,O);if(E!==null&&E!==void 0&&E.signal)f(E.signal,a);return a}function l(O,E){if(typeof O!=="function")throw new J("fn",["Function","AsyncFunction"],O);if(E!=null)U(E,"options");if((E===null||E===void 0?void 0:E.signal)!=null)B(E.signal,"options.signal");let a=1;if((E===null||E===void 0?void 0:E.concurrency)!=null)a=v(E.concurrency);let K0=a-1;if((E===null||E===void 0?void 0:E.highWaterMark)!=null)K0=v(E.highWaterMark);return V(a,"options.concurrency",1),V(K0,"options.highWaterMark",0),K0+=a,async function*(){let R=e0().AbortSignalAny([E===null||E===void 0?void 0:E.signal].filter(H)),Y=this,C=[],u={signal:R},e,r,s=!1,T=0;function t(){s=!0,G0()}function G0(){T-=1,Q0()}function Q0(){if(r&&!s&&T=K0||T>=a))await new d((m0)=>{r=m0})}C.push(h)}catch(I0){let m0=_(I0);P(m0,G0,t),C.push(m0)}finally{if(s=!0,e)e(),e=null}}M0();try{while(!0){while(C.length>0){let I0=await C[0];if(I0===h)return;if(R.aborted)throw new W;if(I0!==c)yield I0;C.shift(),Q0()}await new d((I0)=>{e=I0})}}finally{if(s=!0,r)r(),r=null}}.call(this)}function $0(O=void 0){if(O!=null)U(O,"options");if((O===null||O===void 0?void 0:O.signal)!=null)B(O.signal,"options.signal");return async function*(){let E=0;for await(let K0 of this){var a;if(O!==null&&O!==void 0&&(a=O.signal)!==null&&a!==void 0&&a.aborted)throw new W({cause:O.signal.reason});yield[E++,K0]}}.call(this)}async function Z0(O,E=void 0){for await(let a of y.call(this,O,E))return!0;return!1}async function F0(O,E=void 0){if(typeof O!=="function")throw new J("fn",["Function","AsyncFunction"],O);return!await Z0.call(this,async(...a)=>{return!await O(...a)},E)}async function p(O,E){for await(let a of y.call(this,O,E))return a;return}async function W0(O,E){if(typeof O!=="function")throw new J("fn",["Function","AsyncFunction"],O);async function a(K0,R){return await O(K0,R),c}for await(let K0 of l.call(this,a,E));}function y(O,E){if(typeof O!=="function")throw new J("fn",["Function","AsyncFunction"],O);async function a(K0,R){if(await O(K0,R))return K0;return c}return l.call(this,a,E)}class i extends Z{constructor(){super("reduce");this.message="Reduce of an empty stream requires an initial value"}}async function U0(O,E,a){var K0;if(typeof O!=="function")throw new J("reducer",["Function","AsyncFunction"],O);if(a!=null)U(a,"options");if((a===null||a===void 0?void 0:a.signal)!=null)B(a.signal,"options.signal");let R=arguments.length>1;if(a!==null&&a!==void 0&&(K0=a.signal)!==null&&K0!==void 0&&K0.aborted){let r=new W(void 0,{cause:a.signal.reason});throw this.once("error",()=>{}),await M(this.destroy(r)),r}let Y=new Q,C=Y.signal;if(a!==null&&a!==void 0&&a.signal){let r={once:!0,[w]:this,[F]:!0};a.signal.addEventListener("abort",()=>Y.abort(),r)}let u=!1;try{for await(let r of this){var e;if(u=!0,a!==null&&a!==void 0&&(e=a.signal)!==null&&e!==void 0&&e.aborted)throw new W;if(!R)E=r,R=!0;else E=await O(E,r,{signal:C})}if(!u&&!R)throw new i}finally{Y.abort()}return E}async function m(O){if(O!=null)U(O,"options");if((O===null||O===void 0?void 0:O.signal)!=null)B(O.signal,"options.signal");let E=[];for await(let K0 of this){var a;if(O!==null&&O!==void 0&&(a=O.signal)!==null&&a!==void 0&&a.aborted)throw new W(void 0,{cause:O.signal.reason});N(E,K0)}return E}function V0(O,E){let a=l.call(this,O,E);return async function*(){for await(let K0 of a)yield*K0}.call(this)}function w0(O){if(O=j(O),n(O))return 0;if(O<0)throw new G("number",">= 0",O);return O}function S(O,E=void 0){if(E!=null)U(E,"options");if((E===null||E===void 0?void 0:E.signal)!=null)B(E.signal,"options.signal");return O=w0(O),async function*(){var a;if(E!==null&&E!==void 0&&(a=E.signal)!==null&&a!==void 0&&a.aborted)throw new W;for await(let R of this){var K0;if(E!==null&&E!==void 0&&(K0=E.signal)!==null&&K0!==void 0&&K0.aborted)throw new W;if(O--<=0)yield R}}.call(this)}function b(O,E=void 0){if(E!=null)U(E,"options");if((E===null||E===void 0?void 0:E.signal)!=null)B(E.signal,"options.signal");return O=w0(O),async function*(){var a;if(E!==null&&E!==void 0&&(a=E.signal)!==null&&a!==void 0&&a.aborted)throw new W;for await(let R of this){var K0;if(E!==null&&E!==void 0&&(K0=E.signal)!==null&&K0!==void 0&&K0.aborted)throw new W;if(O-- >0)yield R;if(O<=0)return}}.call(this)}q.exports.streamReturningOperators={asIndexedPairs:z($0,"readable.asIndexedPairs will be removed in a future version."),drop:S,filter:y,flatMap:V0,map:l,take:b,compose:x},q.exports.promiseReturningOperators={every:F0,forEach:W0,reduce:U0,toArray:m,some:Z0,find:p}}),s9=g0(($,q)=>{var{ArrayPrototypePop:Q,Promise:K}=P0(),{isIterable:J,isNodeStream:Z,isWebStream:G}=b2(),{pipelineImpl:W}=n5(),{finished:B}=s2();t9();function V(...U){return new K((w,F)=>{let M,k,f=U[U.length-1];if(f&&typeof f==="object"&&!Z(f)&&!J(f)&&!G(f)){let L=Q(U);M=L.signal,k=L.end}W(U,(L,D)=>{if(L)F(L);else w(D)},{signal:M,end:k})})}q.exports={finished:B,pipeline:V}}),t9=g0(($,q)=>{var{Buffer:Q}=(t0(),X0(K2)),{ObjectDefineProperty:K,ObjectKeys:J,ReflectApply:Z}=P0(),{promisify:{custom:G}}=e0(),{streamReturningOperators:W,promiseReturningOperators:B}=jV(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:V}}=a0(),U=r9(),{setDefaultHighWaterMark:w,getDefaultHighWaterMark:F}=H8(),{pipeline:M}=n5(),{destroyer:k}=o1(),f=s2(),L=s9(),D=b2(),z=q.exports=c5().Stream;z.isDestroyed=D.isDestroyed,z.isDisturbed=D.isDisturbed,z.isErrored=D.isErrored,z.isReadable=D.isReadable,z.isWritable=D.isWritable,z.Readable=v8();for(let H of J(W)){let v=function(...n){if(new.target)throw V();return z.Readable.from(Z(j,this,n))},j=W[H];K(v,"name",{__proto__:null,value:j.name}),K(v,"length",{__proto__:null,value:j.length}),K(z.Readable.prototype,H,{__proto__:null,value:v,enumerable:!1,configurable:!0,writable:!0})}for(let H of J(B)){let v=function(...n){if(new.target)throw V();return Z(j,this,n)},j=B[H];K(v,"name",{__proto__:null,value:j.name}),K(v,"length",{__proto__:null,value:j.length}),K(z.Readable.prototype,H,{__proto__:null,value:v,enumerable:!1,configurable:!0,writable:!0})}z.Writable=b5(),z.Duplex=c2(),z.Transform=a9(),z.PassThrough=l9(),z.pipeline=M;var{addAbortSignal:N}=L8();z.addAbortSignal=N,z.finished=f,z.destroy=k,z.compose=U,z.setDefaultHighWaterMark=w,z.getDefaultHighWaterMark=F,K(z,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return L}}),K(M,G,{__proto__:null,enumerable:!0,get(){return L.pipeline}}),K(f,G,{__proto__:null,enumerable:!0,get(){return L.finished}}),z.Stream=z,z._isUint8Array=function(H){return H instanceof Uint8Array},z._uint8ArrayToBuffer=function(H){return Q.from(H.buffer,H.byteOffset,H.byteLength)}}),gV=g0(($,q)=>{var Q=a1();{let K=t9(),J=s9(),Z=K.Readable.destroy;q.exports=K.Readable,q.exports._uint8ArrayToBuffer=K._uint8ArrayToBuffer,q.exports._isUint8Array=K._isUint8Array,q.exports.isDisturbed=K.isDisturbed,q.exports.isErrored=K.isErrored,q.exports.isReadable=K.isReadable,q.exports.Readable=K.Readable,q.exports.Writable=K.Writable,q.exports.Duplex=K.Duplex,q.exports.Transform=K.Transform,q.exports.PassThrough=K.PassThrough,q.exports.addAbortSignal=K.addAbortSignal,q.exports.finished=K.finished,q.exports.destroy=K.destroy,q.exports.destroy=Z,q.exports.pipeline=K.pipeline,q.exports.compose=K.compose,Object.defineProperty(K,"promises",{configurable:!0,enumerable:!0,get(){return J}}),q.exports.Stream=K.Stream}q.exports.default=q.exports});e9.exports=gV()});var d5=N0((Zz,$$)=>{$$.exports=a1()});var n2=N0((J2)=>{J2.base64=!0;J2.array=!0;J2.string=!0;J2.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u";J2.nodebuffer=typeof Buffer<"u";J2.uint8array=typeof Uint8Array<"u";if(typeof ArrayBuffer>"u")J2.blob=!1;else{f8=new ArrayBuffer(0);try{J2.blob=new Blob([f8],{type:"application/zip"}).size===0}catch($){try{m5=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder,R8=new m5,R8.append(f8),J2.blob=R8.getBlob("application/zip").size===0}catch(q){J2.blob=!1}}}var f8,m5,R8;try{J2.nodestream=!!d5().Readable}catch($){J2.nodestream=!1}});var i5=N0((p5)=>{var AV=T0(),XV=n2(),A2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";p5.encode=function($){var q=[],Q,K,J,Z,G,W,B,V=0,U=$.length,w=U,F=AV.getTypeOf($)!=="string";while(V<$.length){if(w=U-V,!F)Q=$.charCodeAt(V++),K=V>2,G=(Q&3)<<4|K>>4,W=w>1?(K&15)<<2|J>>6:64,B=w>2?J&63:64,q.push(A2.charAt(Z)+A2.charAt(G)+A2.charAt(W)+A2.charAt(B))}return q.join("")};p5.decode=function($){var q,Q,K,J,Z,G,W,B=0,V=0,U="data:";if($.substr(0,U.length)===U)throw Error("Invalid base64 input, it looks like a data url.");$=$.replace(/[^A-Za-z0-9+/=]/g,"");var w=$.length*3/4;if($.charAt($.length-1)===A2.charAt(64))w--;if($.charAt($.length-2)===A2.charAt(64))w--;if(w%1!==0)throw Error("Invalid base64 input, bad content length.");var F;if(XV.uint8array)F=new Uint8Array(w|0);else F=Array(w|0);while(B<$.length){if(J=A2.indexOf($.charAt(B++)),Z=A2.indexOf($.charAt(B++)),G=A2.indexOf($.charAt(B++)),W=A2.indexOf($.charAt(B++)),q=J<<2|Z>>4,Q=(Z&15)<<4|G>>2,K=(G&3)<<6|W,F[V++]=q,G!==64)F[V++]=Q;if(W!==64)F[V++]=K}return F}});var T6=N0((Bz,Q$)=>{Q$.exports={isNode:typeof Buffer<"u",newBufferFrom:function($,q){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from($,q);else{if(typeof $==="number")throw Error('The "data" argument must not be a number');return new Buffer($,q)}},allocBuffer:function($){if(Buffer.alloc)return Buffer.alloc($);else{var q=new Buffer($);return q.fill(0),q}},isBuffer:function($){return Buffer.isBuffer($)},isStream:function($){return $&&typeof $.on==="function"&&typeof $.pause==="function"&&typeof $.resume==="function"}}});var J$=N0((zz,K$)=>{var q$=global.MutationObserver||global.WebKitMutationObserver,u6;if(q$)C8=0,o5=new q$(I8),j8=global.document.createTextNode(""),o5.observe(j8,{characterData:!0}),u6=function(){j8.data=C8=++C8%2};else if(!global.setImmediate&&typeof global.MessageChannel<"u")g8=new global.MessageChannel,g8.port1.onmessage=I8,u6=function(){g8.port2.postMessage(0)};else if("document"in global&&"onreadystatechange"in global.document.createElement("script"))u6=function(){var $=global.document.createElement("script");$.onreadystatechange=function(){I8(),$.onreadystatechange=null,$.parentNode.removeChild($),$=null},global.document.documentElement.appendChild($)};else u6=function(){setTimeout(I8,0)};var C8,o5,j8,g8,a5,S6=[];function I8(){a5=!0;var $,q,Q=S6.length;while(Q){q=S6,S6=[],$=-1;while(++${var hV=J$();function l1(){}var o0={},V$=["REJECTED"],l5=["FULFILLED"],U$=["PENDING"];W$.exports=t2;function t2($){if(typeof $!=="function")throw TypeError("resolver must be a function");if(this.state=U$,this.queue=[],this.outcome=void 0,$!==l1)Z$(this,$)}t2.prototype.finally=function($){if(typeof $!=="function")return this;var q=this.constructor;return this.then(Q,K);function Q(J){function Z(){return J}return q.resolve($()).then(Z)}function K(J){function Z(){throw J}return q.resolve($()).then(Z)}};t2.prototype.catch=function($){return this.then(null,$)};t2.prototype.then=function($,q){if(typeof $!=="function"&&this.state===l5||typeof q!=="function"&&this.state===V$)return this;var Q=new this.constructor(l1);if(this.state!==U$){var K=this.state===l5?$:q;r5(Q,K,this.outcome)}else this.queue.push(new E6(Q,$,q));return Q};function E6($,q,Q){if(this.promise=$,typeof q==="function")this.onFulfilled=q,this.callFulfilled=this.otherCallFulfilled;if(typeof Q==="function")this.onRejected=Q,this.callRejected=this.otherCallRejected}E6.prototype.callFulfilled=function($){o0.resolve(this.promise,$)};E6.prototype.otherCallFulfilled=function($){r5(this.promise,this.onFulfilled,$)};E6.prototype.callRejected=function($){o0.reject(this.promise,$)};E6.prototype.otherCallRejected=function($){r5(this.promise,this.onRejected,$)};function r5($,q,Q){hV(function(){var K;try{K=q(Q)}catch(J){return o0.reject($,J)}if(K===$)o0.reject($,TypeError("Cannot resolve promise with itself"));else o0.resolve($,K)})}o0.resolve=function($,q){var Q=G$(xV,q);if(Q.status==="error")return o0.reject($,Q.value);var K=Q.value;if(K)Z$($,K);else{$.state=l5,$.outcome=q;var J=-1,Z=$.queue.length;while(++J{var s5=null;if(typeof Promise<"u")s5=Promise;else s5=B$();z$.exports={Promise:s5}});var M$=N0((F$)=>{(function($,q){if($.setImmediate)return;var Q=1,K={},J=!1,Z=$.document,G;function W(z){if(typeof z!=="function")z=Function(""+z);var N=Array(arguments.length-1);for(var H=0;H"u"?typeof global>"u"?F$:global:self)});var T0=N0((_0)=>{var e2=n2(),SV=i5(),s1=T6(),t5=r1();M$();function EV($){var q=null;if(e2.uint8array)q=new Uint8Array($.length);else q=Array($.length);return X8($,q)}_0.newBlob=function($,q){_0.checkSupport("blob");try{return new Blob([$],{type:q})}catch(J){try{var Q=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder,K=new Q;return K.append($),K.getBlob(q)}catch(Z){throw Error("Bug : can't construct the Blob.")}}};function _6($){return $}function X8($,q){for(var Q=0;Q<$.length;++Q)q[Q]=$.charCodeAt(Q)&255;return q}var A8={stringifyByChunk:function($,q,Q){var K=[],J=0,Z=$.length;if(Z<=Q)return String.fromCharCode.apply(null,$);while(J1)try{return A8.stringifyByChunk($,Q,q)}catch(J){q=Math.floor(q/2)}return A8.stringifyByChar($)}_0.applyFromCharCode=c6;function y8($,q){for(var Q=0;Q<$.length;Q++)q[Q]=$[Q];return q}var $1={};$1.string={string:_6,array:function($){return X8($,Array($.length))},arraybuffer:function($){return $1.string.uint8array($).buffer},uint8array:function($){return X8($,new Uint8Array($.length))},nodebuffer:function($){return X8($,s1.allocBuffer($.length))}};$1.array={string:c6,array:_6,arraybuffer:function($){return new Uint8Array($).buffer},uint8array:function($){return new Uint8Array($)},nodebuffer:function($){return s1.newBufferFrom($)}};$1.arraybuffer={string:function($){return c6(new Uint8Array($))},array:function($){return y8(new Uint8Array($),Array($.byteLength))},arraybuffer:_6,uint8array:function($){return new Uint8Array($)},nodebuffer:function($){return s1.newBufferFrom(new Uint8Array($))}};$1.uint8array={string:c6,array:function($){return y8($,Array($.length))},arraybuffer:function($){return $.buffer},uint8array:_6,nodebuffer:function($){return s1.newBufferFrom($)}};$1.nodebuffer={string:c6,array:function($){return y8($,Array($.length))},arraybuffer:function($){return $1.nodebuffer.uint8array($).buffer},uint8array:function($){return y8($,new Uint8Array($.length))},nodebuffer:_6};_0.transformTo=function($,q){if(!q)q="";if(!$)return q;_0.checkSupport($);var Q=_0.getTypeOf(q),K=$1[Q][$](q);return K};_0.resolve=function($){var q=$.split("/"),Q=[];for(var K=0;K"u")$[Q]=arguments[q][Q];return $};_0.prepareContent=function($,q,Q,K,J){var Z=t5.Promise.resolve(q).then(function(G){var W=e2.blob&&(G instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(G))!==-1);if(W&&typeof FileReader<"u")return new t5.Promise(function(B,V){var U=new FileReader;U.onload=function(w){B(w.target.result)},U.onerror=function(w){V(w.target.error)},U.readAsArrayBuffer(G)});else return G});return Z.then(function(G){var W=_0.getTypeOf(G);if(!W)return t5.Promise.reject(Error("Can't read the data of '"+$+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"));if(W==="arraybuffer")G=_0.transformTo("uint8array",G);else if(W==="string"){if(J)G=SV.decode(G);else if(Q){if(K!==!0)G=EV(G)}}return G})}});var V2=N0((Yz,N$)=>{function w$($){this.name=$||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}w$.prototype={push:function($){this.emit("data",$)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch($){this.emit("error",$)}return!0},error:function($){if(this.isFinished)return!1;if(this.isPaused)this.generatedError=$;else{if(this.isFinished=!0,this.emit("error",$),this.previous)this.previous.error($);this.cleanUp()}return!0},on:function($,q){return this._listeners[$].push(q),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function($,q){if(this._listeners[$])for(var Q=0;Q "+$;else return $}};N$.exports=w$});var e1=N0((Q1)=>{var t1=T0(),L1=n2(),_V=T6(),h8=V2(),b6=Array(256);for(X2=0;X2<256;X2++)b6[X2]=X2>=252?6:X2>=248?5:X2>=240?4:X2>=224?3:X2>=192?2:1;var X2;b6[254]=b6[254]=1;var cV=function($){var q,Q,K,J,Z,G=$.length,W=0;for(J=0;J>>6,q[Z++]=128|Q&63;else if(Q<65536)q[Z++]=224|Q>>>12,q[Z++]=128|Q>>>6&63,q[Z++]=128|Q&63;else q[Z++]=240|Q>>>18,q[Z++]=128|Q>>>12&63,q[Z++]=128|Q>>>6&63,q[Z++]=128|Q&63}return q},bV=function($,q){var Q;if(q=q||$.length,q>$.length)q=$.length;Q=q-1;while(Q>=0&&($[Q]&192)===128)Q--;if(Q<0)return q;if(Q===0)return q;return Q+b6[$[Q]]>q?Q:q},nV=function($){var q,Q,K,J,Z=$.length,G=Array(Z*2);for(Q=0,q=0;q4){G[Q++]=65533,q+=J-1;continue}K&=J===2?31:J===3?15:7;while(J>1&&q1){G[Q++]=65533;continue}if(K<65536)G[Q++]=K;else K-=65536,G[Q++]=55296|K>>10&1023,G[Q++]=56320|K&1023}if(G.length!==Q)if(G.subarray)G=G.subarray(0,Q);else G.length=Q;return t1.applyFromCharCode(G)};Q1.utf8encode=function(q){if(L1.nodebuffer)return _V.newBufferFrom(q,"utf-8");return cV(q)};Q1.utf8decode=function(q){if(L1.nodebuffer)return t1.transformTo("nodebuffer",q).toString("utf-8");return q=t1.transformTo(L1.uint8array?"uint8array":"array",q),nV(q)};function x8(){h8.call(this,"utf-8 decode"),this.leftOver=null}t1.inherits(x8,h8);x8.prototype.processChunk=function($){var q=t1.transformTo(L1.uint8array?"uint8array":"array",$.data);if(this.leftOver&&this.leftOver.length){if(L1.uint8array){var Q=q;q=new Uint8Array(Q.length+this.leftOver.length),q.set(this.leftOver,0),q.set(Q,this.leftOver.length)}else q=this.leftOver.concat(q);this.leftOver=null}var K=bV(q),J=q;if(K!==q.length)if(L1.uint8array)J=q.subarray(0,K),this.leftOver=q.subarray(K,q.length);else J=q.slice(0,K),this.leftOver=q.slice(K,q.length);this.push({data:Q1.utf8decode(J),meta:$.meta})};x8.prototype.flush=function(){if(this.leftOver&&this.leftOver.length)this.push({data:Q1.utf8decode(this.leftOver),meta:{}}),this.leftOver=null};Q1.Utf8DecodeWorker=x8;function e5(){h8.call(this,"utf-8 encode")}t1.inherits(e5,h8);e5.prototype.processChunk=function($){this.push({data:Q1.utf8encode($.data),meta:$.meta})};Q1.Utf8EncodeWorker=e5});var L$=N0((Dz,D$)=>{var Y$=V2(),k$=T0();function $4($){Y$.call(this,"ConvertWorker to "+$),this.destType=$}k$.inherits($4,Y$);$4.prototype.processChunk=function($){this.push({data:k$.transformTo(this.destType,$.data),meta:$.meta})};D$.exports=$4});var f$=N0((Lz,v$)=>{var H$=d5().Readable,dV=T0();dV.inherits(Q4,H$);function Q4($,q,Q){H$.call(this,q),this._helper=$;var K=this;$.on("data",function(J,Z){if(!K.push(J))K._helper.pause();if(Q)Q(Z)}).on("error",function(J){K.emit("error",J)}).on("end",function(){K.push(null)})}Q4.prototype._read=function(){this._helper.resume()};v$.exports=Q4});var q4=N0((Hz,C$)=>{var H1=T0(),mV=L$(),pV=V2(),iV=i5(),oV=n2(),aV=r1(),R$=null;if(oV.nodestream)try{R$=f$()}catch($){}function lV($,q,Q){switch($){case"blob":return H1.newBlob(H1.transformTo("arraybuffer",q),Q);case"base64":return iV.encode(q);default:return H1.transformTo($,q)}}function rV($,q){var Q,K=0,J=null,Z=0;for(Q=0;Q{D2.base64=!1;D2.binary=!1;D2.dir=!1;D2.createFolders=!0;D2.date=null;D2.compression=null;D2.compressionOptions=null;D2.comment=null;D2.unixPermissions=null;D2.dosPermissions=null});var J4=N0((fz,j$)=>{var O8=T0(),P8=V2(),tV=16384;function $6($){P8.call(this,"DataWorker");var q=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,$.then(function(Q){if(q.dataIsReady=!0,q.data=Q,q.max=Q&&Q.length||0,q.type=O8.getTypeOf(Q),!q.isPaused)q._tickAndRepeat()},function(Q){q.error(Q)})}O8.inherits($6,P8);$6.prototype.cleanUp=function(){P8.prototype.cleanUp.call(this),this.data=null};$6.prototype.resume=function(){if(!P8.prototype.resume.call(this))return!1;if(!this._tickScheduled&&this.dataIsReady)this._tickScheduled=!0,O8.delay(this._tickAndRepeat,[],this);return!0};$6.prototype._tickAndRepeat=function(){if(this._tickScheduled=!1,this.isPaused||this.isFinished)return;if(this._tick(),!this.isFinished)O8.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0};$6.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var $=tV,q=null,Q=Math.min(this.max,this.index+$);if(this.index>=this.max)return this.end();else{switch(this.type){case"string":q=this.data.substring(this.index,Q);break;case"uint8array":q=this.data.subarray(this.index,Q);break;case"array":case"nodebuffer":q=this.data.slice(this.index,Q);break}return this.index=Q,this.push({data:q,meta:{percent:this.max?this.index/this.max*100:0}})}};j$.exports=$6});var T8=N0((Rz,A$)=>{var eV=T0();function $U(){var $,q=[];for(var Q=0;Q<256;Q++){$=Q;for(var K=0;K<8;K++)$=$&1?3988292384^$>>>1:$>>>1;q[Q]=$}return q}var g$=$U();function QU($,q,Q,K){var J=g$,Z=K+Q;$=$^-1;for(var G=K;G>>8^J[($^q[G])&255];return $^-1}function qU($,q,Q,K){var J=g$,Z=K+Q;$=$^-1;for(var G=K;G>>8^J[($^q.charCodeAt(G))&255];return $^-1}A$.exports=function(q,Q){if(typeof q>"u"||!q.length)return 0;var K=eV.getTypeOf(q)!=="string";if(K)return QU(Q|0,q,q.length,0);else return qU(Q|0,q,q.length,0)}});var U4=N0((Iz,y$)=>{var X$=V2(),KU=T8(),JU=T0();function V4(){X$.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}JU.inherits(V4,X$);V4.prototype.processChunk=function($){this.streamInfo.crc32=KU($.data,this.streamInfo.crc32||0),this.push($)};y$.exports=V4});var x$=N0((Cz,h$)=>{var VU=T0(),Z4=V2();function G4($){Z4.call(this,"DataLengthProbe for "+$),this.propName=$,this.withStreamInfo($,0)}VU.inherits(G4,Z4);G4.prototype.processChunk=function($){if($){var q=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=q+$.data.length}Z4.prototype.processChunk.call(this,$)};h$.exports=G4});var u8=N0((jz,T$)=>{var O$=r1(),P$=J4(),UU=U4(),W4=x$();function B4($,q,Q,K,J){this.compressedSize=$,this.uncompressedSize=q,this.crc32=Q,this.compression=K,this.compressedContent=J}B4.prototype={getContentWorker:function(){var $=new P$(O$.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new W4("data_length")),q=this;return $.on("end",function(){if(this.streamInfo.data_length!==q.uncompressedSize)throw Error("Bug : uncompressed data size mismatch")}),$},getCompressedWorker:function(){return new P$(O$.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}};B4.createWorkerFrom=function($,q,Q){return $.pipe(new UU).pipe(new W4("uncompressedSize")).pipe(q.compressWorker(Q)).pipe(new W4("compressedSize")).withStreamInfo("compression",q)};T$.exports=B4});var _$=N0((gz,E$)=>{var ZU=q4(),GU=J4(),z4=e1(),F4=u8(),u$=V2(),M4=function($,q,Q){this.name=$,this.dir=Q.dir,this.date=Q.date,this.comment=Q.comment,this.unixPermissions=Q.unixPermissions,this.dosPermissions=Q.dosPermissions,this._data=q,this._dataBinary=Q.binary,this.options={compression:Q.compression,compressionOptions:Q.compressionOptions}};M4.prototype={internalStream:function($){var q=null,Q="string";try{if(!$)throw Error("No output type specified.");Q=$.toLowerCase();var K=Q==="string"||Q==="text";if(Q==="binarystring"||Q==="text")Q="string";q=this._decompressWorker();var J=!this._dataBinary;if(J&&!K)q=q.pipe(new z4.Utf8EncodeWorker);if(!J&&K)q=q.pipe(new z4.Utf8DecodeWorker)}catch(Z){q=new u$("error"),q.error(Z)}return new ZU(q,Q,"")},async:function($,q){return this.internalStream($).accumulate(q)},nodeStream:function($,q){return this.internalStream($||"nodebuffer").toNodejsStream(q)},_compressWorker:function($,q){if(this._data instanceof F4&&this._data.compression.magic===$.magic)return this._data.getCompressedWorker();else{var Q=this._decompressWorker();if(!this._dataBinary)Q=Q.pipe(new z4.Utf8EncodeWorker);return F4.createWorkerFrom(Q,$,q)}},_decompressWorker:function(){if(this._data instanceof F4)return this._data.getContentWorker();else if(this._data instanceof u$)return this._data;else return new GU(this._data)}};var S$=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],WU=function(){throw Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")};for(n6=0;n6{var BU=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function zU($,q){return Object.prototype.hasOwnProperty.call($,q)}l0.assign=function($){var q=Array.prototype.slice.call(arguments,1);while(q.length){var Q=q.shift();if(!Q)continue;if(typeof Q!=="object")throw TypeError(Q+"must be non-object");for(var K in Q)if(zU(Q,K))$[K]=Q[K]}return $};l0.shrinkBuf=function($,q){if($.length===q)return $;if($.subarray)return $.subarray(0,q);return $.length=q,$};var FU={arraySet:function($,q,Q,K,J){if(q.subarray&&$.subarray){$.set(q.subarray(Q,Q+K),J);return}for(var Z=0;Z{var wU=d2(),NU=4,c$=0,b$=1,YU=2;function q6($){var q=$.length;while(--q>=0)$[q]=0}var kU=0,o$=1,DU=2,LU=3,HU=258,H4=29,a6=256,m6=a6+1+H4,Q6=30,v4=19,a$=2*m6+1,v1=15,w4=16,vU=7,f4=256,l$=16,r$=17,s$=18,D4=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],S8=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],fU=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],t$=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],RU=512,m2=Array((m6+2)*2);q6(m2);var d6=Array(Q6*2);q6(d6);var p6=Array(RU);q6(p6);var i6=Array(HU-LU+1);q6(i6);var R4=Array(H4);q6(R4);var E8=Array(Q6);q6(E8);function N4($,q,Q,K,J){this.static_tree=$,this.extra_bits=q,this.extra_base=Q,this.elems=K,this.max_length=J,this.has_stree=$&&$.length}var e$,$Q,QQ;function Y4($,q){this.dyn_tree=$,this.max_code=0,this.stat_desc=q}function qQ($){return $<256?p6[$]:p6[256+($>>>7)]}function o6($,q){$.pending_buf[$.pending++]=q&255,$.pending_buf[$.pending++]=q>>>8&255}function $2($,q,Q){if($.bi_valid>w4-Q)$.bi_buf|=q<<$.bi_valid&65535,o6($,$.bi_buf),$.bi_buf=q>>w4-$.bi_valid,$.bi_valid+=Q-w4;else $.bi_buf|=q<<$.bi_valid&65535,$.bi_valid+=Q}function y2($,q,Q){$2($,Q[q*2],Q[q*2+1])}function KQ($,q){var Q=0;do Q|=$&1,$>>>=1,Q<<=1;while(--q>0);return Q>>>1}function IU($){if($.bi_valid===16)o6($,$.bi_buf),$.bi_buf=0,$.bi_valid=0;else if($.bi_valid>=8)$.pending_buf[$.pending++]=$.bi_buf&255,$.bi_buf>>=8,$.bi_valid-=8}function CU($,q){var{dyn_tree:Q,max_code:K}=q,J=q.stat_desc.static_tree,Z=q.stat_desc.has_stree,G=q.stat_desc.extra_bits,W=q.stat_desc.extra_base,B=q.stat_desc.max_length,V,U,w,F,M,k,f=0;for(F=0;F<=v1;F++)$.bl_count[F]=0;Q[$.heap[$.heap_max]*2+1]=0;for(V=$.heap_max+1;VB)F=B,f++;if(Q[U*2+1]=F,U>K)continue;if($.bl_count[F]++,M=0,U>=W)M=G[U-W];if(k=Q[U*2],$.opt_len+=k*(F+M),Z)$.static_len+=k*(J[U*2+1]+M)}if(f===0)return;do{F=B-1;while($.bl_count[F]===0)F--;$.bl_count[F]--,$.bl_count[F+1]+=2,$.bl_count[B]--,f-=2}while(f>0);for(F=B;F!==0;F--){U=$.bl_count[F];while(U!==0){if(w=$.heap[--V],w>K)continue;if(Q[w*2+1]!==F)$.opt_len+=(F-Q[w*2+1])*Q[w*2],Q[w*2+1]=F;U--}}}function JQ($,q,Q){var K=Array(v1+1),J=0,Z,G;for(Z=1;Z<=v1;Z++)K[Z]=J=J+Q[Z-1]<<1;for(G=0;G<=q;G++){var W=$[G*2+1];if(W===0)continue;$[G*2]=KQ(K[W]++,W)}}function jU(){var $,q,Q,K,J,Z=Array(v1+1);Q=0;for(K=0;K>=7;for(;K8)o6($,$.bi_buf);else if($.bi_valid>0)$.pending_buf[$.pending++]=$.bi_buf;$.bi_buf=0,$.bi_valid=0}function gU($,q,Q,K){if(UQ($),K)o6($,Q),o6($,~Q);wU.arraySet($.pending_buf,$.window,q,Q,$.pending),$.pending+=Q}function n$($,q,Q,K){var J=q*2,Z=Q*2;return $[J]<$[Z]||$[J]===$[Z]&&K[q]<=K[Q]}function k4($,q,Q){var K=$.heap[Q],J=Q<<1;while(J<=$.heap_len){if(J<$.heap_len&&n$(q,$.heap[J+1],$.heap[J],$.depth))J++;if(n$(q,K,$.heap[J],$.depth))break;$.heap[Q]=$.heap[J],Q=J,J<<=1}$.heap[Q]=K}function d$($,q,Q){var K,J,Z=0,G,W;if($.last_lit!==0)do if(K=$.pending_buf[$.d_buf+Z*2]<<8|$.pending_buf[$.d_buf+Z*2+1],J=$.pending_buf[$.l_buf+Z],Z++,K===0)y2($,J,q);else{if(G=i6[J],y2($,G+a6+1,q),W=D4[G],W!==0)J-=R4[G],$2($,J,W);if(K--,G=qQ(K),y2($,G,Q),W=S8[G],W!==0)K-=E8[G],$2($,K,W)}while(Z<$.last_lit);y2($,f4,q)}function L4($,q){var Q=q.dyn_tree,K=q.stat_desc.static_tree,J=q.stat_desc.has_stree,Z=q.stat_desc.elems,G,W,B=-1,V;$.heap_len=0,$.heap_max=a$;for(G=0;G>1;G>=1;G--)k4($,Q,G);V=Z;do G=$.heap[1],$.heap[1]=$.heap[$.heap_len--],k4($,Q,1),W=$.heap[1],$.heap[--$.heap_max]=G,$.heap[--$.heap_max]=W,Q[V*2]=Q[G*2]+Q[W*2],$.depth[V]=($.depth[G]>=$.depth[W]?$.depth[G]:$.depth[W])+1,Q[G*2+1]=Q[W*2+1]=V,$.heap[1]=V++,k4($,Q,1);while($.heap_len>=2);$.heap[--$.heap_max]=$.heap[1],CU($,q),JQ(Q,B,$.bl_count)}function m$($,q,Q){var K,J=-1,Z,G=q[1],W=0,B=7,V=4;if(G===0)B=138,V=3;q[(Q+1)*2+1]=65535;for(K=0;K<=Q;K++){if(Z=G,G=q[(K+1)*2+1],++W=3;q--)if($.bl_tree[t$[q]*2+1]!==0)break;return $.opt_len+=3*(q+1)+5+5+4,q}function XU($,q,Q,K){var J;$2($,q-257,5),$2($,Q-1,5),$2($,K-4,4);for(J=0;J>>=1)if(q&1&&$.dyn_ltree[Q*2]!==0)return c$;if($.dyn_ltree[18]!==0||$.dyn_ltree[20]!==0||$.dyn_ltree[26]!==0)return b$;for(Q=32;Q0){if($.strm.data_type===YU)$.strm.data_type=yU($);if(L4($,$.l_desc),L4($,$.d_desc),G=AU($),J=$.opt_len+3+7>>>3,Z=$.static_len+3+7>>>3,Z<=J)J=Z}else J=Z=Q+5;if(Q+4<=J&&q!==-1)ZQ($,q,Q,K);else if($.strategy===NU||Z===J)$2($,(o$<<1)+(K?1:0),3),d$($,m2,d6);else $2($,(DU<<1)+(K?1:0),3),XU($,$.l_desc.max_code+1,$.d_desc.max_code+1,G+1),d$($,$.dyn_ltree,$.dyn_dtree);if(VQ($),K)UQ($)}function PU($,q,Q){if($.pending_buf[$.d_buf+$.last_lit*2]=q>>>8&255,$.pending_buf[$.d_buf+$.last_lit*2+1]=q&255,$.pending_buf[$.l_buf+$.last_lit]=Q&255,$.last_lit++,q===0)$.dyn_ltree[Q*2]++;else $.matches++,q--,$.dyn_ltree[(i6[Q]+a6+1)*2]++,$.dyn_dtree[qQ(q)*2]++;return $.last_lit===$.lit_bufsize-1}K6._tr_init=hU;K6._tr_stored_block=ZQ;K6._tr_flush_block=OU;K6._tr_tally=PU;K6._tr_align=xU});var I4=N0((yz,WQ)=>{function TU($,q,Q,K){var J=$&65535|0,Z=$>>>16&65535|0,G=0;while(Q!==0){G=Q>2000?2000:Q,Q-=G;do J=J+q[K++]|0,Z=Z+J|0;while(--G);J%=65521,Z%=65521}return J|Z<<16|0}WQ.exports=TU});var C4=N0((hz,BQ)=>{function uU(){var $,q=[];for(var Q=0;Q<256;Q++){$=Q;for(var K=0;K<8;K++)$=$&1?3988292384^$>>>1:$>>>1;q[Q]=$}return q}var SU=uU();function EU($,q,Q,K){var J=SU,Z=K+Q;$^=-1;for(var G=K;G>>8^J[($^q[G])&255];return $^-1}BQ.exports=EU});var _8=N0((xz,zQ)=>{zQ.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var HQ=N0((O2)=>{var r0=d2(),M2=GQ(),NQ=I4(),q1=C4(),_U=_8(),C1=0,cU=1,bU=3,Z1=4,FQ=5,x2=0,MQ=1,w2=-2,nU=-3,j4=-5,dU=-1,mU=1,c8=2,pU=3,iU=4,oU=0,aU=2,m8=8,lU=9,rU=15,sU=8,tU=29,eU=256,A4=eU+1+tU,$Z=30,QZ=19,qZ=2*A4+1,KZ=15,f0=3,V1=258,L2=V1+f0+1,JZ=32,p8=42,X4=69,b8=73,n8=91,d8=103,f1=113,r6=666,c0=1,s6=2,R1=3,U6=4,VZ=3;function U1($,q){return $.msg=_U[q],q}function wQ($){return($<<1)-($>4?9:0)}function J1($){var q=$.length;while(--q>=0)$[q]=0}function K1($){var q=$.state,Q=q.pending;if(Q>$.avail_out)Q=$.avail_out;if(Q===0)return;if(r0.arraySet($.output,q.pending_buf,q.pending_out,Q,$.next_out),$.next_out+=Q,q.pending_out+=Q,$.total_out+=Q,$.avail_out-=Q,q.pending-=Q,q.pending===0)q.pending_out=0}function d0($,q){M2._tr_flush_block($,$.block_start>=0?$.block_start:-1,$.strstart-$.block_start,q),$.block_start=$.strstart,K1($.strm)}function C0($,q){$.pending_buf[$.pending++]=q}function l6($,q){$.pending_buf[$.pending++]=q>>>8&255,$.pending_buf[$.pending++]=q&255}function UZ($,q,Q,K){var J=$.avail_in;if(J>K)J=K;if(J===0)return 0;if($.avail_in-=J,r0.arraySet(q,$.input,$.next_in,J,Q),$.state.wrap===1)$.adler=NQ($.adler,q,J,Q);else if($.state.wrap===2)$.adler=q1($.adler,q,J,Q);return $.next_in+=J,$.total_in+=J,J}function YQ($,q){var{max_chain_length:Q,strstart:K}=$,J,Z,G=$.prev_length,W=$.nice_match,B=$.strstart>$.w_size-L2?$.strstart-($.w_size-L2):0,V=$.window,U=$.w_mask,w=$.prev,F=$.strstart+V1,M=V[K+G-1],k=V[K+G];if($.prev_length>=$.good_match)Q>>=2;if(W>$.lookahead)W=$.lookahead;do{if(J=q,V[J+G]!==k||V[J+G-1]!==M||V[J]!==V[K]||V[++J]!==V[K+1])continue;K+=2,J++;do;while(V[++K]===V[++J]&&V[++K]===V[++J]&&V[++K]===V[++J]&&V[++K]===V[++J]&&V[++K]===V[++J]&&V[++K]===V[++J]&&V[++K]===V[++J]&&V[++K]===V[++J]&&KG){if($.match_start=q,G=Z,Z>=W)break;M=V[K+G-1],k=V[K+G]}}while((q=w[q&U])>B&&--Q!==0);if(G<=$.lookahead)return G;return $.lookahead}function I1($){var q=$.w_size,Q,K,J,Z,G;do{if(Z=$.window_size-$.lookahead-$.strstart,$.strstart>=q+(q-L2)){r0.arraySet($.window,$.window,q,q,0),$.match_start-=q,$.strstart-=q,$.block_start-=q,K=$.hash_size,Q=K;do J=$.head[--Q],$.head[Q]=J>=q?J-q:0;while(--K);K=q,Q=K;do J=$.prev[--Q],$.prev[Q]=J>=q?J-q:0;while(--K);Z+=q}if($.strm.avail_in===0)break;if(K=UZ($.strm,$.window,$.strstart+$.lookahead,Z),$.lookahead+=K,$.lookahead+$.insert>=f0){G=$.strstart-$.insert,$.ins_h=$.window[G],$.ins_h=($.ins_h<<$.hash_shift^$.window[G+1])&$.hash_mask;while($.insert)if($.ins_h=($.ins_h<<$.hash_shift^$.window[G+f0-1])&$.hash_mask,$.prev[G&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=G,G++,$.insert--,$.lookahead+$.insert$.pending_buf_size-5)Q=$.pending_buf_size-5;for(;;){if($.lookahead<=1){if(I1($),$.lookahead===0&&q===C1)return c0;if($.lookahead===0)break}$.strstart+=$.lookahead,$.lookahead=0;var K=$.block_start+Q;if($.strstart===0||$.strstart>=K){if($.lookahead=$.strstart-K,$.strstart=K,d0($,!1),$.strm.avail_out===0)return c0}if($.strstart-$.block_start>=$.w_size-L2){if(d0($,!1),$.strm.avail_out===0)return c0}}if($.insert=0,q===Z1){if(d0($,!0),$.strm.avail_out===0)return R1;return U6}if($.strstart>$.block_start){if(d0($,!1),$.strm.avail_out===0)return c0}return c0}function g4($,q){var Q,K;for(;;){if($.lookahead=f0)$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+f0-1])&$.hash_mask,Q=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;if(Q!==0&&$.strstart-Q<=$.w_size-L2)$.match_length=YQ($,Q);if($.match_length>=f0)if(K=M2._tr_tally($,$.strstart-$.match_start,$.match_length-f0),$.lookahead-=$.match_length,$.match_length<=$.max_lazy_match&&$.lookahead>=f0){$.match_length--;do $.strstart++,$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+f0-1])&$.hash_mask,Q=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;while(--$.match_length!==0);$.strstart++}else $.strstart+=$.match_length,$.match_length=0,$.ins_h=$.window[$.strstart],$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+1])&$.hash_mask;else K=M2._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++;if(K){if(d0($,!1),$.strm.avail_out===0)return c0}}if($.insert=$.strstart=f0)$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+f0-1])&$.hash_mask,Q=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;if($.prev_length=$.match_length,$.prev_match=$.match_start,$.match_length=f0-1,Q!==0&&$.prev_length<$.max_lazy_match&&$.strstart-Q<=$.w_size-L2){if($.match_length=YQ($,Q),$.match_length<=5&&($.strategy===mU||$.match_length===f0&&$.strstart-$.match_start>4096))$.match_length=f0-1}if($.prev_length>=f0&&$.match_length<=$.prev_length){J=$.strstart+$.lookahead-f0,K=M2._tr_tally($,$.strstart-1-$.prev_match,$.prev_length-f0),$.lookahead-=$.prev_length-1,$.prev_length-=2;do if(++$.strstart<=J)$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+f0-1])&$.hash_mask,Q=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;while(--$.prev_length!==0);if($.match_available=0,$.match_length=f0-1,$.strstart++,K){if(d0($,!1),$.strm.avail_out===0)return c0}}else if($.match_available){if(K=M2._tr_tally($,0,$.window[$.strstart-1]),K)d0($,!1);if($.strstart++,$.lookahead--,$.strm.avail_out===0)return c0}else $.match_available=1,$.strstart++,$.lookahead--}if($.match_available)K=M2._tr_tally($,0,$.window[$.strstart-1]),$.match_available=0;if($.insert=$.strstart=f0&&$.strstart>0){if(J=$.strstart-1,K=G[J],K===G[++J]&&K===G[++J]&&K===G[++J]){Z=$.strstart+V1;do;while(K===G[++J]&&K===G[++J]&&K===G[++J]&&K===G[++J]&&K===G[++J]&&K===G[++J]&&K===G[++J]&&K===G[++J]&&J$.lookahead)$.match_length=$.lookahead}}if($.match_length>=f0)Q=M2._tr_tally($,1,$.match_length-f0),$.lookahead-=$.match_length,$.strstart+=$.match_length,$.match_length=0;else Q=M2._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++;if(Q){if(d0($,!1),$.strm.avail_out===0)return c0}}if($.insert=0,q===Z1){if(d0($,!0),$.strm.avail_out===0)return R1;return U6}if($.last_lit){if(d0($,!1),$.strm.avail_out===0)return c0}return s6}function WZ($,q){var Q;for(;;){if($.lookahead===0){if(I1($),$.lookahead===0){if(q===C1)return c0;break}}if($.match_length=0,Q=M2._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++,Q){if(d0($,!1),$.strm.avail_out===0)return c0}}if($.insert=0,q===Z1){if(d0($,!0),$.strm.avail_out===0)return R1;return U6}if($.last_lit){if(d0($,!1),$.strm.avail_out===0)return c0}return s6}function h2($,q,Q,K,J){this.good_length=$,this.max_lazy=q,this.nice_length=Q,this.max_chain=K,this.func=J}var V6;V6=[new h2(0,0,0,0,ZZ),new h2(4,4,8,4,g4),new h2(4,5,16,8,g4),new h2(4,6,32,32,g4),new h2(4,4,16,16,J6),new h2(8,16,32,32,J6),new h2(8,16,128,128,J6),new h2(8,32,128,256,J6),new h2(32,128,258,1024,J6),new h2(32,258,258,4096,J6)];function BZ($){$.window_size=2*$.w_size,J1($.head),$.max_lazy_match=V6[$.level].max_lazy,$.good_match=V6[$.level].good_length,$.nice_match=V6[$.level].nice_length,$.max_chain_length=V6[$.level].max_chain,$.strstart=0,$.block_start=0,$.lookahead=0,$.insert=0,$.match_length=$.prev_length=f0-1,$.match_available=0,$.ins_h=0}function zZ(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=m8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new r0.Buf16(qZ*2),this.dyn_dtree=new r0.Buf16((2*$Z+1)*2),this.bl_tree=new r0.Buf16((2*QZ+1)*2),J1(this.dyn_ltree),J1(this.dyn_dtree),J1(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new r0.Buf16(KZ+1),this.heap=new r0.Buf16(2*A4+1),J1(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new r0.Buf16(2*A4+1),J1(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function kQ($){var q;if(!$||!$.state)return U1($,w2);if($.total_in=$.total_out=0,$.data_type=aU,q=$.state,q.pending=0,q.pending_out=0,q.wrap<0)q.wrap=-q.wrap;return q.status=q.wrap?p8:f1,$.adler=q.wrap===2?0:1,q.last_flush=C1,M2._tr_init(q),x2}function DQ($){var q=kQ($);if(q===x2)BZ($.state);return q}function FZ($,q){if(!$||!$.state)return w2;if($.state.wrap!==2)return w2;return $.state.gzhead=q,x2}function LQ($,q,Q,K,J,Z){if(!$)return w2;var G=1;if(q===dU)q=6;if(K<0)G=0,K=-K;else if(K>15)G=2,K-=16;if(J<1||J>lU||Q!==m8||K<8||K>15||q<0||q>9||Z<0||Z>iU)return U1($,w2);if(K===8)K=9;var W=new zZ;return $.state=W,W.strm=$,W.wrap=G,W.gzhead=null,W.w_bits=K,W.w_size=1<FQ||q<0)return $?U1($,w2):w2;if(K=$.state,!$.output||!$.input&&$.avail_in!==0||K.status===r6&&q!==Z1)return U1($,$.avail_out===0?j4:w2);if(K.strm=$,Q=K.last_flush,K.last_flush=q,K.status===p8)if(K.wrap===2)if($.adler=0,C0(K,31),C0(K,139),C0(K,8),!K.gzhead)C0(K,0),C0(K,0),C0(K,0),C0(K,0),C0(K,0),C0(K,K.level===9?2:K.strategy>=c8||K.level<2?4:0),C0(K,VZ),K.status=f1;else{if(C0(K,(K.gzhead.text?1:0)+(K.gzhead.hcrc?2:0)+(!K.gzhead.extra?0:4)+(!K.gzhead.name?0:8)+(!K.gzhead.comment?0:16)),C0(K,K.gzhead.time&255),C0(K,K.gzhead.time>>8&255),C0(K,K.gzhead.time>>16&255),C0(K,K.gzhead.time>>24&255),C0(K,K.level===9?2:K.strategy>=c8||K.level<2?4:0),C0(K,K.gzhead.os&255),K.gzhead.extra&&K.gzhead.extra.length)C0(K,K.gzhead.extra.length&255),C0(K,K.gzhead.extra.length>>8&255);if(K.gzhead.hcrc)$.adler=q1($.adler,K.pending_buf,K.pending,0);K.gzindex=0,K.status=X4}else{var G=m8+(K.w_bits-8<<4)<<8,W=-1;if(K.strategy>=c8||K.level<2)W=0;else if(K.level<6)W=1;else if(K.level===6)W=2;else W=3;if(G|=W<<6,K.strstart!==0)G|=JZ;if(G+=31-G%31,K.status=f1,l6(K,G),K.strstart!==0)l6(K,$.adler>>>16),l6(K,$.adler&65535);$.adler=1}if(K.status===X4)if(K.gzhead.extra){J=K.pending;while(K.gzindex<(K.gzhead.extra.length&65535)){if(K.pending===K.pending_buf_size){if(K.gzhead.hcrc&&K.pending>J)$.adler=q1($.adler,K.pending_buf,K.pending-J,J);if(K1($),J=K.pending,K.pending===K.pending_buf_size)break}C0(K,K.gzhead.extra[K.gzindex]&255),K.gzindex++}if(K.gzhead.hcrc&&K.pending>J)$.adler=q1($.adler,K.pending_buf,K.pending-J,J);if(K.gzindex===K.gzhead.extra.length)K.gzindex=0,K.status=b8}else K.status=b8;if(K.status===b8)if(K.gzhead.name){J=K.pending;do{if(K.pending===K.pending_buf_size){if(K.gzhead.hcrc&&K.pending>J)$.adler=q1($.adler,K.pending_buf,K.pending-J,J);if(K1($),J=K.pending,K.pending===K.pending_buf_size){Z=1;break}}if(K.gzindexJ)$.adler=q1($.adler,K.pending_buf,K.pending-J,J);if(Z===0)K.gzindex=0,K.status=n8}else K.status=n8;if(K.status===n8)if(K.gzhead.comment){J=K.pending;do{if(K.pending===K.pending_buf_size){if(K.gzhead.hcrc&&K.pending>J)$.adler=q1($.adler,K.pending_buf,K.pending-J,J);if(K1($),J=K.pending,K.pending===K.pending_buf_size){Z=1;break}}if(K.gzindexJ)$.adler=q1($.adler,K.pending_buf,K.pending-J,J);if(Z===0)K.status=d8}else K.status=d8;if(K.status===d8)if(K.gzhead.hcrc){if(K.pending+2>K.pending_buf_size)K1($);if(K.pending+2<=K.pending_buf_size)C0(K,$.adler&255),C0(K,$.adler>>8&255),$.adler=0,K.status=f1}else K.status=f1;if(K.pending!==0){if(K1($),$.avail_out===0)return K.last_flush=-1,x2}else if($.avail_in===0&&wQ(q)<=wQ(Q)&&q!==Z1)return U1($,j4);if(K.status===r6&&$.avail_in!==0)return U1($,j4);if($.avail_in!==0||K.lookahead!==0||q!==C1&&K.status!==r6){var B=K.strategy===c8?WZ(K,q):K.strategy===pU?GZ(K,q):V6[K.level].func(K,q);if(B===R1||B===U6)K.status=r6;if(B===c0||B===R1){if($.avail_out===0)K.last_flush=-1;return x2}if(B===s6){if(q===cU)M2._tr_align(K);else if(q!==FQ){if(M2._tr_stored_block(K,0,0,!1),q===bU){if(J1(K.head),K.lookahead===0)K.strstart=0,K.block_start=0,K.insert=0}}if(K1($),$.avail_out===0)return K.last_flush=-1,x2}}if(q!==Z1)return x2;if(K.wrap<=0)return MQ;if(K.wrap===2)C0(K,$.adler&255),C0(K,$.adler>>8&255),C0(K,$.adler>>16&255),C0(K,$.adler>>24&255),C0(K,$.total_in&255),C0(K,$.total_in>>8&255),C0(K,$.total_in>>16&255),C0(K,$.total_in>>24&255);else l6(K,$.adler>>>16),l6(K,$.adler&65535);if(K1($),K.wrap>0)K.wrap=-K.wrap;return K.pending!==0?x2:MQ}function NZ($){var q;if(!$||!$.state)return w2;if(q=$.state.status,q!==p8&&q!==X4&&q!==b8&&q!==n8&&q!==d8&&q!==f1&&q!==r6)return U1($,w2);return $.state=null,q===f1?U1($,nU):x2}function YZ($,q){var Q=q.length,K,J,Z,G,W,B,V,U;if(!$||!$.state)return w2;if(K=$.state,G=K.wrap,G===2||G===1&&K.status!==p8||K.lookahead)return w2;if(G===1)$.adler=NQ($.adler,q,Q,0);if(K.wrap=0,Q>=K.w_size){if(G===0)J1(K.head),K.strstart=0,K.block_start=0,K.insert=0;U=new r0.Buf8(K.w_size),r0.arraySet(U,q,Q-K.w_size,K.w_size,0),q=U,Q=K.w_size}W=$.avail_in,B=$.next_in,V=$.input,$.avail_in=Q,$.next_in=0,$.input=q,I1(K);while(K.lookahead>=f0){J=K.strstart,Z=K.lookahead-(f0-1);do K.ins_h=(K.ins_h<{var i8=d2(),vQ=!0,fQ=!0;try{String.fromCharCode.apply(null,[0])}catch($){vQ=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch($){fQ=!1}var t6=new i8.Buf8(256);for(P2=0;P2<256;P2++)t6[P2]=P2>=252?6:P2>=248?5:P2>=240?4:P2>=224?3:P2>=192?2:1;var P2;t6[254]=t6[254]=1;Z6.string2buf=function($){var q,Q,K,J,Z,G=$.length,W=0;for(J=0;J>>6,q[Z++]=128|Q&63;else if(Q<65536)q[Z++]=224|Q>>>12,q[Z++]=128|Q>>>6&63,q[Z++]=128|Q&63;else q[Z++]=240|Q>>>18,q[Z++]=128|Q>>>12&63,q[Z++]=128|Q>>>6&63,q[Z++]=128|Q&63}return q};function RQ($,q){if(q<65534){if($.subarray&&fQ||!$.subarray&&vQ)return String.fromCharCode.apply(null,i8.shrinkBuf($,q))}var Q="";for(var K=0;K4){W[K++]=65533,Q+=Z-1;continue}J&=Z===2?31:Z===3?15:7;while(Z>1&&Q1){W[K++]=65533;continue}if(J<65536)W[K++]=J;else J-=65536,W[K++]=55296|J>>10&1023,W[K++]=56320|J&1023}return RQ(W,K)};Z6.utf8border=function($,q){var Q;if(q=q||$.length,q>$.length)q=$.length;Q=q-1;while(Q>=0&&($[Q]&192)===128)Q--;if(Q<0)return q;if(Q===0)return q;return Q+t6[$[Q]]>q?Q:q}});var h4=N0((Tz,IQ)=>{function kZ(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}IQ.exports=kZ});var AQ=N0((Q8)=>{var e6=HQ(),$8=d2(),O4=y4(),P4=_8(),DZ=h4(),gQ=Object.prototype.toString,LZ=0,x4=4,G6=0,CQ=1,jQ=2,HZ=-1,vZ=0,fZ=8;function j1($){if(!(this instanceof j1))return new j1($);this.options=$8.assign({level:HZ,method:fZ,chunkSize:16384,windowBits:15,memLevel:8,strategy:vZ,to:""},$||{});var q=this.options;if(q.raw&&q.windowBits>0)q.windowBits=-q.windowBits;else if(q.gzip&&q.windowBits>0&&q.windowBits<16)q.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new DZ,this.strm.avail_out=0;var Q=e6.deflateInit2(this.strm,q.level,q.method,q.windowBits,q.memLevel,q.strategy);if(Q!==G6)throw Error(P4[Q]);if(q.header)e6.deflateSetHeader(this.strm,q.header);if(q.dictionary){var K;if(typeof q.dictionary==="string")K=O4.string2buf(q.dictionary);else if(gQ.call(q.dictionary)==="[object ArrayBuffer]")K=new Uint8Array(q.dictionary);else K=q.dictionary;if(Q=e6.deflateSetDictionary(this.strm,K),Q!==G6)throw Error(P4[Q]);this._dict_set=!0}}j1.prototype.push=function($,q){var Q=this.strm,K=this.options.chunkSize,J,Z;if(this.ended)return!1;if(Z=q===~~q?q:q===!0?x4:LZ,typeof $==="string")Q.input=O4.string2buf($);else if(gQ.call($)==="[object ArrayBuffer]")Q.input=new Uint8Array($);else Q.input=$;Q.next_in=0,Q.avail_in=Q.input.length;do{if(Q.avail_out===0)Q.output=new $8.Buf8(K),Q.next_out=0,Q.avail_out=K;if(J=e6.deflate(Q,Z),J!==CQ&&J!==G6)return this.onEnd(J),this.ended=!0,!1;if(Q.avail_out===0||Q.avail_in===0&&(Z===x4||Z===jQ))if(this.options.to==="string")this.onData(O4.buf2binstring($8.shrinkBuf(Q.output,Q.next_out)));else this.onData($8.shrinkBuf(Q.output,Q.next_out))}while((Q.avail_in>0||Q.avail_out===0)&&J!==CQ);if(Z===x4)return J=e6.deflateEnd(this.strm),this.onEnd(J),this.ended=!0,J===G6;if(Z===jQ)return this.onEnd(G6),Q.avail_out=0,!0;return!0};j1.prototype.onData=function($){this.chunks.push($)};j1.prototype.onEnd=function($){if($===G6)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=$8.flattenChunks(this.chunks);this.chunks=[],this.err=$,this.msg=this.strm.msg};function T4($,q){var Q=new j1(q);if(Q.push($,!0),Q.err)throw Q.msg||P4[Q.err];return Q.result}function RZ($,q){return q=q||{},q.raw=!0,T4($,q)}function IZ($,q){return q=q||{},q.gzip=!0,T4($,q)}Q8.Deflate=j1;Q8.deflate=T4;Q8.deflateRaw=RZ;Q8.gzip=IZ});var yQ=N0((Sz,XQ)=>{var o8=30,CZ=12;XQ.exports=function(q,Q){var K,J,Z,G,W,B,V,U,w,F,M,k,f,L,D,z,N,H,v,j,n,d,_,X,P;K=q.state,J=q.next_in,X=q.input,Z=J+(q.avail_in-5),G=q.next_out,P=q.output,W=G-(Q-q.avail_out),B=G+(q.avail_out-257),V=K.dmax,U=K.wsize,w=K.whave,F=K.wnext,M=K.window,k=K.hold,f=K.bits,L=K.lencode,D=K.distcode,z=(1<>>24,k>>>=v,f-=v,v=H>>>16&255,v===0)P[G++]=H&65535;else if(v&16){if(j=H&65535,v&=15,v){if(f>>=v,f-=v}if(f<15)k+=X[J++]<>>24,k>>>=v,f-=v,v=H>>>16&255,v&16){if(n=H&65535,v&=15,fV){q.msg="invalid distance too far back",K.mode=o8;break $}if(k>>>=v,f-=v,v=G-W,n>v){if(v=n-v,v>w){if(K.sane){q.msg="invalid distance too far back",K.mode=o8;break $}}if(d=0,_=M,F===0){if(d+=U-v,v2)P[G++]=_[d++],P[G++]=_[d++],P[G++]=_[d++],j-=3;if(j){if(P[G++]=_[d++],j>1)P[G++]=_[d++]}}else{d=G-n;do P[G++]=P[d++],P[G++]=P[d++],P[G++]=P[d++],j-=3;while(j>2);if(j){if(P[G++]=P[d++],j>1)P[G++]=P[d++]}}}else if((v&64)===0){H=D[(H&65535)+(k&(1<>3,J-=j,f-=j<<3,k&=(1<{var hQ=d2(),W6=15,xQ=852,OQ=592,PQ=0,u4=1,TQ=2,jZ=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],gZ=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],AZ=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],XZ=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];uQ.exports=function(q,Q,K,J,Z,G,W,B){var V=B.bits,U=0,w=0,F=0,M=0,k=0,f=0,L=0,D=0,z=0,N=0,H,v,j,n,d,_=null,X=0,P,g=new hQ.Buf16(W6+1),c=new hQ.Buf16(W6+1),h=null,x=0,l,$0,Z0;for(U=0;U<=W6;U++)g[U]=0;for(w=0;w=1;M--)if(g[M]!==0)break;if(k>M)k=M;if(M===0)return Z[G++]=20971520,Z[G++]=20971520,B.bits=1,0;for(F=1;F0&&(q===PQ||M!==1))return-1;c[1]=0;for(U=1;UxQ||q===TQ&&z>OQ)return 1;for(;;){if(l=U-L,W[w]P)$0=h[x+W[w]],Z0=_[X+W[w]];else $0=96,Z0=0;H=1<>L)+v]=l<<24|$0<<16|Z0|0;while(v!==0);H=1<>=1;if(H!==0)N&=H-1,N+=H;else N=0;if(w++,--g[U]===0){if(U===M)break;U=Q[K+W[w]]}if(U>k&&(N&n)!==j){if(L===0)L=k;d+=F,f=U-L,D=1<xQ||q===TQ&&z>OQ)return 1;j=N&n,Z[j]=k<<24|f<<16|d-G|0}}if(N!==0)Z[d+N]=U-L<<24|4194304|0;return B.bits=k,0}});var Dq=N0((H2)=>{var U2=d2(),n4=I4(),T2=C4(),yZ=yQ(),q8=SQ(),hZ=0,Wq=1,Bq=2,EQ=4,xZ=5,a8=6,g1=0,OZ=1,PZ=2,N2=-2,zq=-3,d4=-4,TZ=-5,_Q=8,Fq=1,cQ=2,bQ=3,nQ=4,dQ=5,mQ=6,pQ=7,iQ=8,oQ=9,aQ=10,s8=11,p2=12,S4=13,lQ=14,E4=15,rQ=16,sQ=17,tQ=18,eQ=19,l8=20,r8=21,$q=22,Qq=23,qq=24,Kq=25,Jq=26,_4=27,Vq=28,Uq=29,x0=30,m4=31,uZ=32,SZ=852,EZ=592,_Z=15,cZ=_Z;function Zq($){return($>>>24&255)+($>>>8&65280)+(($&65280)<<8)+(($&255)<<24)}function bZ(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new U2.Buf16(320),this.work=new U2.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Mq($){var q;if(!$||!$.state)return N2;if(q=$.state,$.total_in=$.total_out=q.total=0,$.msg="",q.wrap)$.adler=q.wrap&1;return q.mode=Fq,q.last=0,q.havedict=0,q.dmax=32768,q.head=null,q.hold=0,q.bits=0,q.lencode=q.lendyn=new U2.Buf32(SZ),q.distcode=q.distdyn=new U2.Buf32(EZ),q.sane=1,q.back=-1,g1}function wq($){var q;if(!$||!$.state)return N2;return q=$.state,q.wsize=0,q.whave=0,q.wnext=0,Mq($)}function Nq($,q){var Q,K;if(!$||!$.state)return N2;if(K=$.state,q<0)Q=0,q=-q;else if(Q=(q>>4)+1,q<48)q&=15;if(q&&(q<8||q>15))return N2;if(K.window!==null&&K.wbits!==q)K.window=null;return K.wrap=Q,K.wbits=q,wq($)}function Yq($,q){var Q,K;if(!$)return N2;if(K=new bZ,$.state=K,K.window=null,Q=Nq($,q),Q!==g1)$.state=null;return Q}function nZ($){return Yq($,cZ)}var Gq=!0,c4,b4;function dZ($){if(Gq){var q;c4=new U2.Buf32(512),b4=new U2.Buf32(32),q=0;while(q<144)$.lens[q++]=8;while(q<256)$.lens[q++]=9;while(q<280)$.lens[q++]=7;while(q<288)$.lens[q++]=8;q8(Wq,$.lens,0,288,c4,0,$.work,{bits:9}),q=0;while(q<32)$.lens[q++]=5;q8(Bq,$.lens,0,32,b4,0,$.work,{bits:5}),Gq=!1}$.lencode=c4,$.lenbits=9,$.distcode=b4,$.distbits=5}function kq($,q,Q,K){var J,Z=$.state;if(Z.window===null)Z.wsize=1<=Z.wsize)U2.arraySet(Z.window,q,Q-Z.wsize,Z.wsize,0),Z.wnext=0,Z.whave=Z.wsize;else{if(J=Z.wsize-Z.wnext,J>K)J=K;if(U2.arraySet(Z.window,q,Q-K,J,Z.wnext),K-=J,K)U2.arraySet(Z.window,q,Q-K,K,0),Z.wnext=K,Z.whave=Z.wsize;else{if(Z.wnext+=J,Z.wnext===Z.wsize)Z.wnext=0;if(Z.whave>>8&255,Q.check=T2(Q.check,_,2,0),V=0,U=0,Q.mode=cQ;break}if(Q.flags=0,Q.head)Q.head.done=!1;if(!(Q.wrap&1)||(((V&255)<<8)+(V>>8))%31){$.msg="incorrect header check",Q.mode=x0;break}if((V&15)!==_Q){$.msg="unknown compression method",Q.mode=x0;break}if(V>>>=4,U-=4,n=(V&15)+8,Q.wbits===0)Q.wbits=n;else if(n>Q.wbits){$.msg="invalid window size",Q.mode=x0;break}Q.dmax=1<>8&1;if(Q.flags&512)_[0]=V&255,_[1]=V>>>8&255,Q.check=T2(Q.check,_,2,0);V=0,U=0,Q.mode=bQ;case bQ:while(U<32){if(W===0)break $;W--,V+=K[Z++]<>>8&255,_[2]=V>>>16&255,_[3]=V>>>24&255,Q.check=T2(Q.check,_,4,0);V=0,U=0,Q.mode=nQ;case nQ:while(U<16){if(W===0)break $;W--,V+=K[Z++]<>8;if(Q.flags&512)_[0]=V&255,_[1]=V>>>8&255,Q.check=T2(Q.check,_,2,0);V=0,U=0,Q.mode=dQ;case dQ:if(Q.flags&1024){while(U<16){if(W===0)break $;W--,V+=K[Z++]<>>8&255,Q.check=T2(Q.check,_,2,0);V=0,U=0}else if(Q.head)Q.head.extra=null;Q.mode=mQ;case mQ:if(Q.flags&1024){if(M=Q.length,M>W)M=W;if(M){if(Q.head){if(n=Q.head.extra_len-Q.length,!Q.head.extra)Q.head.extra=Array(Q.head.extra_len);U2.arraySet(Q.head.extra,K,Z,M,n)}if(Q.flags&512)Q.check=T2(Q.check,K,M,Z);W-=M,Z+=M,Q.length-=M}if(Q.length)break $}Q.length=0,Q.mode=pQ;case pQ:if(Q.flags&2048){if(W===0)break $;M=0;do if(n=K[Z+M++],Q.head&&n&&Q.length<65536)Q.head.name+=String.fromCharCode(n);while(n&&M>9&1,Q.head.done=!0;$.adler=Q.check=0,Q.mode=p2;break;case aQ:while(U<32){if(W===0)break $;W--,V+=K[Z++]<>>=U&7,U-=U&7,Q.mode=_4;break}while(U<3){if(W===0)break $;W--,V+=K[Z++]<>>=1,U-=1,V&3){case 0:Q.mode=lQ;break;case 1:if(dZ(Q),Q.mode=l8,q===a8){V>>>=2,U-=2;break $}break;case 2:Q.mode=sQ;break;case 3:$.msg="invalid block type",Q.mode=x0}V>>>=2,U-=2;break;case lQ:V>>>=U&7,U-=U&7;while(U<32){if(W===0)break $;W--,V+=K[Z++]<>>16^65535)){$.msg="invalid stored block lengths",Q.mode=x0;break}if(Q.length=V&65535,V=0,U=0,Q.mode=E4,q===a8)break $;case E4:Q.mode=rQ;case rQ:if(M=Q.length,M){if(M>W)M=W;if(M>B)M=B;if(M===0)break $;U2.arraySet(J,K,Z,M,G),W-=M,Z+=M,B-=M,G+=M,Q.length-=M;break}Q.mode=p2;break;case sQ:while(U<14){if(W===0)break $;W--,V+=K[Z++]<>>=5,U-=5,Q.ndist=(V&31)+1,V>>>=5,U-=5,Q.ncode=(V&15)+4,V>>>=4,U-=4,Q.nlen>286||Q.ndist>30){$.msg="too many length or distance symbols",Q.mode=x0;break}Q.have=0,Q.mode=tQ;case tQ:while(Q.have>>=3,U-=3}while(Q.have<19)Q.lens[g[Q.have++]]=0;if(Q.lencode=Q.lendyn,Q.lenbits=7,X={bits:Q.lenbits},d=q8(hZ,Q.lens,0,19,Q.lencode,0,Q.work,X),Q.lenbits=X.bits,d){$.msg="invalid code lengths set",Q.mode=x0;break}Q.have=0,Q.mode=eQ;case eQ:while(Q.have>>24,z=L>>>16&255,N=L&65535,D<=U)break;if(W===0)break $;W--,V+=K[Z++]<>>=D,U-=D,Q.lens[Q.have++]=N;else{if(N===16){P=D+2;while(U>>=D,U-=D,Q.have===0){$.msg="invalid bit length repeat",Q.mode=x0;break}n=Q.lens[Q.have-1],M=3+(V&3),V>>>=2,U-=2}else if(N===17){P=D+3;while(U>>=D,U-=D,n=0,M=3+(V&7),V>>>=3,U-=3}else{P=D+7;while(U>>=D,U-=D,n=0,M=11+(V&127),V>>>=7,U-=7}if(Q.have+M>Q.nlen+Q.ndist){$.msg="invalid bit length repeat",Q.mode=x0;break}while(M--)Q.lens[Q.have++]=n}}if(Q.mode===x0)break;if(Q.lens[256]===0){$.msg="invalid code -- missing end-of-block",Q.mode=x0;break}if(Q.lenbits=9,X={bits:Q.lenbits},d=q8(Wq,Q.lens,0,Q.nlen,Q.lencode,0,Q.work,X),Q.lenbits=X.bits,d){$.msg="invalid literal/lengths set",Q.mode=x0;break}if(Q.distbits=6,Q.distcode=Q.distdyn,X={bits:Q.distbits},d=q8(Bq,Q.lens,Q.nlen,Q.ndist,Q.distcode,0,Q.work,X),Q.distbits=X.bits,d){$.msg="invalid distances set",Q.mode=x0;break}if(Q.mode=l8,q===a8)break $;case l8:Q.mode=r8;case r8:if(W>=6&&B>=258){if($.next_out=G,$.avail_out=B,$.next_in=Z,$.avail_in=W,Q.hold=V,Q.bits=U,yZ($,F),G=$.next_out,J=$.output,B=$.avail_out,Z=$.next_in,K=$.input,W=$.avail_in,V=Q.hold,U=Q.bits,Q.mode===p2)Q.back=-1;break}Q.back=0;for(;;){if(L=Q.lencode[V&(1<>>24,z=L>>>16&255,N=L&65535,D<=U)break;if(W===0)break $;W--,V+=K[Z++]<>H)],D=L>>>24,z=L>>>16&255,N=L&65535,H+D<=U)break;if(W===0)break $;W--,V+=K[Z++]<>>=H,U-=H,Q.back+=H}if(V>>>=D,U-=D,Q.back+=D,Q.length=N,z===0){Q.mode=Jq;break}if(z&32){Q.back=-1,Q.mode=p2;break}if(z&64){$.msg="invalid literal/length code",Q.mode=x0;break}Q.extra=z&15,Q.mode=$q;case $q:if(Q.extra){P=Q.extra;while(U>>=Q.extra,U-=Q.extra,Q.back+=Q.extra}Q.was=Q.length,Q.mode=Qq;case Qq:for(;;){if(L=Q.distcode[V&(1<>>24,z=L>>>16&255,N=L&65535,D<=U)break;if(W===0)break $;W--,V+=K[Z++]<>H)],D=L>>>24,z=L>>>16&255,N=L&65535,H+D<=U)break;if(W===0)break $;W--,V+=K[Z++]<>>=H,U-=H,Q.back+=H}if(V>>>=D,U-=D,Q.back+=D,z&64){$.msg="invalid distance code",Q.mode=x0;break}Q.offset=N,Q.extra=z&15,Q.mode=qq;case qq:if(Q.extra){P=Q.extra;while(U>>=Q.extra,U-=Q.extra,Q.back+=Q.extra}if(Q.offset>Q.dmax){$.msg="invalid distance too far back",Q.mode=x0;break}Q.mode=Kq;case Kq:if(B===0)break $;if(M=F-B,Q.offset>M){if(M=Q.offset-M,M>Q.whave){if(Q.sane){$.msg="invalid distance too far back",Q.mode=x0;break}}if(M>Q.wnext)M-=Q.wnext,k=Q.wsize-M;else k=Q.wnext-M;if(M>Q.length)M=Q.length;f=Q.window}else f=J,k=G-Q.offset,M=Q.length;if(M>B)M=B;B-=M,Q.length-=M;do J[G++]=f[k++];while(--M);if(Q.length===0)Q.mode=r8;break;case Jq:if(B===0)break $;J[G++]=Q.length,B--,Q.mode=r8;break;case _4:if(Q.wrap){while(U<32){if(W===0)break $;W--,V|=K[Z++]<{Lq.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var vq=N0((bz,Hq)=>{function aZ(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}Hq.exports=aZ});var Rq=N0((J8)=>{var B6=Dq(),K8=d2(),t8=y4(),E0=p4(),i4=_8(),lZ=h4(),rZ=vq(),fq=Object.prototype.toString;function A1($){if(!(this instanceof A1))return new A1($);this.options=K8.assign({chunkSize:16384,windowBits:0,to:""},$||{});var q=this.options;if(q.raw&&q.windowBits>=0&&q.windowBits<16){if(q.windowBits=-q.windowBits,q.windowBits===0)q.windowBits=-15}if(q.windowBits>=0&&q.windowBits<16&&!($&&$.windowBits))q.windowBits+=32;if(q.windowBits>15&&q.windowBits<48){if((q.windowBits&15)===0)q.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new lZ,this.strm.avail_out=0;var Q=B6.inflateInit2(this.strm,q.windowBits);if(Q!==E0.Z_OK)throw Error(i4[Q]);if(this.header=new rZ,B6.inflateGetHeader(this.strm,this.header),q.dictionary){if(typeof q.dictionary==="string")q.dictionary=t8.string2buf(q.dictionary);else if(fq.call(q.dictionary)==="[object ArrayBuffer]")q.dictionary=new Uint8Array(q.dictionary);if(q.raw){if(Q=B6.inflateSetDictionary(this.strm,q.dictionary),Q!==E0.Z_OK)throw Error(i4[Q])}}}A1.prototype.push=function($,q){var Q=this.strm,K=this.options.chunkSize,J=this.options.dictionary,Z,G,W,B,V,U=!1;if(this.ended)return!1;if(G=q===~~q?q:q===!0?E0.Z_FINISH:E0.Z_NO_FLUSH,typeof $==="string")Q.input=t8.binstring2buf($);else if(fq.call($)==="[object ArrayBuffer]")Q.input=new Uint8Array($);else Q.input=$;Q.next_in=0,Q.avail_in=Q.input.length;do{if(Q.avail_out===0)Q.output=new K8.Buf8(K),Q.next_out=0,Q.avail_out=K;if(Z=B6.inflate(Q,E0.Z_NO_FLUSH),Z===E0.Z_NEED_DICT&&J)Z=B6.inflateSetDictionary(this.strm,J);if(Z===E0.Z_BUF_ERROR&&U===!0)Z=E0.Z_OK,U=!1;if(Z!==E0.Z_STREAM_END&&Z!==E0.Z_OK)return this.onEnd(Z),this.ended=!0,!1;if(Q.next_out){if(Q.avail_out===0||Z===E0.Z_STREAM_END||Q.avail_in===0&&(G===E0.Z_FINISH||G===E0.Z_SYNC_FLUSH))if(this.options.to==="string"){if(W=t8.utf8border(Q.output,Q.next_out),B=Q.next_out-W,V=t8.buf2string(Q.output,W),Q.next_out=B,Q.avail_out=K-B,B)K8.arraySet(Q.output,Q.output,W,B,0);this.onData(V)}else this.onData(K8.shrinkBuf(Q.output,Q.next_out))}if(Q.avail_in===0&&Q.avail_out===0)U=!0}while((Q.avail_in>0||Q.avail_out===0)&&Z!==E0.Z_STREAM_END);if(Z===E0.Z_STREAM_END)G=E0.Z_FINISH;if(G===E0.Z_FINISH)return Z=B6.inflateEnd(this.strm),this.onEnd(Z),this.ended=!0,Z===E0.Z_OK;if(G===E0.Z_SYNC_FLUSH)return this.onEnd(E0.Z_OK),Q.avail_out=0,!0;return!0};A1.prototype.onData=function($){this.chunks.push($)};A1.prototype.onEnd=function($){if($===E0.Z_OK)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=K8.flattenChunks(this.chunks);this.chunks=[],this.err=$,this.msg=this.strm.msg};function o4($,q){var Q=new A1(q);if(Q.push($,!0),Q.err)throw Q.msg||i4[Q.err];return Q.result}function sZ($,q){return q=q||{},q.raw=!0,o4($,q)}J8.Inflate=A1;J8.inflate=o4;J8.inflateRaw=sZ;J8.ungzip=o4});var jq=N0((dz,Cq)=>{var tZ=d2().assign,eZ=AQ(),$G=Rq(),QG=p4(),Iq={};tZ(Iq,eZ,$G,QG);Cq.exports=Iq});var Aq=N0(($5)=>{var qG=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",KG=jq(),gq=T0(),e8=V2(),JG=qG?"uint8array":"array";$5.magic="\b\x00";function X1($,q){e8.call(this,"FlateWorker/"+$),this._pako=null,this._pakoAction=$,this._pakoOptions=q,this.meta={}}gq.inherits(X1,e8);X1.prototype.processChunk=function($){if(this.meta=$.meta,this._pako===null)this._createPako();this._pako.push(gq.transformTo(JG,$.data),!1)};X1.prototype.flush=function(){if(e8.prototype.flush.call(this),this._pako===null)this._createPako();this._pako.push([],!0)};X1.prototype.cleanUp=function(){e8.prototype.cleanUp.call(this),this._pako=null};X1.prototype._createPako=function(){this._pako=new KG[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var $=this;this._pako.onData=function(q){$.push({data:q,meta:$.meta})}};$5.compressWorker=function($){return new X1("Deflate",$)};$5.uncompressWorker=function(){return new X1("Inflate",{})}});var l4=N0((a4)=>{var Xq=V2();a4.STORE={magic:"\x00\x00",compressWorker:function(){return new Xq("STORE compression")},uncompressWorker:function(){return new Xq("STORE decompression")}};a4.DEFLATE=Aq()});var r4=N0((y1)=>{y1.LOCAL_FILE_HEADER="PK\x03\x04";y1.CENTRAL_FILE_HEADER="PK\x01\x02";y1.CENTRAL_DIRECTORY_END="PK\x05\x06";y1.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x06\x07";y1.ZIP64_CENTRAL_DIRECTORY_END="PK\x06\x06";y1.DATA_DESCRIPTOR="PK\x07\b"});var Oq=N0((oz,xq)=>{var z6=T0(),F6=V2(),s4=e1(),yq=T8(),Q5=r4(),A0=function($,q){var Q="",K;for(K=0;K>>8;return Q},VG=function($,q){var Q=$;if(!$)Q=q?16893:33204;return(Q&65535)<<16},UG=function($){return($||0)&63},hq=function($,q,Q,K,J,Z){var{file:G,compression:W}=$,B=Z!==s4.utf8encode,V=z6.transformTo("string",Z(G.name)),U=z6.transformTo("string",s4.utf8encode(G.name)),w=G.comment,F=z6.transformTo("string",Z(w)),M=z6.transformTo("string",s4.utf8encode(w)),k=U.length!==G.name.length,f=M.length!==w.length,L,D,z="",N="",H="",v=G.dir,j=G.date,n={crc32:0,compressedSize:0,uncompressedSize:0};if(!q||Q)n.crc32=$.crc32,n.compressedSize=$.compressedSize,n.uncompressedSize=$.uncompressedSize;var d=0;if(q)d|=8;if(!B&&(k||f))d|=2048;var _=0,X=0;if(v)_|=16;if(J==="UNIX")X=798,_|=VG(G.unixPermissions,v);else X=20,_|=UG(G.dosPermissions,v);if(L=j.getUTCHours(),L=L<<6,L=L|j.getUTCMinutes(),L=L<<5,L=L|j.getUTCSeconds()/2,D=j.getUTCFullYear()-1980,D=D<<4,D=D|j.getUTCMonth()+1,D=D<<5,D=D|j.getUTCDate(),k)N=A0(1,1)+A0(yq(V),4)+U,z+="up"+A0(N.length,2)+N;if(f)H=A0(1,1)+A0(yq(F),4)+M,z+="uc"+A0(H.length,2)+H;var P="";P+=` -\x00`,P+=A0(d,2),P+=W.magic,P+=A0(L,2),P+=A0(D,2),P+=A0(n.crc32,4),P+=A0(n.compressedSize,4),P+=A0(n.uncompressedSize,4),P+=A0(V.length,2),P+=A0(z.length,2);var g=Q5.LOCAL_FILE_HEADER+P+V+z,c=Q5.CENTRAL_FILE_HEADER+A0(X,2)+P+A0(F.length,2)+"\x00\x00\x00\x00"+A0(_,4)+A0(K,4)+V+z+F;return{fileRecord:g,dirRecord:c}},ZG=function($,q,Q,K,J){var Z="",G=z6.transformTo("string",J(K));return Z=Q5.CENTRAL_DIRECTORY_END+"\x00\x00\x00\x00"+A0($,2)+A0($,2)+A0(q,4)+A0(Q,4)+A0(G.length,2)+G,Z},GG=function($){var q="";return q=Q5.DATA_DESCRIPTOR+A0($.crc32,4)+A0($.compressedSize,4)+A0($.uncompressedSize,4),q};function v2($,q,Q,K){F6.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=q,this.zipPlatform=Q,this.encodeFileName=K,this.streamFiles=$,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}z6.inherits(v2,F6);v2.prototype.push=function($){var q=$.meta.percent||0,Q=this.entriesCount,K=this._sources.length;if(this.accumulate)this.contentBuffer.push($);else this.bytesWritten+=$.data.length,F6.prototype.push.call(this,{data:$.data,meta:{currentFile:this.currentFile,percent:Q?(q+100*(Q-K-1))/Q:100}})};v2.prototype.openedSource=function($){this.currentSourceOffset=this.bytesWritten,this.currentFile=$.file.name;var q=this.streamFiles&&!$.file.dir;if(q){var Q=hq($,q,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:Q.fileRecord,meta:{percent:0}})}else this.accumulate=!0};v2.prototype.closedSource=function($){this.accumulate=!1;var q=this.streamFiles&&!$.file.dir,Q=hq($,q,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(Q.dirRecord),q)this.push({data:GG($),meta:{percent:100}});else{this.push({data:Q.fileRecord,meta:{percent:0}});while(this.contentBuffer.length)this.push(this.contentBuffer.shift())}this.currentFile=null};v2.prototype.flush=function(){var $=this.bytesWritten;for(var q=0;q{var WG=l4(),BG=Oq(),zG=function($,q){var Q=$||q,K=WG[Q];if(!K)throw Error(Q+" is not a valid compression method !");return K};Pq.generateWorker=function($,q,Q){var K=new BG(q.streamFiles,Q,q.platform,q.encodeFileName),J=0;try{$.forEach(function(Z,G){J++;var W=zG(G.options.compression,q.compression),B=G.options.compressionOptions||q.compressionOptions||{},V=G.dir,U=G.date;G._compressWorker(W,B).withStreamInfo("file",{name:Z,dir:V,date:U,comment:G.comment||"",unixPermissions:G.unixPermissions,dosPermissions:G.dosPermissions}).pipe(K)}),K.entriesCount=J}catch(Z){K.error(Z)}return K}});var Sq=N0((lz,uq)=>{var FG=T0(),q5=V2();function V8($,q){q5.call(this,"Nodejs stream input adapter for "+$),this._upstreamEnded=!1,this._bindStream(q)}FG.inherits(V8,q5);V8.prototype._bindStream=function($){var q=this;this._stream=$,$.pause(),$.on("data",function(Q){q.push({data:Q,meta:{percent:0}})}).on("error",function(Q){if(q.isPaused)this.generatedError=Q;else q.error(Q)}).on("end",function(){if(q.isPaused)q._upstreamEnded=!0;else q.end()})};V8.prototype.pause=function(){if(!q5.prototype.pause.call(this))return!1;return this._stream.pause(),!0};V8.prototype.resume=function(){if(!q5.prototype.resume.call(this))return!1;if(this._upstreamEnded)this.end();else this._stream.resume();return!0};uq.exports=V8});var oq=N0((rz,iq)=>{var MG=e1(),U8=T0(),bq=V2(),wG=q4(),nq=K4(),Eq=u8(),NG=_$(),YG=Tq(),_q=T6(),kG=Sq(),dq=function($,q,Q){var K=U8.getTypeOf(q),J,Z=U8.extend(Q||{},nq);if(Z.date=Z.date||new Date,Z.compression!==null)Z.compression=Z.compression.toUpperCase();if(typeof Z.unixPermissions==="string")Z.unixPermissions=parseInt(Z.unixPermissions,8);if(Z.unixPermissions&&Z.unixPermissions&16384)Z.dir=!0;if(Z.dosPermissions&&Z.dosPermissions&16)Z.dir=!0;if(Z.dir)$=mq($);if(Z.createFolders&&(J=DG($)))pq.call(this,J,!0);var G=K==="string"&&Z.binary===!1&&Z.base64===!1;if(!Q||typeof Q.binary>"u")Z.binary=!G;var W=q instanceof Eq&&q.uncompressedSize===0;if(W||Z.dir||!q||q.length===0)Z.base64=!1,Z.binary=!0,q="",Z.compression="STORE",K="string";var B=null;if(q instanceof Eq||q instanceof bq)B=q;else if(_q.isNode&&_q.isStream(q))B=new kG($,q);else B=U8.prepareContent($,q,Z.binary,Z.optimizedBinaryString,Z.base64);var V=new NG($,B,Z);this.files[$]=V},DG=function($){if($.slice(-1)==="/")$=$.substring(0,$.length-1);var q=$.lastIndexOf("/");return q>0?$.substring(0,q):""},mq=function($){if($.slice(-1)!=="/")$+="/";return $},pq=function($,q){if(q=typeof q<"u"?q:nq.createFolders,$=mq($),!this.files[$])dq.call(this,$,null,{dir:!0,createFolders:q});return this.files[$]};function cq($){return Object.prototype.toString.call($)==="[object RegExp]"}var LG={load:function(){throw Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function($){var q,Q,K;for(q in this.files)if(K=this.files[q],Q=q.slice(this.root.length,q.length),Q&&q.slice(0,this.root.length)===this.root)$(Q,K)},filter:function($){var q=[];return this.forEach(function(Q,K){if($(Q,K))q.push(K)}),q},file:function($,q,Q){if(arguments.length===1)if(cq($)){var K=$;return this.filter(function(Z,G){return!G.dir&&K.test(Z)})}else{var J=this.files[this.root+$];if(J&&!J.dir)return J;else return null}else $=this.root+$,dq.call(this,$,q,Q);return this},folder:function($){if(!$)return this;if(cq($))return this.filter(function(J,Z){return Z.dir&&$.test(J)});var q=this.root+$,Q=pq.call(this,q),K=this.clone();return K.root=Q.name,K},remove:function($){$=this.root+$;var q=this.files[$];if(!q){if($.slice(-1)!=="/")$+="/";q=this.files[$]}if(q&&!q.dir)delete this.files[$];else{var Q=this.filter(function(J,Z){return Z.name.slice(0,$.length)===$});for(var K=0;K{var HG=T0();function aq($){this.data=$,this.length=$.length,this.index=0,this.zero=0}aq.prototype={checkOffset:function($){this.checkIndex(this.index+$)},checkIndex:function($){if(this.length=this.index;Q--)q=(q<<8)+this.byteAt(Q);return this.index+=$,q},readString:function($){return HG.transformTo("string",this.readData($))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var $=this.readInt(4);return new Date(Date.UTC(($>>25&127)+1980,($>>21&15)-1,$>>16&31,$>>11&31,$>>5&63,($&31)<<1))}};lq.exports=aq});var e4=N0((tz,sq)=>{var rq=t4(),vG=T0();function M6($){rq.call(this,$);for(var q=0;q=0;--Z)if(this.data[Z]===q&&this.data[Z+1]===Q&&this.data[Z+2]===K&&this.data[Z+3]===J)return Z-this.zero;return-1};M6.prototype.readAndCheckSignature=function($){var q=$.charCodeAt(0),Q=$.charCodeAt(1),K=$.charCodeAt(2),J=$.charCodeAt(3),Z=this.readData(4);return q===Z[0]&&Q===Z[1]&&K===Z[2]&&J===Z[3]};M6.prototype.readData=function($){if(this.checkOffset($),$===0)return[];var q=this.data.slice(this.zero+this.index,this.zero+this.index+$);return this.index+=$,q};sq.exports=M6});var $K=N0((ez,eq)=>{var tq=t4(),fG=T0();function w6($){tq.call(this,$)}fG.inherits(w6,tq);w6.prototype.byteAt=function($){return this.data.charCodeAt(this.zero+$)};w6.prototype.lastIndexOfSignature=function($){return this.data.lastIndexOf($)-this.zero};w6.prototype.readAndCheckSignature=function($){var q=this.readData(4);return $===q};w6.prototype.readData=function($){this.checkOffset($);var q=this.data.slice(this.zero+this.index,this.zero+this.index+$);return this.index+=$,q};eq.exports=w6});var Q7=N0(($F,qK)=>{var QK=e4(),RG=T0();function $7($){QK.call(this,$)}RG.inherits($7,QK);$7.prototype.readData=function($){if(this.checkOffset($),$===0)return new Uint8Array(0);var q=this.data.subarray(this.zero+this.index,this.zero+this.index+$);return this.index+=$,q};qK.exports=$7});var VK=N0((QF,JK)=>{var KK=Q7(),IG=T0();function q7($){KK.call(this,$)}IG.inherits(q7,KK);q7.prototype.readData=function($){this.checkOffset($);var q=this.data.slice(this.zero+this.index,this.zero+this.index+$);return this.index+=$,q};JK.exports=q7});var K7=N0((qF,ZK)=>{var K5=T0(),UK=n2(),CG=e4(),jG=$K(),gG=VK(),AG=Q7();ZK.exports=function($){var q=K5.getTypeOf($);if(K5.checkSupport(q),q==="string"&&!UK.uint8array)return new jG($);if(q==="nodebuffer")return new gG($);if(UK.uint8array)return new AG(K5.transformTo("uint8array",$));return new CG(K5.transformTo("array",$))}});var zK=N0((KF,BK)=>{var J7=K7(),G1=T0(),XG=u8(),GK=T8(),J5=e1(),V5=l4(),yG=n2(),hG=0,xG=3,OG=function($){for(var q in V5){if(!Object.prototype.hasOwnProperty.call(V5,q))continue;if(V5[q].magic===$)return V5[q]}return null};function WK($,q){this.options=$,this.loadOptions=q}WK.prototype={isEncrypted:function(){return(this.bitFlag&1)===1},useUTF8:function(){return(this.bitFlag&2048)===2048},readLocalPart:function($){var q,Q;if($.skip(22),this.fileNameLength=$.readInt(2),Q=$.readInt(2),this.fileName=$.readData(this.fileNameLength),$.skip(Q),this.compressedSize===-1||this.uncompressedSize===-1)throw Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(q=OG(this.compressionMethod),q===null)throw Error("Corrupted zip : compression "+G1.pretty(this.compressionMethod)+" unknown (inner file : "+G1.transformTo("string",this.fileName)+")");this.decompressed=new XG(this.compressedSize,this.uncompressedSize,this.crc32,q,$.readData(this.compressedSize))},readCentralPart:function($){this.versionMadeBy=$.readInt(2),$.skip(2),this.bitFlag=$.readInt(2),this.compressionMethod=$.readString(2),this.date=$.readDate(),this.crc32=$.readInt(4),this.compressedSize=$.readInt(4),this.uncompressedSize=$.readInt(4);var q=$.readInt(2);if(this.extraFieldsLength=$.readInt(2),this.fileCommentLength=$.readInt(2),this.diskNumberStart=$.readInt(2),this.internalFileAttributes=$.readInt(2),this.externalFileAttributes=$.readInt(4),this.localHeaderOffset=$.readInt(4),this.isEncrypted())throw Error("Encrypted zip are not supported");$.skip(q),this.readExtraFields($),this.parseZIP64ExtraField($),this.fileComment=$.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var $=this.versionMadeBy>>8;if(this.dir=this.externalFileAttributes&16?!0:!1,$===hG)this.dosPermissions=this.externalFileAttributes&63;if($===xG)this.unixPermissions=this.externalFileAttributes>>16&65535;if(!this.dir&&this.fileNameStr.slice(-1)==="/")this.dir=!0},parseZIP64ExtraField:function(){if(!this.extraFields[1])return;var $=J7(this.extraFields[1].value);if(this.uncompressedSize===G1.MAX_VALUE_32BITS)this.uncompressedSize=$.readInt(8);if(this.compressedSize===G1.MAX_VALUE_32BITS)this.compressedSize=$.readInt(8);if(this.localHeaderOffset===G1.MAX_VALUE_32BITS)this.localHeaderOffset=$.readInt(8);if(this.diskNumberStart===G1.MAX_VALUE_32BITS)this.diskNumberStart=$.readInt(4)},readExtraFields:function($){var q=$.index+this.extraFieldsLength,Q,K,J;if(!this.extraFields)this.extraFields={};while($.index+4{var PG=K7(),i2=T0(),f2=r4(),TG=zK(),uG=n2();function FK($){this.files=[],this.loadOptions=$}FK.prototype={checkSignature:function($){if(!this.reader.readAndCheckSignature($)){this.reader.index-=4;var q=this.reader.readString(4);throw Error("Corrupted zip or bug: unexpected signature ("+i2.pretty(q)+", expected "+i2.pretty($)+")")}},isSignature:function($,q){var Q=this.reader.index;this.reader.setIndex($);var K=this.reader.readString(4),J=K===q;return this.reader.setIndex(Q),J},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var $=this.reader.readData(this.zipCommentLength),q=uG.uint8array?"uint8array":"array",Q=i2.transformTo(q,$);this.zipComment=this.loadOptions.decodeFileName(Q)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};var $=this.zip64EndOfCentralSize-44,q=0,Q,K,J;while(q<$)Q=this.reader.readInt(2),K=this.reader.readInt(4),J=this.reader.readData(K),this.zip64ExtensibleData[Q]={id:Q,length:K,value:J}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var $,q;for($=0;$0)if(this.isSignature(Q,f2.CENTRAL_FILE_HEADER));else this.reader.zero=J;else if(J<0)throw Error("Corrupted zip: missing "+Math.abs(J)+" bytes.")},prepareReader:function($){this.reader=PG($)},load:function($){this.prepareReader($),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}};MK.exports=FK});var kK=N0((VF,YK)=>{var V7=T0(),U5=r1(),SG=e1(),EG=wK(),_G=U4(),NK=T6();function cG($){return new U5.Promise(function(q,Q){var K=$.decompressed.getContentWorker().pipe(new _G);K.on("error",function(J){Q(J)}).on("end",function(){if(K.streamInfo.crc32!==$.decompressed.crc32)Q(Error("Corrupted zip : CRC32 mismatch"));else q()}).resume()})}YK.exports=function($,q){var Q=this;if(q=V7.extend(q||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:SG.utf8decode}),NK.isNode&&NK.isStream($))return U5.Promise.reject(Error("JSZip can't accept a stream when loading a zip file."));return V7.prepareContent("the loaded zip file",$,!0,q.optimizedBinaryString,q.base64).then(function(K){var J=new EG(q);return J.load(K),J}).then(function(J){var Z=[U5.Promise.resolve(J)],G=J.files;if(q.checkCRC32)for(var W=0;W{function Y2(){if(!(this instanceof Y2))return new Y2;if(arguments.length)throw Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var $=new Y2;for(var q in this)if(typeof this[q]!=="function")$[q]=this[q];return $}}Y2.prototype=oq();Y2.prototype.loadAsync=kK();Y2.support=n2();Y2.defaults=K4();Y2.version="3.10.1";Y2.loadAsync=function($,q){return new Y2().loadAsync($,q)};Y2.external=r1();DK.exports=Y2});var Z8={};c1(Z8,{types:()=>rG,promisify:()=>CK,log:()=>fK,isUndefined:()=>N6,isSymbol:()=>tG,isString:()=>F5,isRegExp:()=>Z5,isPrimitive:()=>eG,isObject:()=>Y6,isNumber:()=>vK,isNullOrUndefined:()=>sG,isNull:()=>z5,isFunction:()=>W5,isError:()=>G5,isDate:()=>W7,isBuffer:()=>$W,isBoolean:()=>z7,isArray:()=>HK,inspect:()=>h1,inherits:()=>RK,format:()=>B7,deprecate:()=>nG,default:()=>KW,debuglog:()=>dG,callbackifyOnRejected:()=>w7,callbackify:()=>jK,_extend:()=>M7,TextEncoder:()=>gK,TextDecoder:()=>AK});function B7($,...q){if(!F5($)){var Q=[$];for(var K=0;K=J)return W;switch(W){case"%s":return String(q[K++]);case"%d":return Number(q[K++]);case"%j":try{return JSON.stringify(q[K++])}catch(B){return"[Circular]"}default:return W}});for(var G=q[K];K"u"||process?.noDeprecation===!0)return $;var Q=!1;function K(...J){if(!Q){if(process.throwDeprecation)throw Error(q);else if(process.traceDeprecation)console.trace(q);else console.error(q);Q=!0}return $.apply(this,...J)}return K}function mG($,q){var Q=h1.styles[q];if(Q)return"\x1B["+h1.colors[Q][0]+"m"+$+"\x1B["+h1.colors[Q][1]+"m";else return $}function pG($,q){return $}function iG($){var q={};return $.forEach(function(Q,K){q[Q]=!0}),q}function B5($,q,Q){if($.customInspect&&q&&W5(q.inspect)&&q.inspect!==h1&&!(q.constructor&&q.constructor.prototype===q)){var K=q.inspect(Q,$);if(!F5(K))K=B5($,K,Q);return K}var J=oG($,q);if(J)return J;var Z=Object.keys(q),G=iG(Z);if($.showHidden)Z=Object.getOwnPropertyNames(q);if(G5(q)&&(Z.indexOf("message")>=0||Z.indexOf("description")>=0))return U7(q);if(Z.length===0){if(W5(q)){var W=q.name?": "+q.name:"";return $.stylize("[Function"+W+"]","special")}if(Z5(q))return $.stylize(RegExp.prototype.toString.call(q),"regexp");if(W7(q))return $.stylize(Date.prototype.toString.call(q),"date");if(G5(q))return U7(q)}var B="",V=!1,U=["{","}"];if(HK(q))V=!0,U=["[","]"];if(W5(q)){var w=q.name?": "+q.name:"";B=" [Function"+w+"]"}if(Z5(q))B=" "+RegExp.prototype.toString.call(q);if(W7(q))B=" "+Date.prototype.toUTCString.call(q);if(G5(q))B=" "+U7(q);if(Z.length===0&&(!V||q.length==0))return U[0]+B+U[1];if(Q<0)if(Z5(q))return $.stylize(RegExp.prototype.toString.call(q),"regexp");else return $.stylize("[Object]","special");$.seen.push(q);var F;if(V)F=aG($,q,Q,G,Z);else F=Z.map(function(M){return G7($,q,Q,G,M,V)});return $.seen.pop(),lG(F,B,U)}function oG($,q){if(N6(q))return $.stylize("undefined","undefined");if(F5(q)){var Q="'"+JSON.stringify(q).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return $.stylize(Q,"string")}if(vK(q))return $.stylize(""+q,"number");if(z7(q))return $.stylize(""+q,"boolean");if(z5(q))return $.stylize("null","null")}function U7($){return"["+Error.prototype.toString.call($)+"]"}function aG($,q,Q,K,J){var Z=[];for(var G=0,W=q.length;G{var fJ=Object.create;var{getPrototypeOf:RJ,defineProperty:X6,getOwnPropertyNames:$9,getOwnPropertyDescriptor:IJ}=Object,Q9=Object.prototype.hasOwnProperty;function q9($){return this[$]}var CJ,jJ,K9=($,q,Q)=>{var K=$!=null&&typeof $==="object";if(K){var J=q?CJ??=new WeakMap:jJ??=new WeakMap,Z=J.get($);if(Z)return Z}Q=$!=null?fJ(RJ($)):{};let G=q||!$||!$.__esModule?X6(Q,"default",{value:$,enumerable:!0}):Q;for(let W of $9($))if(!Q9.call(G,W))X6(G,W,{get:q9.bind($,W),enumerable:!0});if(K)J.set($,G);return G},X0=($)=>{var q=(e7??=new WeakMap).get($),Q;if(q)return q;if(q=X6({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function"){for(var K of $9($))if(!Q9.call(q,K))X6(q,K,{get:q9.bind($,K),enumerable:!(Q=IJ($,K))||Q.enumerable})}return e7.set($,q),q},e7,N0=($,q)=>()=>(q||$((q={exports:{}}).exports,q),q.exports);var gJ=($)=>$;function AJ($,q){this[$]=gJ.bind(null,q)}var c1=($,q)=>{for(var Q in q)X6($,Q,{get:q[Q],enumerable:!0,configurable:!0,set:AJ.bind(q,Q)})};var b1=($,q)=>()=>($&&(q=$($=0)),q);var J9=(($)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy($,{get:(q,Q)=>(typeof require<"u"?require:q)[Q]}):$)(function($){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+$+'" is not supported')});var K2={};c1(K2,{transcode:()=>MV,resolveObjectURL:()=>BV,kStringMaxLength:()=>w9,kMaxLength:()=>y6,isUtf8:()=>zV,isAscii:()=>FV,default:()=>wV,constants:()=>EJ,btoa:()=>PJ,atob:()=>TJ,INSPECT_MAX_BYTES:()=>M9,File:()=>uJ,Buffer:()=>o,Blob:()=>SJ});function XJ($){var q=$.length;if(q%4>0)throw Error("Invalid string. Length must be a multiple of 4");var Q=$.indexOf("=");if(Q===-1)Q=q;var K=Q===q?0:4-Q%4;return[Q,K]}function yJ($,q){return($+q)*3/4-q}function hJ($){var q,Q=XJ($),K=Q[0],J=Q[1],Z=new Uint8Array(yJ(K,J)),G=0,W=J>0?K-4:K,B;for(B=0;B>16&255,Z[G++]=q>>8&255,Z[G++]=q&255;if(J===2)q=F2[$.charCodeAt(B)]<<2|F2[$.charCodeAt(B+1)]>>4,Z[G++]=q&255;if(J===1)q=F2[$.charCodeAt(B)]<<10|F2[$.charCodeAt(B+1)]<<4|F2[$.charCodeAt(B+2)]>>2,Z[G++]=q>>8&255,Z[G++]=q&255;return Z}function xJ($){return I2[$>>18&63]+I2[$>>12&63]+I2[$>>6&63]+I2[$&63]}function OJ($,q,Q){var K,J=[];for(var Z=q;ZW?W:G+Z));if(K===1)q=$[Q-1],J.push(I2[q>>2]+I2[q<<4&63]+"==");else if(K===2)q=($[Q-2]<<8)+$[Q-1],J.push(I2[q>>10]+I2[q>>4&63]+I2[q<<2&63]+"=");return J.join("")}function N8($,q,Q,K,J){var Z,G,W=J*8-K-1,B=(1<>1,U=-7,w=Q?J-1:0,F=Q?-1:1,M=$[q+w];w+=F,Z=M&(1<<-U)-1,M>>=-U,U+=W;for(;U>0;Z=Z*256+$[q+w],w+=F,U-=8);G=Z&(1<<-U)-1,Z>>=-U,U+=K;for(;U>0;G=G*256+$[q+w],w+=F,U-=8);if(Z===0)Z=1-V;else if(Z===B)return G?NaN:(M?-1:1)*(1/0);else G=G+Math.pow(2,K),Z=Z-V;return(M?-1:1)*G*Math.pow(2,Z-K)}function F9($,q,Q,K,J,Z){var G,W,B,V=Z*8-J-1,U=(1<>1,F=J===23?Math.pow(2,-24)-Math.pow(2,-77):0,M=K?0:Z-1,k=K?1:-1,f=q<0||q===0&&1/q<0?1:0;if(q=Math.abs(q),isNaN(q)||q===1/0)W=isNaN(q)?1:0,G=U;else{if(G=Math.floor(Math.log(q)/Math.LN2),q*(B=Math.pow(2,-G))<1)G--,B*=2;if(G+w>=1)q+=F/B;else q+=F*Math.pow(2,1-w);if(q*B>=2)G++,B/=2;if(G+w>=U)W=0,G=U;else if(G+w>=1)W=(q*B-1)*Math.pow(2,J),G=G+w;else W=q*Math.pow(2,w-1)*Math.pow(2,J),G=0}for(;J>=8;$[Q+M]=W&255,M+=k,W/=256,J-=8);G=G<0;$[Q+M]=G&255,M+=k,G/=256,V-=8);$[Q+M-k]|=f*128}function S2($){if($>y6)throw RangeError('The value "'+$+'" is invalid for option "size"');let q=new Uint8Array($);return Object.setPrototypeOf(q,o.prototype),q}function h5($,q,Q){return class extends Q{constructor(){super();Object.defineProperty(this,"message",{value:q.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${$}]`,this.stack,delete this.name}get code(){return $}set code(K){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:K,writable:!0})}toString(){return`${this.name} [${$}]: ${this.message}`}}}function o($,q,Q){if(typeof $==="number"){if(typeof q==="string")throw TypeError('The "string" argument must be of type string. Received type number');return x5($)}return N9($,q,Q)}function N9($,q,Q){if(typeof $==="string")return nJ($,q);if(ArrayBuffer.isView($))return dJ($);if($==null)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof $);if(C2($,ArrayBuffer)||$&&C2($.buffer,ArrayBuffer))return X5($,q,Q);if(typeof SharedArrayBuffer<"u"&&(C2($,SharedArrayBuffer)||$&&C2($.buffer,SharedArrayBuffer)))return X5($,q,Q);if(typeof $==="number")throw TypeError('The "value" argument must not be of type number. Received type number');let K=$.valueOf&&$.valueOf();if(K!=null&&K!==$)return o.from(K,q,Q);let J=mJ($);if(J)return J;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof $[Symbol.toPrimitive]==="function")return o.from($[Symbol.toPrimitive]("string"),q,Q);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof $)}function Y9($){if(typeof $!=="number")throw TypeError('"size" argument must be of type number');else if($<0)throw RangeError('The value "'+$+'" is invalid for option "size"')}function bJ($,q,Q){if(Y9($),$<=0)return S2($);if(q!==void 0)return typeof Q==="string"?S2($).fill(q,Q):S2($).fill(q);return S2($)}function x5($){return Y9($),S2($<0?0:O5($)|0)}function nJ($,q){if(typeof q!=="string"||q==="")q="utf8";if(!o.isEncoding(q))throw TypeError("Unknown encoding: "+q);let Q=k9($,q)|0,K=S2(Q),J=K.write($,q);if(J!==Q)K=K.slice(0,J);return K}function A5($){let q=$.length<0?0:O5($.length)|0,Q=S2(q);for(let K=0;K=y6)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+y6.toString(16)+" bytes");return $|0}function k9($,q){if(o.isBuffer($))return $.length;if(ArrayBuffer.isView($)||C2($,ArrayBuffer))return $.byteLength;if(typeof $!=="string")throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof $);let Q=$.length,K=arguments.length>2&&arguments[2]===!0;if(!K&&Q===0)return 0;let J=!1;for(;;)switch(q){case"ascii":case"latin1":case"binary":return Q;case"utf8":case"utf-8":return y5($).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Q*2;case"hex":return Q>>>1;case"base64":return j9($).length;default:if(J)return K?-1:y5($).length;q=(""+q).toLowerCase(),J=!0}}function pJ($,q,Q){let K=!1;if(q===void 0||q<0)q=0;if(q>this.length)return"";if(Q===void 0||Q>this.length)Q=this.length;if(Q<=0)return"";if(Q>>>=0,q>>>=0,Q<=q)return"";if(!$)$="utf8";while(!0)switch($){case"hex":return QV(this,q,Q);case"utf8":case"utf-8":return L9(this,q,Q);case"ascii":return eJ(this,q,Q);case"latin1":case"binary":return $V(this,q,Q);case"base64":return sJ(this,q,Q);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return qV(this,q,Q);default:if(K)throw TypeError("Unknown encoding: "+$);$=($+"").toLowerCase(),K=!0}}function w1($,q,Q){let K=$[q];$[q]=$[Q],$[Q]=K}function D9($,q,Q,K,J){if($.length===0)return-1;if(typeof Q==="string")K=Q,Q=0;else if(Q>2147483647)Q=2147483647;else if(Q<-2147483648)Q=-2147483648;if(Q=+Q,Number.isNaN(Q))Q=J?0:$.length-1;if(Q<0)Q=$.length+Q;if(Q>=$.length)if(J)return-1;else Q=$.length-1;else if(Q<0)if(J)Q=0;else return-1;if(typeof q==="string")q=o.from(q,K);if(o.isBuffer(q)){if(q.length===0)return-1;return W9($,q,Q,K,J)}else if(typeof q==="number"){if(q=q&255,typeof Uint8Array.prototype.indexOf==="function")if(J)return Uint8Array.prototype.indexOf.call($,q,Q);else return Uint8Array.prototype.lastIndexOf.call($,q,Q);return W9($,[q],Q,K,J)}throw TypeError("val must be string, number or Buffer")}function W9($,q,Q,K,J){let Z=1,G=$.length,W=q.length;if(K!==void 0){if(K=String(K).toLowerCase(),K==="ucs2"||K==="ucs-2"||K==="utf16le"||K==="utf-16le"){if($.length<2||q.length<2)return-1;Z=2,G/=2,W/=2,Q/=2}}function B(U,w){if(Z===1)return U[w];else return U.readUInt16BE(w*Z)}let V;if(J){let U=-1;for(V=Q;VG)Q=G-W;for(V=Q;V>=0;V--){let U=!0;for(let w=0;wJ)K=J;let Z=q.length;if(K>Z/2)K=Z/2;let G;for(G=0;G239?4:Z>223?3:Z>191?2:1;if(J+W<=Q){let B,V,U,w;switch(W){case 1:if(Z<128)G=Z;break;case 2:if(B=$[J+1],(B&192)===128){if(w=(Z&31)<<6|B&63,w>127)G=w}break;case 3:if(B=$[J+1],V=$[J+2],(B&192)===128&&(V&192)===128){if(w=(Z&15)<<12|(B&63)<<6|V&63,w>2047&&(w<55296||w>57343))G=w}break;case 4:if(B=$[J+1],V=$[J+2],U=$[J+3],(B&192)===128&&(V&192)===128&&(U&192)===128){if(w=(Z&15)<<18|(B&63)<<12|(V&63)<<6|U&63,w>65535&&w<1114112)G=w}}}if(G===null)G=65533,W=1;else if(G>65535)G-=65536,K.push(G>>>10&1023|55296),G=56320|G&1023;K.push(G),J+=W}return tJ(K)}function tJ($){let q=$.length;if(q<=B9)return String.fromCharCode.apply(String,$);let Q="",K=0;while(KK)Q=K;let J="";for(let Z=q;ZQ)throw RangeError("Trying to access beyond buffer length")}function s0($,q,Q,K,J,Z){if(!o.isBuffer($))throw TypeError('"buffer" argument must be a Buffer instance');if(q>J||q$.length)throw RangeError("Index out of range")}function H9($,q,Q,K,J){C9(q,K,J,$,Q,7);let Z=Number(q&BigInt(4294967295));$[Q++]=Z,Z=Z>>8,$[Q++]=Z,Z=Z>>8,$[Q++]=Z,Z=Z>>8,$[Q++]=Z;let G=Number(q>>BigInt(32)&BigInt(4294967295));return $[Q++]=G,G=G>>8,$[Q++]=G,G=G>>8,$[Q++]=G,G=G>>8,$[Q++]=G,Q}function v9($,q,Q,K,J){C9(q,K,J,$,Q,7);let Z=Number(q&BigInt(4294967295));$[Q+7]=Z,Z=Z>>8,$[Q+6]=Z,Z=Z>>8,$[Q+5]=Z,Z=Z>>8,$[Q+4]=Z;let G=Number(q>>BigInt(32)&BigInt(4294967295));return $[Q+3]=G,G=G>>8,$[Q+2]=G,G=G>>8,$[Q+1]=G,G=G>>8,$[Q]=G,Q+8}function f9($,q,Q,K,J,Z){if(Q+K>$.length)throw RangeError("Index out of range");if(Q<0)throw RangeError("Index out of range")}function R9($,q,Q,K,J){if(q=+q,Q=Q>>>0,!J)f9($,q,Q,4,340282346638528860000000000000000000000,-340282346638528860000000000000000000000);return F9($,q,Q,K,23,4),Q+4}function I9($,q,Q,K,J){if(q=+q,Q=Q>>>0,!J)f9($,q,Q,8,179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,-179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000);return F9($,q,Q,K,52,8),Q+8}function z9($){let q="",Q=$.length,K=$[0]==="-"?1:0;for(;Q>=K+4;Q-=3)q=`_${$.slice(Q-3,Q)}${q}`;return`${$.slice(0,Q)}${q}`}function KV($,q,Q){if(n1(q,"offset"),$[q]===void 0||$[q+Q]===void 0)h6(q,$.length-(Q+1))}function C9($,q,Q,K,J,Z){if($>Q||$3)if(q===0||q===BigInt(0))W=`>= 0${G} and < 2${G} ** ${(Z+1)*8}${G}`;else W=`>= -(2${G} ** ${(Z+1)*8-1}${G}) and < 2 ** ${(Z+1)*8-1}${G}`;else W=`>= ${q}${G} and <= ${Q}${G}`;throw new g5("value",W,$)}KV(K,J,Z)}function n1($,q){if(typeof $!=="number")throw new cJ(q,"number",$)}function h6($,q,Q){if(Math.floor($)!==$)throw n1($,Q),new g5(Q||"offset","an integer",$);if(q<0)throw new _J;throw new g5(Q||"offset",`>= ${Q?1:0} and <= ${q}`,$)}function VV($){if($=$.split("=")[0],$=$.trim().replace(JV,""),$.length<2)return"";while($.length%4!==0)$=$+"=";return $}function y5($,q){q=q||1/0;let Q,K=$.length,J=null,Z=[];for(let G=0;G55295&&Q<57344){if(!J){if(Q>56319){if((q-=3)>-1)Z.push(239,191,189);continue}else if(G+1===K){if((q-=3)>-1)Z.push(239,191,189);continue}J=Q;continue}if(Q<56320){if((q-=3)>-1)Z.push(239,191,189);J=Q;continue}Q=(J-55296<<10|Q-56320)+65536}else if(J){if((q-=3)>-1)Z.push(239,191,189)}if(J=null,Q<128){if((q-=1)<0)break;Z.push(Q)}else if(Q<2048){if((q-=2)<0)break;Z.push(Q>>6|192,Q&63|128)}else if(Q<65536){if((q-=3)<0)break;Z.push(Q>>12|224,Q>>6&63|128,Q&63|128)}else if(Q<1114112){if((q-=4)<0)break;Z.push(Q>>18|240,Q>>12&63|128,Q>>6&63|128,Q&63|128)}else throw Error("Invalid code point")}return Z}function UV($){let q=[];for(let Q=0;Q<$.length;++Q)q.push($.charCodeAt(Q)&255);return q}function ZV($,q){let Q,K,J,Z=[];for(let G=0;G<$.length;++G){if((q-=2)<0)break;Q=$.charCodeAt(G),K=Q>>8,J=Q%256,Z.push(J),Z.push(K)}return Z}function j9($){return hJ(VV($))}function Y8($,q,Q,K){let J;for(J=0;J=q.length||J>=$.length)break;q[J+Q]=$[J]}return J}function C2($,q){return $ instanceof q||$!=null&&$.constructor!=null&&$.constructor.name!=null&&$.constructor.name===q.name}function l2($){return typeof BigInt>"u"?WV:$}function WV(){throw Error("BigInt not supported")}function P5($){return()=>{throw Error($+" is not implemented for node:buffer browser polyfill")}}var I2,F2,j5="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",M1,U9,G9,M9=50,y6=2147483647,w9=536870888,PJ,TJ,uJ,SJ,EJ,_J,cJ,g5,B9=4096,JV,GV,BV,zV,FV=($)=>{for(let q of $)if(q.charCodeAt(0)>127)return!1;return!0},MV,wV;var t0=b1(()=>{I2=[],F2=[];for(M1=0,U9=j5.length;M14294967296)J=z9(String(Q));else if(typeof Q==="bigint"){if(J=String(Q),Q>BigInt(2)**BigInt(32)||Q<-(BigInt(2)**BigInt(32)))J=z9(J);J+="n"}return K+=` It must be ${q}. Received ${J}`,K},RangeError);Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(!o.isBuffer(this))return;return this.buffer}});Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(!o.isBuffer(this))return;return this.byteOffset}});o.poolSize=8192;o.from=function($,q,Q){return N9($,q,Q)};Object.setPrototypeOf(o.prototype,Uint8Array.prototype);Object.setPrototypeOf(o,Uint8Array);o.alloc=function($,q,Q){return bJ($,q,Q)};o.allocUnsafe=function($){return x5($)};o.allocUnsafeSlow=function($){return x5($)};o.isBuffer=function($){return $!=null&&$._isBuffer===!0&&$!==o.prototype};o.compare=function($,q){if(C2($,Uint8Array))$=o.from($,$.offset,$.byteLength);if(C2(q,Uint8Array))q=o.from(q,q.offset,q.byteLength);if(!o.isBuffer($)||!o.isBuffer(q))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if($===q)return 0;let Q=$.length,K=q.length;for(let J=0,Z=Math.min(Q,K);JK.length){if(!o.isBuffer(Z))Z=o.from(Z);Z.copy(K,J)}else Uint8Array.prototype.set.call(K,Z,J);else if(!o.isBuffer(Z))throw TypeError('"list" argument must be an Array of Buffers');else Z.copy(K,J);J+=Z.length}return K};o.byteLength=k9;o.prototype._isBuffer=!0;o.prototype.swap16=function(){let $=this.length;if($%2!==0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let q=0;q<$;q+=2)w1(this,q,q+1);return this};o.prototype.swap32=function(){let $=this.length;if($%4!==0)throw RangeError("Buffer size must be a multiple of 32-bits");for(let q=0;q<$;q+=4)w1(this,q,q+3),w1(this,q+1,q+2);return this};o.prototype.swap64=function(){let $=this.length;if($%8!==0)throw RangeError("Buffer size must be a multiple of 64-bits");for(let q=0;q<$;q+=8)w1(this,q,q+7),w1(this,q+1,q+6),w1(this,q+2,q+5),w1(this,q+3,q+4);return this};o.prototype.toString=function(){let $=this.length;if($===0)return"";if(arguments.length===0)return L9(this,0,$);return pJ.apply(this,arguments)};o.prototype.toLocaleString=o.prototype.toString;o.prototype.equals=function($){if(!o.isBuffer($))throw TypeError("Argument must be a Buffer");if(this===$)return!0;return o.compare(this,$)===0};o.prototype.inspect=function(){let $="",q=M9;if($=this.toString("hex",0,q).replace(/(.{2})/g,"$1 ").trim(),this.length>q)$+=" ... ";return""};if(G9)o.prototype[G9]=o.prototype.inspect;o.prototype.compare=function($,q,Q,K,J){if(C2($,Uint8Array))$=o.from($,$.offset,$.byteLength);if(!o.isBuffer($))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof $);if(q===void 0)q=0;if(Q===void 0)Q=$?$.length:0;if(K===void 0)K=0;if(J===void 0)J=this.length;if(q<0||Q>$.length||K<0||J>this.length)throw RangeError("out of range index");if(K>=J&&q>=Q)return 0;if(K>=J)return-1;if(q>=Q)return 1;if(q>>>=0,Q>>>=0,K>>>=0,J>>>=0,this===$)return 0;let Z=J-K,G=Q-q,W=Math.min(Z,G),B=this.slice(K,J),V=$.slice(q,Q);for(let U=0;U>>0,isFinite(Q)){if(Q=Q>>>0,K===void 0)K="utf8"}else K=Q,Q=void 0;else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let J=this.length-q;if(Q===void 0||Q>J)Q=J;if($.length>0&&(Q<0||q<0)||q>this.length)throw RangeError("Attempt to write outside buffer bounds");if(!K)K="utf8";let Z=!1;for(;;)switch(K){case"hex":return iJ(this,$,q,Q);case"utf8":case"utf-8":return oJ(this,$,q,Q);case"ascii":case"latin1":case"binary":return aJ(this,$,q,Q);case"base64":return lJ(this,$,q,Q);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return rJ(this,$,q,Q);default:if(Z)throw TypeError("Unknown encoding: "+K);K=(""+K).toLowerCase(),Z=!0}};o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};o.prototype.slice=function($,q){let Q=this.length;if($=~~$,q=q===void 0?Q:~~q,$<0){if($+=Q,$<0)$=0}else if($>Q)$=Q;if(q<0){if(q+=Q,q<0)q=0}else if(q>Q)q=Q;if(q<$)q=$;let K=this.subarray($,q);return Object.setPrototypeOf(K,o.prototype),K};o.prototype.readUintLE=o.prototype.readUIntLE=function($,q,Q){if($=$>>>0,q=q>>>0,!Q)b0($,q,this.length);let K=this[$],J=1,Z=0;while(++Z>>0,q=q>>>0,!Q)b0($,q,this.length);let K=this[$+--q],J=1;while(q>0&&(J*=256))K+=this[$+--q]*J;return K};o.prototype.readUint8=o.prototype.readUInt8=function($,q){if($=$>>>0,!q)b0($,1,this.length);return this[$]};o.prototype.readUint16LE=o.prototype.readUInt16LE=function($,q){if($=$>>>0,!q)b0($,2,this.length);return this[$]|this[$+1]<<8};o.prototype.readUint16BE=o.prototype.readUInt16BE=function($,q){if($=$>>>0,!q)b0($,2,this.length);return this[$]<<8|this[$+1]};o.prototype.readUint32LE=o.prototype.readUInt32LE=function($,q){if($=$>>>0,!q)b0($,4,this.length);return(this[$]|this[$+1]<<8|this[$+2]<<16)+this[$+3]*16777216};o.prototype.readUint32BE=o.prototype.readUInt32BE=function($,q){if($=$>>>0,!q)b0($,4,this.length);return this[$]*16777216+(this[$+1]<<16|this[$+2]<<8|this[$+3])};o.prototype.readBigUInt64LE=l2(function($){$=$>>>0,n1($,"offset");let q=this[$],Q=this[$+7];if(q===void 0||Q===void 0)h6($,this.length-8);let K=q+this[++$]*256+this[++$]*65536+this[++$]*16777216,J=this[++$]+this[++$]*256+this[++$]*65536+Q*16777216;return BigInt(K)+(BigInt(J)<>>0,n1($,"offset");let q=this[$],Q=this[$+7];if(q===void 0||Q===void 0)h6($,this.length-8);let K=q*16777216+this[++$]*65536+this[++$]*256+this[++$],J=this[++$]*16777216+this[++$]*65536+this[++$]*256+Q;return(BigInt(K)<>>0,q=q>>>0,!Q)b0($,q,this.length);let K=this[$],J=1,Z=0;while(++Z=J)K-=Math.pow(2,8*q);return K};o.prototype.readIntBE=function($,q,Q){if($=$>>>0,q=q>>>0,!Q)b0($,q,this.length);let K=q,J=1,Z=this[$+--K];while(K>0&&(J*=256))Z+=this[$+--K]*J;if(J*=128,Z>=J)Z-=Math.pow(2,8*q);return Z};o.prototype.readInt8=function($,q){if($=$>>>0,!q)b0($,1,this.length);if(!(this[$]&128))return this[$];return(255-this[$]+1)*-1};o.prototype.readInt16LE=function($,q){if($=$>>>0,!q)b0($,2,this.length);let Q=this[$]|this[$+1]<<8;return Q&32768?Q|4294901760:Q};o.prototype.readInt16BE=function($,q){if($=$>>>0,!q)b0($,2,this.length);let Q=this[$+1]|this[$]<<8;return Q&32768?Q|4294901760:Q};o.prototype.readInt32LE=function($,q){if($=$>>>0,!q)b0($,4,this.length);return this[$]|this[$+1]<<8|this[$+2]<<16|this[$+3]<<24};o.prototype.readInt32BE=function($,q){if($=$>>>0,!q)b0($,4,this.length);return this[$]<<24|this[$+1]<<16|this[$+2]<<8|this[$+3]};o.prototype.readBigInt64LE=l2(function($){$=$>>>0,n1($,"offset");let q=this[$],Q=this[$+7];if(q===void 0||Q===void 0)h6($,this.length-8);let K=this[$+4]+this[$+5]*256+this[$+6]*65536+(Q<<24);return(BigInt(K)<>>0,n1($,"offset");let q=this[$],Q=this[$+7];if(q===void 0||Q===void 0)h6($,this.length-8);let K=(q<<24)+this[++$]*65536+this[++$]*256+this[++$];return(BigInt(K)<>>0,!q)b0($,4,this.length);return N8(this,$,!0,23,4)};o.prototype.readFloatBE=function($,q){if($=$>>>0,!q)b0($,4,this.length);return N8(this,$,!1,23,4)};o.prototype.readDoubleLE=function($,q){if($=$>>>0,!q)b0($,8,this.length);return N8(this,$,!0,52,8)};o.prototype.readDoubleBE=function($,q){if($=$>>>0,!q)b0($,8,this.length);return N8(this,$,!1,52,8)};o.prototype.writeUintLE=o.prototype.writeUIntLE=function($,q,Q,K){if($=+$,q=q>>>0,Q=Q>>>0,!K){let G=Math.pow(2,8*Q)-1;s0(this,$,q,Q,G,0)}let J=1,Z=0;this[q]=$&255;while(++Z>>0,Q=Q>>>0,!K){let G=Math.pow(2,8*Q)-1;s0(this,$,q,Q,G,0)}let J=Q-1,Z=1;this[q+J]=$&255;while(--J>=0&&(Z*=256))this[q+J]=$/Z&255;return q+Q};o.prototype.writeUint8=o.prototype.writeUInt8=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,1,255,0);return this[q]=$&255,q+1};o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,2,65535,0);return this[q]=$&255,this[q+1]=$>>>8,q+2};o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,2,65535,0);return this[q]=$>>>8,this[q+1]=$&255,q+2};o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,4,4294967295,0);return this[q+3]=$>>>24,this[q+2]=$>>>16,this[q+1]=$>>>8,this[q]=$&255,q+4};o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,4,4294967295,0);return this[q]=$>>>24,this[q+1]=$>>>16,this[q+2]=$>>>8,this[q+3]=$&255,q+4};o.prototype.writeBigUInt64LE=l2(function($,q=0){return H9(this,$,q,BigInt(0),BigInt("0xffffffffffffffff"))});o.prototype.writeBigUInt64BE=l2(function($,q=0){return v9(this,$,q,BigInt(0),BigInt("0xffffffffffffffff"))});o.prototype.writeIntLE=function($,q,Q,K){if($=+$,q=q>>>0,!K){let W=Math.pow(2,8*Q-1);s0(this,$,q,Q,W-1,-W)}let J=0,Z=1,G=0;this[q]=$&255;while(++J>0)-G&255}return q+Q};o.prototype.writeIntBE=function($,q,Q,K){if($=+$,q=q>>>0,!K){let W=Math.pow(2,8*Q-1);s0(this,$,q,Q,W-1,-W)}let J=Q-1,Z=1,G=0;this[q+J]=$&255;while(--J>=0&&(Z*=256)){if($<0&&G===0&&this[q+J+1]!==0)G=1;this[q+J]=($/Z>>0)-G&255}return q+Q};o.prototype.writeInt8=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,1,127,-128);if($<0)$=255+$+1;return this[q]=$&255,q+1};o.prototype.writeInt16LE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,2,32767,-32768);return this[q]=$&255,this[q+1]=$>>>8,q+2};o.prototype.writeInt16BE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,2,32767,-32768);return this[q]=$>>>8,this[q+1]=$&255,q+2};o.prototype.writeInt32LE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,4,2147483647,-2147483648);return this[q]=$&255,this[q+1]=$>>>8,this[q+2]=$>>>16,this[q+3]=$>>>24,q+4};o.prototype.writeInt32BE=function($,q,Q){if($=+$,q=q>>>0,!Q)s0(this,$,q,4,2147483647,-2147483648);if($<0)$=4294967295+$+1;return this[q]=$>>>24,this[q+1]=$>>>16,this[q+2]=$>>>8,this[q+3]=$&255,q+4};o.prototype.writeBigInt64LE=l2(function($,q=0){return H9(this,$,q,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});o.prototype.writeBigInt64BE=l2(function($,q=0){return v9(this,$,q,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});o.prototype.writeFloatLE=function($,q,Q){return R9(this,$,q,!0,Q)};o.prototype.writeFloatBE=function($,q,Q){return R9(this,$,q,!1,Q)};o.prototype.writeDoubleLE=function($,q,Q){return I9(this,$,q,!0,Q)};o.prototype.writeDoubleBE=function($,q,Q){return I9(this,$,q,!1,Q)};o.prototype.copy=function($,q,Q,K){if(!o.isBuffer($))throw TypeError("argument should be a Buffer");if(!Q)Q=0;if(!K&&K!==0)K=this.length;if(q>=$.length)q=$.length;if(!q)q=0;if(K>0&&K=this.length)throw RangeError("Index out of range");if(K<0)throw RangeError("sourceEnd out of bounds");if(K>this.length)K=this.length;if($.length-q>>0,Q=Q===void 0?this.length:Q>>>0,!$)$=0;let J;if(typeof $==="number")for(J=q;J{var S0=y9.exports={},j2,g2;function T5(){throw Error("setTimeout has not been defined")}function u5(){throw Error("clearTimeout has not been defined")}(function(){try{if(typeof setTimeout==="function")j2=setTimeout;else j2=T5}catch($){j2=T5}try{if(typeof clearTimeout==="function")g2=clearTimeout;else g2=u5}catch($){g2=u5}})();function g9($){if(j2===setTimeout)return setTimeout($,0);if((j2===T5||!j2)&&setTimeout)return j2=setTimeout,setTimeout($,0);try{return j2($,0)}catch(q){try{return j2.call(null,$,0)}catch(Q){return j2.call(this,$,0)}}}function NV($){if(g2===clearTimeout)return clearTimeout($);if((g2===u5||!g2)&&clearTimeout)return g2=clearTimeout,clearTimeout($);try{return g2($)}catch(q){try{return g2.call(null,$)}catch(Q){return g2.call(this,$)}}}var E2=[],d1=!1,N1,k8=-1;function YV(){if(!d1||!N1)return;if(d1=!1,N1.length)E2=N1.concat(E2);else k8=-1;if(E2.length)A9()}function A9(){if(d1)return;var $=g9(YV);d1=!0;var q=E2.length;while(q){N1=E2,E2=[];while(++k81)for(var Q=1;Qn9,once:()=>c9,listenerCount:()=>d9,init:()=>r2,getMaxListeners:()=>p9,getEventListeners:()=>b9,default:()=>CV,captureRejectionSymbol:()=>u9,addAbortListener:()=>i9,EventEmitter:()=>r2});function S9($,q){var{_events:Q}=$;if(q[0]??=Error("Unhandled error."),!Q)throw q[0];var K=Q[T9];if(K)for(var J of O9.call(K))J.apply($,q);var Z=Q.error;if(!Z)throw q[0];for(var J of O9.call(Z))J.apply($,q);return!0}function LV($,q,Q,K){q.then(void 0,function(J){queueMicrotask(()=>HV($,J,Q,K))})}function HV($,q,Q,K){if(typeof $[x9]==="function")$[x9](q,Q,...K);else try{$[Y1]=!1,$.emit("error",q)}finally{$[Y1]=!0}}function E9($,q,Q){Q.warned=!0;let K=Error(`Possible EventEmitter memory leak detected. ${Q.length} ${String(q)} listeners added to [${$.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);K.name="MaxListenersExceededWarning",K.emitter=$,K.type=q,K.count=Q.length,console.warn(K)}function _9($,q,...Q){this.removeListener($,q),q.apply(this,Q)}function c9($,q,Q){var K=Q?.signal;if(m9(K,"options.signal"),K?.aborted)throw new S5(void 0,{cause:K?.reason});let{resolve:J,reject:Z,promise:G}=$newPromiseCapability(Promise),W=(U)=>{if($.removeListener(q,B),K!=null)D8(K,"abort",V);Z(U)},B=(...U)=>{if(typeof $.removeListener==="function")$.removeListener("error",W);if(K!=null)D8(K,"abort",V);J(U)};if(P9($,q,B,{once:!0}),q!=="error"&&typeof $.once==="function")$.once("error",W);function V(){D8($,q,B),D8($,"error",W),Z(new S5(void 0,{cause:K?.reason}))}if(K!=null)P9(K,"abort",V,{once:!0});return G}function b9($,q){return $.listeners(q)}function n9($,...q){_5($,"setMaxListeners",0);var Q;if(q&&(Q=q.length))for(let K=0;KK||(Q!=null||K!=null)&&Number.isNaN($))throw RV(q,`${Q!=null?`>= ${Q}`:""}${Q!=null&&K!=null?" && ":""}${K!=null?`<= ${K}`:""}`,$)}function x6($){if(typeof $!=="function")throw TypeError("The listener must be a function")}function IV($,q){if(typeof $!=="boolean")throw m1(q,"boolean",$)}function p9($){return $?._maxListeners??k1}function i9($,q){if($===void 0)throw m1("signal","AbortSignal",$);if(m9($,"signal"),typeof q!=="function")throw m1("listener","function",q);let Q;if($.aborted)queueMicrotask(()=>q());else $.addEventListener("abort",q,{__proto__:null,once:!0}),Q=()=>{$.removeEventListener("abort",q)};return{__proto__:null,[Symbol.dispose](){Q?.()}}}var E5,Y1,T9,kV,DV,x9,u9,O9,k1=10,r2=function($){if(this._events===void 0||this._events===this.__proto__._events)this._events={__proto__:null},this._eventsCount=0;if(this._maxListeners??=void 0,this[Y1]=$?.captureRejections?Boolean($?.captureRejections):y0[Y1])this.emit=fV},y0,vV=function($,...q){if($==="error")return S9(this,q);var{_events:Q}=this;if(Q===void 0)return!1;var K=Q[$];if(K===void 0)return!1;let J=K.length>1?K.slice():K;for(let Z=0,{length:G}=J;Z1?K.slice():K;for(let Z=0,{length:G}=J;Z{E5=Symbol.for,Y1=Symbol("kCapture"),T9=E5("events.errorMonitor"),kV=Symbol("events.maxEventTargetListeners"),DV=Symbol("events.maxEventTargetListenersWarned"),x9=E5("nodejs.rejection"),u9=E5("nodejs.rejection"),O9=Array.prototype.slice,y0=r2.prototype={};y0._events=void 0;y0._eventsCount=0;y0._maxListeners=void 0;y0.setMaxListeners=function($){return _5($,"setMaxListeners",0),this._maxListeners=$,this};y0.constructor=r2;y0.getMaxListeners=function(){return this?._maxListeners??k1};y0.emit=vV;y0.addListener=function($,q){x6(q);var Q=this._events;if(!Q)Q=this._events={__proto__:null},this._eventsCount=0;else if(Q.newListener)this.emit("newListener",$,q.listener??q);var K=Q[$];if(!K)Q[$]=[q],this._eventsCount++;else{K.push(q);var J=this._maxListeners??k1;if(J>0&&K.length>J&&!K.warned)E9(this,$,K)}return this};y0.on=y0.addListener;y0.prependListener=function($,q){x6(q);var Q=this._events;if(!Q)Q=this._events={__proto__:null},this._eventsCount=0;else if(Q.newListener)this.emit("newListener",$,q.listener??q);var K=Q[$];if(!K)Q[$]=[q],this._eventsCount++;else{K.unshift(q);var J=this._maxListeners??k1;if(J>0&&K.length>J&&!K.warned)E9(this,$,K)}return this};y0.once=function($,q){x6(q);let Q=_9.bind(this,$,q);return Q.listener=q,this.addListener($,Q),this};y0.prependOnceListener=function($,q){x6(q);let Q=_9.bind(this,$,q);return Q.listener=q,this.prependListener($,Q),this};y0.removeListener=function($,q){x6(q);var{_events:Q}=this;if(!Q)return this;var K=Q[$];if(!K)return this;var J=K.length;let Z=-1;for(let G=J-1;G>=0;G--)if(K[G]===q||K[G].listener===q){Z=G;break}if(Z<0)return this;if(Z===0)K.shift();else K.splice(Z,1);if(K.length===0)delete Q[$],this._eventsCount--;return this};y0.off=y0.removeListener;y0.removeAllListeners=function($){var{_events:q}=this;if($&&q){if(q[$])delete q[$],this._eventsCount--}else this._events={__proto__:null};return this};y0.listeners=function($){var{_events:q}=this;if(!q)return[];var Q=q[$];if(!Q)return[];return Q.map((K)=>K.listener??K)};y0.rawListeners=function($){var{_events:q}=this;if(!q)return[];var Q=q[$];if(!Q)return[];return Q.slice()};y0.listenerCount=function($){var{_events:q}=this;if(!q)return 0;return q[$]?.length??0};y0.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};y0[Y1]=!1;S5=class S5 extends Error{constructor($="The operation was aborted",q=void 0){if(q!==void 0&&typeof q!=="object")throw m1("options","Object",q);super($,q);this.code="ABORT_ERR",this.name="AbortError"}};Object.defineProperties(r2,{captureRejections:{get(){return y0[Y1]},set($){IV($,"EventEmitter.captureRejections"),y0[Y1]=$},enumerable:!0},defaultMaxListeners:{enumerable:!0,get:()=>{return k1},set:($)=>{_5($,"defaultMaxListeners",0),k1=$}},kMaxEventTargetListeners:{value:kV,enumerable:!1,configurable:!1,writable:!1},kMaxEventTargetListenersWarned:{value:DV,enumerable:!1,configurable:!1,writable:!1}});Object.assign(r2,{once:c9,getEventListeners:b9,getMaxListeners:p9,setMaxListeners:n9,EventEmitter:r2,usingDomains:!1,captureRejectionSymbol:u9,errorMonitor:T9,addAbortListener:i9,init:r2,listenerCount:d9});CV=r2});var a1=N0((Yz,$$)=>{var g0=($,q)=>()=>(q||$((q={exports:{}}).exports,q),q.exports),P0=g0(($,q)=>{class Q extends Error{constructor(K){if(!Array.isArray(K))throw TypeError(`Expected input to be an Array, got ${typeof K}`);let J="";for(let Z=0;Z{q.exports={format(Q,...K){return Q.replace(/%([sdifj])/g,function(...[J,Z]){let G=K.shift();if(Z==="f")return G.toFixed(6);else if(Z==="j")return JSON.stringify(G);else if(Z==="s"&&typeof G==="object")return`${G.constructor!==Object?G.constructor.name:""} {}`.trim();else return G.toString()})},inspect(Q){switch(typeof Q){case"string":if(Q.includes("'")){if(!Q.includes('"'))return`"${Q}"`;else if(!Q.includes("`")&&!Q.includes("${"))return`\`${Q}\``}return`'${Q}'`;case"number":if(isNaN(Q))return"NaN";else if(Object.is(Q,-0))return String(Q);return Q;case"bigint":return`${String(Q)}n`;case"boolean":case"undefined":return String(Q);case"object":return"{}"}}}}),a0=g0(($,q)=>{var{format:Q,inspect:K}=o9(),{AggregateError:J}=P0(),Z=globalThis.AggregateError||J,G=Symbol("kIsNodeError"),W=["string","function","number","object","Function","Object","boolean","bigint","symbol"],B=/^([A-Z][a-z0-9]*)+$/,V={};function U(D,z){if(!D)throw new V.ERR_INTERNAL_ASSERTION(z)}function w(D){let z="",N=D.length,H=D[0]==="-"?1:0;for(;N>=H+4;N-=3)z=`_${D.slice(N-3,N)}${z}`;return`${D.slice(0,N)}${z}`}function F(D,z,N){if(typeof z==="function")return U(z.length<=N.length,`Code: ${D}; The provided arguments length (${N.length}) does not match the required ones (${z.length}).`),z(...N);let H=(z.match(/%[dfijoOs]/g)||[]).length;if(U(H===N.length,`Code: ${D}; The provided arguments length (${N.length}) does not match the required ones (${H}).`),N.length===0)return z;return Q(z,...N)}function M(D,z,N){if(!N)N=Error;class H extends N{constructor(...v){super(F(D,z,v))}toString(){return`${this.name} [${D}]: ${this.message}`}}Object.defineProperties(H.prototype,{name:{value:N.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${D}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),H.prototype.code=D,H.prototype[G]=!0,V[D]=H}function k(D){let z="__node_internal_"+D.name;return Object.defineProperty(D,"name",{value:z}),D}function f(D,z){if(D&&z&&D!==z){if(Array.isArray(z.errors))return z.errors.push(D),z;let N=new Z([z,D],z.message);return N.code=z.code,N}return D||z}class L extends Error{constructor(D="The operation was aborted",z=void 0){if(z!==void 0&&typeof z!=="object")throw new V.ERR_INVALID_ARG_TYPE("options","Object",z);super(D,z);this.code="ABORT_ERR",this.name="AbortError"}}M("ERR_ASSERTION","%s",Error),M("ERR_INVALID_ARG_TYPE",(D,z,N)=>{if(U(typeof D==="string","'name' must be a string"),!Array.isArray(z))z=[z];let H="The ";if(D.endsWith(" argument"))H+=`${D} `;else H+=`"${D}" ${D.includes(".")?"property":"argument"} `;H+="must be ";let v=[],j=[],n=[];for(let _ of z)if(U(typeof _==="string","All expected entries have to be of type string"),W.includes(_))v.push(_.toLowerCase());else if(B.test(_))j.push(_);else U(_!=="object",'The value "object" should be written as "Object"'),n.push(_);if(j.length>0){let _=v.indexOf("object");if(_!==-1)v.splice(v,_,1),j.push("Object")}if(v.length>0){switch(v.length){case 1:H+=`of type ${v[0]}`;break;case 2:H+=`one of type ${v[0]} or ${v[1]}`;break;default:{let _=v.pop();H+=`one of type ${v.join(", ")}, or ${_}`}}if(j.length>0||n.length>0)H+=" or "}if(j.length>0){switch(j.length){case 1:H+=`an instance of ${j[0]}`;break;case 2:H+=`an instance of ${j[0]} or ${j[1]}`;break;default:{let _=j.pop();H+=`an instance of ${j.join(", ")}, or ${_}`}}if(n.length>0)H+=" or "}switch(n.length){case 0:break;case 1:if(n[0].toLowerCase()!==n[0])H+="an ";H+=`${n[0]}`;break;case 2:H+=`one of ${n[0]} or ${n[1]}`;break;default:{let _=n.pop();H+=`one of ${n.join(", ")}, or ${_}`}}if(N==null)H+=`. Received ${N}`;else if(typeof N==="function"&&N.name)H+=`. Received function ${N.name}`;else if(typeof N==="object"){var d;if((d=N.constructor)!==null&&d!==void 0&&d.name)H+=`. Received an instance of ${N.constructor.name}`;else{let _=K(N,{depth:-1});H+=`. Received ${_}`}}else{let _=K(N,{colors:!1});if(_.length>25)_=`${_.slice(0,25)}...`;H+=`. Received type ${typeof N} (${_})`}return H},TypeError),M("ERR_INVALID_ARG_VALUE",(D,z,N="is invalid")=>{let H=K(z);if(H.length>128)H=H.slice(0,128)+"...";return`The ${D.includes(".")?"property":"argument"} '${D}' ${N}. Received ${H}`},TypeError),M("ERR_INVALID_RETURN_VALUE",(D,z,N)=>{var H;let v=N!==null&&N!==void 0&&(H=N.constructor)!==null&&H!==void 0&&H.name?`instance of ${N.constructor.name}`:`type ${typeof N}`;return`Expected ${D} to be returned from the "${z}" function but got ${v}.`},TypeError),M("ERR_MISSING_ARGS",(...D)=>{U(D.length>0,"At least one arg needs to be specified");let z,N=D.length;switch(D=(Array.isArray(D)?D:[D]).map((H)=>`"${H}"`).join(" or "),N){case 1:z+=`The ${D[0]} argument`;break;case 2:z+=`The ${D[0]} and ${D[1]} arguments`;break;default:{let H=D.pop();z+=`The ${D.join(", ")}, and ${H} arguments`}break}return`${z} must be specified`},TypeError),M("ERR_OUT_OF_RANGE",(D,z,N)=>{U(z,'Missing "range" argument');let H;if(Number.isInteger(N)&&Math.abs(N)>4294967296)H=w(String(N));else if(typeof N==="bigint"){H=String(N);let v=BigInt(2)**BigInt(32);if(N>v||N<-v)H=w(H);H+="n"}else H=K(N);return`The value of "${D}" is out of range. It must be ${z}. Received ${H}`},RangeError),M("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),M("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),M("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),M("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),M("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),M("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),M("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),M("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),M("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),M("ERR_STREAM_WRITE_AFTER_END","write after end",Error),M("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),q.exports={AbortError:L,aggregateTwoErrors:k(f),hideStackFrames:k,codes:V}}),jV=g0(($,q)=>{Object.defineProperty($,"__esModule",{value:!0});var Q=new WeakMap,K=new WeakMap;function J(X){let P=Q.get(X);return console.assert(P!=null,"'this' is expected an Event object, but got",X),P}function Z(X){if(X.passiveListener!=null){if(typeof console<"u"&&typeof console.error==="function")console.error("Unable to preventDefault inside passive event listener invocation.",X.passiveListener);return}if(!X.event.cancelable)return;if(X.canceled=!0,typeof X.event.preventDefault==="function")X.event.preventDefault()}function G(X,P){Q.set(this,{eventTarget:X,event:P,eventPhase:2,currentTarget:X,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:P.timeStamp||Date.now()}),Object.defineProperty(this,"isTrusted",{value:!1,enumerable:!0});let g=Object.keys(P);for(let c=0;c0){let X=Array(arguments.length);for(let P=0;P{Object.defineProperty($,"__esModule",{value:!0});var Q=jV();class K extends Q.EventTarget{constructor(){super();throw TypeError("AbortSignal cannot be constructed directly")}get aborted(){let U=G.get(this);if(typeof U!=="boolean")throw TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this===null?"null":typeof this}`);return U}}Q.defineEventAttribute(K.prototype,"abort");function J(){let U=Object.create(K.prototype);return Q.EventTarget.call(U),G.set(U,!1),U}function Z(U){if(G.get(U)!==!1)return;G.set(U,!0),U.dispatchEvent({type:"abort"})}var G=new WeakMap;if(Object.defineProperties(K.prototype,{aborted:{enumerable:!0}}),typeof Symbol==="function"&&typeof Symbol.toStringTag==="symbol")Object.defineProperty(K.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortSignal"});class W{constructor(){B.set(this,J())}get signal(){return V(this)}abort(){Z(V(this))}}var B=new WeakMap;function V(U){let w=B.get(U);if(w==null)throw TypeError(`Expected 'this' to be an 'AbortController' object, but got ${U===null?"null":typeof U}`);return w}if(Object.defineProperties(W.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),typeof Symbol==="function"&&typeof Symbol.toStringTag==="symbol")Object.defineProperty(W.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortController"});$.AbortController=W,$.AbortSignal=K,$.default=W,q.exports=W,q.exports.AbortController=q.exports.default=W,q.exports.AbortSignal=K}),e0=g0(($,q)=>{var Q=(t0(),X0(K2)),{format:K,inspect:J}=o9(),{codes:{ERR_INVALID_ARG_TYPE:Z}}=a0(),{kResistStopPropagation:G,AggregateError:W,SymbolDispose:B}=P0(),V=globalThis.AbortSignal||O6().AbortSignal,U=globalThis.AbortController||O6().AbortController,w=Object.getPrototypeOf(async function(){}).constructor,F=globalThis.Blob||Q.Blob,M=typeof F<"u"?function(L){return L instanceof F}:function(L){return!1},k=(L,D)=>{if(L!==void 0&&(L===null||typeof L!=="object"||!("aborted"in L)))throw new Z(D,"AbortSignal",L)},f=(L,D)=>{if(typeof L!=="function")throw new Z(D,"Function",L)};q.exports={AggregateError:W,kEmptyObject:Object.freeze({}),once(L){let D=!1;return function(...z){if(D)return;D=!0,L.apply(this,z)}},createDeferredPromise:function(){let L,D;return{promise:new Promise((z,N)=>{L=z,D=N}),resolve:L,reject:D}},promisify(L){return new Promise((D,z)=>{L((N,...H)=>{if(N)return z(N);return D(...H)})})},debuglog(){return function(){}},format:K,inspect:J,types:{isAsyncFunction(L){return L instanceof w},isArrayBufferView(L){return ArrayBuffer.isView(L)}},isBlob:M,deprecate(L,D){return L},addAbortListener:(i1(),X0(p1)).addAbortListener||function(L,D){if(L===void 0)throw new Z("signal","AbortSignal",L);k(L,"signal"),f(D,"listener");let z;if(L.aborted)queueMicrotask(()=>D());else L.addEventListener("abort",D,{__proto__:null,once:!0,[G]:!0}),z=()=>{L.removeEventListener("abort",D)};return{__proto__:null,[B](){var N;(N=z)===null||N===void 0||N()}}},AbortSignalAny:V.any||function(L){if(L.length===1)return L[0];let D=new U,z=()=>D.abort();return L.forEach((N)=>{k(N,"signals"),N.addEventListener("abort",z,{once:!0})}),D.signal.addEventListener("abort",()=>{L.forEach((N)=>N.removeEventListener("abort",z))},{once:!0}),D.signal}},q.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),P6=g0(($,q)=>{var{ArrayIsArray:Q,ArrayPrototypeIncludes:K,ArrayPrototypeJoin:J,ArrayPrototypeMap:Z,NumberIsInteger:G,NumberIsNaN:W,NumberMAX_SAFE_INTEGER:B,NumberMIN_SAFE_INTEGER:V,NumberParseInt:U,ObjectPrototypeHasOwnProperty:w,RegExpPrototypeExec:F,String:M,StringPrototypeToUpperCase:k,StringPrototypeTrim:f}=P0(),{hideStackFrames:L,codes:{ERR_SOCKET_BAD_PORT:D,ERR_INVALID_ARG_TYPE:z,ERR_INVALID_ARG_VALUE:N,ERR_OUT_OF_RANGE:H,ERR_UNKNOWN_SIGNAL:v}}=a0(),{normalizeEncoding:j}=e0(),{isAsyncFunction:n,isArrayBufferView:d}=e0().types,_={};function X(T){return T===(T|0)}function P(T){return T===T>>>0}var g=/^[0-7]+$/,c="must be a 32-bit unsigned integer or an octal string";function h(T,t,G0){if(typeof T>"u")T=G0;if(typeof T==="string"){if(F(g,T)===null)throw new N(t,T,c);T=U(T,8)}return $0(T,t),T}var x=L((T,t,G0=V,Q0=B)=>{if(typeof T!=="number")throw new z(t,"number",T);if(!G(T))throw new H(t,"an integer",T);if(TQ0)throw new H(t,`>= ${G0} && <= ${Q0}`,T)}),l=L((T,t,G0=-2147483648,Q0=2147483647)=>{if(typeof T!=="number")throw new z(t,"number",T);if(!G(T))throw new H(t,"an integer",T);if(TQ0)throw new H(t,`>= ${G0} && <= ${Q0}`,T)}),$0=L((T,t,G0=!1)=>{if(typeof T!=="number")throw new z(t,"number",T);if(!G(T))throw new H(t,"an integer",T);let Q0=G0?1:0,M0=4294967295;if(TM0)throw new H(t,`>= ${Q0} && <= ${M0}`,T)});function Z0(T,t){if(typeof T!=="string")throw new z(t,"string",T)}function F0(T,t,G0=void 0,Q0){if(typeof T!=="number")throw new z(t,"number",T);if(G0!=null&&TQ0||(G0!=null||Q0!=null)&&W(T))throw new H(t,`${G0!=null?`>= ${G0}`:""}${G0!=null&&Q0!=null?" && ":""}${Q0!=null?`<= ${Q0}`:""}`,T)}var p=L((T,t,G0)=>{if(!K(G0,T)){let Q0="must be one of: "+J(Z(G0,(M0)=>typeof M0==="string"?`'${M0}'`:M(M0)),", ");throw new N(t,T,Q0)}});function W0(T,t){if(typeof T!=="boolean")throw new z(t,"boolean",T)}function y(T,t,G0){return T==null||!w(T,t)?G0:T[t]}var i=L((T,t,G0=null)=>{let Q0=y(G0,"allowArray",!1),M0=y(G0,"allowFunction",!1);if(!y(G0,"nullable",!1)&&T===null||!Q0&&Q(T)||typeof T!=="object"&&(!M0||typeof T!=="function"))throw new z(t,"Object",T)}),U0=L((T,t)=>{if(T!=null&&typeof T!=="object"&&typeof T!=="function")throw new z(t,"a dictionary",T)}),m=L((T,t,G0=0)=>{if(!Q(T))throw new z(t,"Array",T);if(T.length{if(!d(T))throw new z(t,["Buffer","TypedArray","DataView"],T)});function E(T,t){let G0=j(t),Q0=T.length;if(G0==="hex"&&Q0%2!==0)throw new N("encoding",t,`is invalid for data of length ${Q0}`)}function a(T,t="Port",G0=!0){if(typeof T!=="number"&&typeof T!=="string"||typeof T==="string"&&f(T).length===0||+T!==+T>>>0||T>65535||T===0&&!G0)throw new D(t,T,G0);return T|0}var K0=L((T,t)=>{if(T!==void 0&&(T===null||typeof T!=="object"||!("aborted"in T)))throw new z(t,"AbortSignal",T)}),R=L((T,t)=>{if(typeof T!=="function")throw new z(t,"Function",T)}),Y=L((T,t)=>{if(typeof T!=="function"||n(T))throw new z(t,"Function",T)}),C=L((T,t)=>{if(T!==void 0)throw new z(t,"undefined",T)});function u(T,t,G0){if(!K(G0,T))throw new z(t,`('${J(G0,"|")}')`,T)}var e=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function r(T,t){if(typeof T>"u"||!F(e,T))throw new N(t,T,'must be an array or string of format "; rel=preload; as=style"')}function s(T){if(typeof T==="string")return r(T,"hints"),T;else if(Q(T)){let t=T.length,G0="";if(t===0)return G0;for(let Q0=0;Q0; rel=preload; as=style"')}q.exports={isInt32:X,isUint32:P,parseFileMode:h,validateArray:m,validateStringArray:V0,validateBooleanArray:w0,validateAbortSignalArray:S,validateBoolean:W0,validateBuffer:O,validateDictionary:U0,validateEncoding:E,validateFunction:R,validateInt32:l,validateInteger:x,validateNumber:F0,validateObject:i,validateOneOf:p,validatePlainFunction:Y,validatePort:a,validateSignalName:b,validateString:Z0,validateUint32:$0,validateUndefined:C,validateUnion:u,validateAbortSignal:K0,validateLinkHeaderValue:s}}),D1=g0(($,q)=>{q.exports=globalThis.process}),b2=g0(($,q)=>{var{SymbolAsyncIterator:Q,SymbolIterator:K,SymbolFor:J}=P0(),Z=J("nodejs.stream.destroyed"),G=J("nodejs.stream.errored"),W=J("nodejs.stream.readable"),B=J("nodejs.stream.writable"),V=J("nodejs.stream.disturbed"),U=J("nodejs.webstream.isClosedPromise"),w=J("nodejs.webstream.controllerErrorFunction");function F(y,i=!1){var U0;return!!(y&&typeof y.pipe==="function"&&typeof y.on==="function"&&(!i||typeof y.pause==="function"&&typeof y.resume==="function")&&(!y._writableState||((U0=y._readableState)===null||U0===void 0?void 0:U0.readable)!==!1)&&(!y._writableState||y._readableState))}function M(y){var i;return!!(y&&typeof y.write==="function"&&typeof y.on==="function"&&(!y._readableState||((i=y._writableState)===null||i===void 0?void 0:i.writable)!==!1))}function k(y){return!!(y&&typeof y.pipe==="function"&&y._readableState&&typeof y.on==="function"&&typeof y.write==="function")}function f(y){return y&&(y._readableState||y._writableState||typeof y.write==="function"&&typeof y.on==="function"||typeof y.pipe==="function"&&typeof y.on==="function")}function L(y){return!!(y&&!f(y)&&typeof y.pipeThrough==="function"&&typeof y.getReader==="function"&&typeof y.cancel==="function")}function D(y){return!!(y&&!f(y)&&typeof y.getWriter==="function"&&typeof y.abort==="function")}function z(y){return!!(y&&!f(y)&&typeof y.readable==="object"&&typeof y.writable==="object")}function N(y){return L(y)||D(y)||z(y)}function H(y,i){if(y==null)return!1;if(i===!0)return typeof y[Q]==="function";if(i===!1)return typeof y[K]==="function";return typeof y[Q]==="function"||typeof y[K]==="function"}function v(y){if(!f(y))return null;let{_writableState:i,_readableState:U0}=y,m=i||U0;return!!(y.destroyed||y[Z]||m!==null&&m!==void 0&&m.destroyed)}function j(y){if(!M(y))return null;if(y.writableEnded===!0)return!0;let i=y._writableState;if(i!==null&&i!==void 0&&i.errored)return!1;if(typeof(i===null||i===void 0?void 0:i.ended)!=="boolean")return null;return i.ended}function n(y,i){if(!M(y))return null;if(y.writableFinished===!0)return!0;let U0=y._writableState;if(U0!==null&&U0!==void 0&&U0.errored)return!1;if(typeof(U0===null||U0===void 0?void 0:U0.finished)!=="boolean")return null;return!!(U0.finished||i===!1&&U0.ended===!0&&U0.length===0)}function d(y){if(!F(y))return null;if(y.readableEnded===!0)return!0;let i=y._readableState;if(!i||i.errored)return!1;if(typeof(i===null||i===void 0?void 0:i.ended)!=="boolean")return null;return i.ended}function _(y,i){if(!F(y))return null;let U0=y._readableState;if(U0!==null&&U0!==void 0&&U0.errored)return!1;if(typeof(U0===null||U0===void 0?void 0:U0.endEmitted)!=="boolean")return null;return!!(U0.endEmitted||i===!1&&U0.ended===!0&&U0.length===0)}function X(y){if(y&&y[W]!=null)return y[W];if(typeof(y===null||y===void 0?void 0:y.readable)!=="boolean")return null;if(v(y))return!1;return F(y)&&y.readable&&!_(y)}function P(y){if(y&&y[B]!=null)return y[B];if(typeof(y===null||y===void 0?void 0:y.writable)!=="boolean")return null;if(v(y))return!1;return M(y)&&y.writable&&!j(y)}function g(y,i){if(!f(y))return null;if(v(y))return!0;if((i===null||i===void 0?void 0:i.readable)!==!1&&X(y))return!1;if((i===null||i===void 0?void 0:i.writable)!==!1&&P(y))return!1;return!0}function c(y){var i,U0;if(!f(y))return null;if(y.writableErrored)return y.writableErrored;return(i=(U0=y._writableState)===null||U0===void 0?void 0:U0.errored)!==null&&i!==void 0?i:null}function h(y){var i,U0;if(!f(y))return null;if(y.readableErrored)return y.readableErrored;return(i=(U0=y._readableState)===null||U0===void 0?void 0:U0.errored)!==null&&i!==void 0?i:null}function x(y){if(!f(y))return null;if(typeof y.closed==="boolean")return y.closed;let{_writableState:i,_readableState:U0}=y;if(typeof(i===null||i===void 0?void 0:i.closed)==="boolean"||typeof(U0===null||U0===void 0?void 0:U0.closed)==="boolean")return(i===null||i===void 0?void 0:i.closed)||(U0===null||U0===void 0?void 0:U0.closed);if(typeof y._closed==="boolean"&&l(y))return y._closed;return null}function l(y){return typeof y._closed==="boolean"&&typeof y._defaultKeepAlive==="boolean"&&typeof y._removedConnection==="boolean"&&typeof y._removedContLen==="boolean"}function $0(y){return typeof y._sent100==="boolean"&&l(y)}function Z0(y){var i;return typeof y._consuming==="boolean"&&typeof y._dumped==="boolean"&&((i=y.req)===null||i===void 0?void 0:i.upgradeOrConnect)===void 0}function F0(y){if(!f(y))return null;let{_writableState:i,_readableState:U0}=y,m=i||U0;return!m&&$0(y)||!!(m&&m.autoDestroy&&m.emitClose&&m.closed===!1)}function p(y){var i;return!!(y&&((i=y[V])!==null&&i!==void 0?i:y.readableDidRead||y.readableAborted))}function W0(y){var i,U0,m,V0,w0,S,b,O,E,a;return!!(y&&((i=(U0=(m=(V0=(w0=(S=y[G])!==null&&S!==void 0?S:y.readableErrored)!==null&&w0!==void 0?w0:y.writableErrored)!==null&&V0!==void 0?V0:(b=y._readableState)===null||b===void 0?void 0:b.errorEmitted)!==null&&m!==void 0?m:(O=y._writableState)===null||O===void 0?void 0:O.errorEmitted)!==null&&U0!==void 0?U0:(E=y._readableState)===null||E===void 0?void 0:E.errored)!==null&&i!==void 0?i:(a=y._writableState)===null||a===void 0?void 0:a.errored))}q.exports={isDestroyed:v,kIsDestroyed:Z,isDisturbed:p,kIsDisturbed:V,isErrored:W0,kIsErrored:G,isReadable:X,kIsReadable:W,kIsClosedPromise:U,kControllerErrorFunction:w,kIsWritable:B,isClosed:x,isDuplexNodeStream:k,isFinished:g,isIterable:H,isReadableNodeStream:F,isReadableStream:L,isReadableEnded:d,isReadableFinished:_,isReadableErrored:h,isNodeStream:f,isWebStream:N,isWritable:P,isWritableNodeStream:M,isWritableStream:D,isWritableEnded:j,isWritableFinished:n,isWritableErrored:c,isServerRequest:Z0,isServerResponse:$0,willEmitClose:F0,isTransformStream:z}}),s2=g0(($,q)=>{var Q=D1(),{AbortError:K,codes:J}=a0(),{ERR_INVALID_ARG_TYPE:Z,ERR_STREAM_PREMATURE_CLOSE:G}=J,{kEmptyObject:W,once:B}=e0(),{validateAbortSignal:V,validateFunction:U,validateObject:w,validateBoolean:F}=P6(),{Promise:M,PromisePrototypeThen:k,SymbolDispose:f}=P0(),{isClosed:L,isReadable:D,isReadableNodeStream:z,isReadableStream:N,isReadableFinished:H,isReadableErrored:v,isWritable:j,isWritableNodeStream:n,isWritableStream:d,isWritableFinished:_,isWritableErrored:X,isNodeStream:P,willEmitClose:g,kIsClosedPromise:c}=b2(),h;function x(p){return p.setHeader&&typeof p.abort==="function"}var l=()=>{};function $0(p,W0,y){var i,U0;if(arguments.length===2)y=W0,W0=W;else if(W0==null)W0=W;else w(W0,"options");if(U(y,"callback"),V(W0.signal,"options.signal"),y=B(y),N(p)||d(p))return Z0(p,W0,y);if(!P(p))throw new Z("stream",["ReadableStream","WritableStream","Stream"],p);let m=(i=W0.readable)!==null&&i!==void 0?i:z(p),V0=(U0=W0.writable)!==null&&U0!==void 0?U0:n(p),w0=p._writableState,S=p._readableState,b=()=>{if(!p.writable)a()},O=g(p)&&z(p)===m&&n(p)===V0,E=_(p,!1),a=()=>{if(E=!0,p.destroyed)O=!1;if(O&&(!p.readable||m))return;if(!m||K0)y.call(p)},K0=H(p,!1),R=()=>{if(K0=!0,p.destroyed)O=!1;if(O&&(!p.writable||V0))return;if(!V0||E)y.call(p)},Y=(T)=>{y.call(p,T)},C=L(p),u=()=>{C=!0;let T=X(p)||v(p);if(T&&typeof T!=="boolean")return y.call(p,T);if(m&&!K0&&z(p,!0)){if(!H(p,!1))return y.call(p,new G)}if(V0&&!E){if(!_(p,!1))return y.call(p,new G)}y.call(p)},e=()=>{C=!0;let T=X(p)||v(p);if(T&&typeof T!=="boolean")return y.call(p,T);y.call(p)},r=()=>{p.req.on("finish",a)};if(x(p)){if(p.on("complete",a),!O)p.on("abort",u);if(p.req)r();else p.on("request",r)}else if(V0&&!w0)p.on("end",b),p.on("close",b);if(!O&&typeof p.aborted==="boolean")p.on("aborted",u);if(p.on("end",R),p.on("finish",a),W0.error!==!1)p.on("error",Y);if(p.on("close",u),C)Q.nextTick(u);else if(w0!==null&&w0!==void 0&&w0.errorEmitted||S!==null&&S!==void 0&&S.errorEmitted){if(!O)Q.nextTick(e)}else if(!m&&(!O||D(p))&&(E||j(p)===!1))Q.nextTick(e);else if(!V0&&(!O||j(p))&&(K0||D(p)===!1))Q.nextTick(e);else if(S&&p.req&&p.aborted)Q.nextTick(e);let s=()=>{if(y=l,p.removeListener("aborted",u),p.removeListener("complete",a),p.removeListener("abort",u),p.removeListener("request",r),p.req)p.req.removeListener("finish",a);p.removeListener("end",b),p.removeListener("close",b),p.removeListener("finish",a),p.removeListener("end",R),p.removeListener("error",Y),p.removeListener("close",u)};if(W0.signal&&!C){let T=()=>{let t=y;s(),t.call(p,new K(void 0,{cause:W0.signal.reason}))};if(W0.signal.aborted)Q.nextTick(T);else{h=h||e0().addAbortListener;let t=h(W0.signal,T),G0=y;y=B((...Q0)=>{t[f](),G0.apply(p,Q0)})}}return s}function Z0(p,W0,y){let i=!1,U0=l;if(W0.signal)if(U0=()=>{i=!0,y.call(p,new K(void 0,{cause:W0.signal.reason}))},W0.signal.aborted)Q.nextTick(U0);else{h=h||e0().addAbortListener;let V0=h(W0.signal,U0),w0=y;y=B((...S)=>{V0[f](),w0.apply(p,S)})}let m=(...V0)=>{if(!i)Q.nextTick(()=>y.apply(p,V0))};return k(p[c].promise,m,m),l}function F0(p,W0){var y;let i=!1;if(W0===null)W0=W;if((y=W0)!==null&&y!==void 0&&y.cleanup)F(W0.cleanup,"cleanup"),i=W0.cleanup;return new M((U0,m)=>{let V0=$0(p,W0,(w0)=>{if(i)V0();if(w0)m(w0);else U0()})})}q.exports=$0,q.exports.finished=F0}),o1=g0(($,q)=>{var Q=D1(),{aggregateTwoErrors:K,codes:{ERR_MULTIPLE_CALLBACK:J},AbortError:Z}=a0(),{Symbol:G}=P0(),{kIsDestroyed:W,isDestroyed:B,isFinished:V,isServerRequest:U}=b2(),w=G("kDestroy"),F=G("kConstruct");function M(g,c,h){if(g){if(g.stack,c&&!c.errored)c.errored=g;if(h&&!h.errored)h.errored=g}}function k(g,c){let h=this._readableState,x=this._writableState,l=x||h;if(x!==null&&x!==void 0&&x.destroyed||h!==null&&h!==void 0&&h.destroyed){if(typeof c==="function")c();return this}if(M(g,x,h),x)x.destroyed=!0;if(h)h.destroyed=!0;if(!l.constructed)this.once(w,function($0){f(this,K($0,g),c)});else f(this,g,c);return this}function f(g,c,h){let x=!1;function l($0){if(x)return;x=!0;let{_readableState:Z0,_writableState:F0}=g;if(M($0,F0,Z0),F0)F0.closed=!0;if(Z0)Z0.closed=!0;if(typeof h==="function")h($0);if($0)Q.nextTick(L,g,$0);else Q.nextTick(D,g)}try{g._destroy(c||null,l)}catch($0){l($0)}}function L(g,c){z(g,c),D(g)}function D(g){let{_readableState:c,_writableState:h}=g;if(h)h.closeEmitted=!0;if(c)c.closeEmitted=!0;if(h!==null&&h!==void 0&&h.emitClose||c!==null&&c!==void 0&&c.emitClose)g.emit("close")}function z(g,c){let{_readableState:h,_writableState:x}=g;if(x!==null&&x!==void 0&&x.errorEmitted||h!==null&&h!==void 0&&h.errorEmitted)return;if(x)x.errorEmitted=!0;if(h)h.errorEmitted=!0;g.emit("error",c)}function N(){let g=this._readableState,c=this._writableState;if(g)g.constructed=!0,g.closed=!1,g.closeEmitted=!1,g.destroyed=!1,g.errored=null,g.errorEmitted=!1,g.reading=!1,g.ended=g.readable===!1,g.endEmitted=g.readable===!1;if(c)c.constructed=!0,c.destroyed=!1,c.closed=!1,c.closeEmitted=!1,c.errored=null,c.errorEmitted=!1,c.finalCalled=!1,c.prefinished=!1,c.ended=c.writable===!1,c.ending=c.writable===!1,c.finished=c.writable===!1}function H(g,c,h){let{_readableState:x,_writableState:l}=g;if(l!==null&&l!==void 0&&l.destroyed||x!==null&&x!==void 0&&x.destroyed)return this;if(x!==null&&x!==void 0&&x.autoDestroy||l!==null&&l!==void 0&&l.autoDestroy)g.destroy(c);else if(c){if(c.stack,l&&!l.errored)l.errored=c;if(x&&!x.errored)x.errored=c;if(h)Q.nextTick(z,g,c);else z(g,c)}}function v(g,c){if(typeof g._construct!=="function")return;let{_readableState:h,_writableState:x}=g;if(h)h.constructed=!1;if(x)x.constructed=!1;if(g.once(F,c),g.listenerCount(F)>1)return;Q.nextTick(j,g)}function j(g){let c=!1;function h(x){if(c){H(g,x!==null&&x!==void 0?x:new J);return}c=!0;let{_readableState:l,_writableState:$0}=g,Z0=$0||l;if(l)l.constructed=!0;if($0)$0.constructed=!0;if(Z0.destroyed)g.emit(w,x);else if(x)H(g,x,!0);else Q.nextTick(n,g)}try{g._construct((x)=>{Q.nextTick(h,x)})}catch(x){Q.nextTick(h,x)}}function n(g){g.emit(F)}function d(g){return(g===null||g===void 0?void 0:g.setHeader)&&typeof g.abort==="function"}function _(g){g.emit("close")}function X(g,c){g.emit("error",c),Q.nextTick(_,g)}function P(g,c){if(!g||B(g))return;if(!c&&!V(g))c=new Z;if(U(g))g.socket=null,g.destroy(c);else if(d(g))g.abort();else if(d(g.req))g.req.abort();else if(typeof g.destroy==="function")g.destroy(c);else if(typeof g.close==="function")g.close();else if(c)Q.nextTick(X,g,c);else Q.nextTick(_,g);if(!g.destroyed)g[W]=!0}q.exports={construct:v,destroyer:P,destroy:k,undestroy:N,errorOrDestroy:H}}),c5=g0(($,q)=>{var{ArrayIsArray:Q,ObjectSetPrototypeOf:K}=P0(),{EventEmitter:J}=(i1(),X0(p1));function Z(W){J.call(this,W)}K(Z.prototype,J.prototype),K(Z,J),Z.prototype.pipe=function(W,B){let V=this;function U(D){if(W.writable&&W.write(D)===!1&&V.pause)V.pause()}V.on("data",U);function w(){if(V.readable&&V.resume)V.resume()}if(W.on("drain",w),!W._isStdio&&(!B||B.end!==!1))V.on("end",M),V.on("close",k);let F=!1;function M(){if(F)return;F=!0,W.end()}function k(){if(F)return;if(F=!0,typeof W.destroy==="function")W.destroy()}function f(D){if(L(),J.listenerCount(this,"error")===0)this.emit("error",D)}G(V,"error",f),G(W,"error",f);function L(){V.removeListener("data",U),W.removeListener("drain",w),V.removeListener("end",M),V.removeListener("close",k),V.removeListener("error",f),W.removeListener("error",f),V.removeListener("end",L),V.removeListener("close",L),W.removeListener("close",L)}return V.on("end",L),V.on("close",L),W.on("close",L),W.emit("pipe",V),W};function G(W,B,V){if(typeof W.prependListener==="function")return W.prependListener(B,V);if(!W._events||!W._events[B])W.on(B,V);else if(Q(W._events[B]))W._events[B].unshift(V);else W._events[B]=[V,W._events[B]]}q.exports={Stream:Z,prependListener:G}}),L8=g0(($,q)=>{var{SymbolDispose:Q}=P0(),{AbortError:K,codes:J}=a0(),{isNodeStream:Z,isWebStream:G,kControllerErrorFunction:W}=b2(),B=s2(),{ERR_INVALID_ARG_TYPE:V}=J,U,w=(F,M)=>{if(typeof F!=="object"||!("aborted"in F))throw new V(M,"AbortSignal",F)};q.exports.addAbortSignal=function(F,M){if(w(F,"signal"),!Z(M)&&!G(M))throw new V("stream",["ReadableStream","WritableStream","Stream"],M);return q.exports.addAbortSignalNoValidate(F,M)},q.exports.addAbortSignalNoValidate=function(F,M){if(typeof F!=="object"||!("aborted"in F))return M;let k=Z(M)?()=>{M.destroy(new K(void 0,{cause:F.reason}))}:()=>{M[W](new K(void 0,{cause:F.reason}))};if(F.aborted)k();else{U=U||e0().addAbortListener;let f=U(F,k);B(M,f[Q])}return M}}),gV=g0(($,q)=>{var{StringPrototypeSlice:Q,SymbolIterator:K,TypedArrayPrototypeSet:J,Uint8Array:Z}=P0(),{Buffer:G}=(t0(),X0(K2)),{inspect:W}=e0();q.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(B){let V={data:B,next:null};if(this.length>0)this.tail.next=V;else this.head=V;this.tail=V,++this.length}unshift(B){let V={data:B,next:this.head};if(this.length===0)this.tail=V;this.head=V,++this.length}shift(){if(this.length===0)return;let B=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;return--this.length,B}clear(){this.head=this.tail=null,this.length=0}join(B){if(this.length===0)return"";let V=this.head,U=""+V.data;while((V=V.next)!==null)U+=B+V.data;return U}concat(B){if(this.length===0)return G.alloc(0);let V=G.allocUnsafe(B>>>0),U=this.head,w=0;while(U)J(V,U.data,w),w+=U.data.length,U=U.next;return V}consume(B,V){let U=this.head.data;if(BF.length)V+=F,B-=F.length;else{if(B===F.length)if(V+=F,++w,U.next)this.head=U.next;else this.head=this.tail=null;else V+=Q(F,0,B),this.head=U,U.data=Q(F,B);break}++w}while((U=U.next)!==null);return this.length-=w,V}_getBuffer(B){let V=G.allocUnsafe(B),U=B,w=this.head,F=0;do{let M=w.data;if(B>M.length)J(V,M,U-B),B-=M.length;else{if(B===M.length)if(J(V,M,U-B),++F,w.next)this.head=w.next;else this.head=this.tail=null;else J(V,new Z(M.buffer,M.byteOffset,B),U-B),this.head=w,w.data=M.slice(B);break}++F}while((w=w.next)!==null);return this.length-=F,V}[Symbol.for("nodejs.util.inspect.custom")](B,V){return W(this,{...V,depth:0,customInspect:!1})}}}),H8=g0(($,q)=>{var{MathFloor:Q,NumberIsInteger:K}=P0(),{validateInteger:J}=P6(),{ERR_INVALID_ARG_VALUE:Z}=a0().codes,G=16384,W=16;function B(F,M,k){return F.highWaterMark!=null?F.highWaterMark:M?F[k]:null}function V(F){return F?W:G}function U(F,M){if(J(M,"value",0),F)W=M;else G=M}function w(F,M,k,f){let L=B(M,f,k);if(L!=null){if(!K(L)||L<0){let D=f?`options.${k}`:"options.highWaterMark";throw new Z(D,L)}return Q(L)}return V(F.objectMode)}q.exports={getHighWaterMark:w,getDefaultHighWaterMark:V,setDefaultHighWaterMark:U}}),AV=g0(($,q)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh */var Q=(t0(),X0(K2)),K=Q.Buffer;function J(G,W){for(var B in G)W[B]=G[B]}if(K.from&&K.alloc&&K.allocUnsafe&&K.allocUnsafeSlow)q.exports=Q;else J(Q,$),$.Buffer=Z;function Z(G,W,B){return K(G,W,B)}Z.prototype=Object.create(K.prototype),J(K,Z),Z.from=function(G,W,B){if(typeof G==="number")throw TypeError("Argument must not be a number");return K(G,W,B)},Z.alloc=function(G,W,B){if(typeof G!=="number")throw TypeError("Argument must be a number");var V=K(G);if(W!==void 0)if(typeof B==="string")V.fill(W,B);else V.fill(W);else V.fill(0);return V},Z.allocUnsafe=function(G){if(typeof G!=="number")throw TypeError("Argument must be a number");return K(G)},Z.allocUnsafeSlow=function(G){if(typeof G!=="number")throw TypeError("Argument must be a number");return Q.SlowBuffer(G)}}),XV=g0(($)=>{var q=AV().Buffer,Q=q.isEncoding||function(z){switch(z=""+z,z&&z.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function K(z){if(!z)return"utf8";var N;while(!0)switch(z){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return z;default:if(N)return;z=(""+z).toLowerCase(),N=!0}}function J(z){var N=K(z);if(typeof N!=="string"&&(q.isEncoding===Q||!Q(z)))throw Error("Unknown encoding: "+z);return N||z}$.StringDecoder=Z;function Z(z){this.encoding=J(z);var N;switch(this.encoding){case"utf16le":this.text=F,this.end=M,N=4;break;case"utf8":this.fillLast=V,N=4;break;case"base64":this.text=k,this.end=f,N=3;break;default:this.write=L,this.end=D;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=q.allocUnsafe(N)}Z.prototype.write=function(z){if(z.length===0)return"";var N,H;if(this.lastNeed){if(N=this.fillLast(z),N===void 0)return"";H=this.lastNeed,this.lastNeed=0}else H=0;if(H>5===6)return 2;else if(z>>4===14)return 3;else if(z>>3===30)return 4;return z>>6===2?-1:-2}function W(z,N,H){var v=N.length-1;if(v=0){if(j>0)z.lastNeed=j-1;return j}if(--v=0){if(j>0)z.lastNeed=j-2;return j}if(--v=0){if(j>0)if(j===2)j=0;else z.lastNeed=j-3;return j}return 0}function B(z,N,H){if((N[0]&192)!==128)return z.lastNeed=0,"�";if(z.lastNeed>1&&N.length>1){if((N[1]&192)!==128)return z.lastNeed=1,"�";if(z.lastNeed>2&&N.length>2){if((N[2]&192)!==128)return z.lastNeed=2,"�"}}}function V(z){var N=this.lastTotal-this.lastNeed,H=B(this,z,N);if(H!==void 0)return H;if(this.lastNeed<=z.length)return z.copy(this.lastChar,N,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);z.copy(this.lastChar,N,0,z.length),this.lastNeed-=z.length}function U(z,N){var H=W(this,z,N);if(!this.lastNeed)return z.toString("utf8",N);this.lastTotal=H;var v=z.length-(H-this.lastNeed);return z.copy(this.lastChar,0,v),z.toString("utf8",N,v)}function w(z){var N=z&&z.length?this.write(z):"";if(this.lastNeed)return N+"�";return N}function F(z,N){if((z.length-N)%2===0){var H=z.toString("utf16le",N);if(H){var v=H.charCodeAt(H.length-1);if(v>=55296&&v<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=z[z.length-2],this.lastChar[1]=z[z.length-1],H.slice(0,-1)}return H}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=z[z.length-1],z.toString("utf16le",N,z.length-1)}function M(z){var N=z&&z.length?this.write(z):"";if(this.lastNeed){var H=this.lastTotal-this.lastNeed;return N+this.lastChar.toString("utf16le",0,H)}return N}function k(z,N){var H=(z.length-N)%3;if(H===0)return z.toString("base64",N);if(this.lastNeed=3-H,this.lastTotal=3,H===1)this.lastChar[0]=z[z.length-1];else this.lastChar[0]=z[z.length-2],this.lastChar[1]=z[z.length-1];return z.toString("base64",N,z.length-H)}function f(z){var N=z&&z.length?this.write(z):"";if(this.lastNeed)return N+this.lastChar.toString("base64",0,3-this.lastNeed);return N}function L(z){return z.toString(this.encoding)}function D(z){return z&&z.length?this.write(z):""}}),a9=g0(($,q)=>{var Q=D1(),{PromisePrototypeThen:K,SymbolAsyncIterator:J,SymbolIterator:Z}=P0(),{Buffer:G}=(t0(),X0(K2)),{ERR_INVALID_ARG_TYPE:W,ERR_STREAM_NULL_VALUES:B}=a0().codes;function V(U,w,F){let M;if(typeof w==="string"||w instanceof G)return new U({objectMode:!0,...F,read(){this.push(w),this.push(null)}});let k;if(w&&w[J])k=!0,M=w[J]();else if(w&&w[Z])k=!1,M=w[Z]();else throw new W("iterable",["Iterable"],w);let f=new U({objectMode:!0,highWaterMark:1,...F}),L=!1;f._read=function(){if(!L)L=!0,z()},f._destroy=function(N,H){K(D(N),()=>Q.nextTick(H,N),(v)=>Q.nextTick(H,v||N))};async function D(N){let H=N!==void 0&&N!==null,v=typeof M.throw==="function";if(H&&v){let{value:j,done:n}=await M.throw(N);if(await j,n)return}if(typeof M.return==="function"){let{value:j}=await M.return();await j}}async function z(){for(;;){try{let{value:N,done:H}=k?await M.next():M.next();if(H)f.push(null);else{let v=N&&typeof N.then==="function"?await N:N;if(v===null)throw L=!1,new B;else if(f.push(v))continue;else L=!1}}catch(N){f.destroy(N)}break}}return f}q.exports=V}),v8=g0(($,q)=>{var Q=D1(),{ArrayPrototypeIndexOf:K,NumberIsInteger:J,NumberIsNaN:Z,NumberParseInt:G,ObjectDefineProperties:W,ObjectKeys:B,ObjectSetPrototypeOf:V,Promise:U,SafeSet:w,SymbolAsyncDispose:F,SymbolAsyncIterator:M,Symbol:k}=P0();q.exports=Q0,Q0.ReadableState=G0;var{EventEmitter:f}=(i1(),X0(p1)),{Stream:L,prependListener:D}=c5(),{Buffer:z}=(t0(),X0(K2)),{addAbortSignal:N}=L8(),H=s2(),v=e0().debuglog("stream",(I)=>{v=I}),j=gV(),n=o1(),{getHighWaterMark:d,getDefaultHighWaterMark:_}=H8(),{aggregateTwoErrors:X,codes:{ERR_INVALID_ARG_TYPE:P,ERR_METHOD_NOT_IMPLEMENTED:g,ERR_OUT_OF_RANGE:c,ERR_STREAM_PUSH_AFTER_EOF:h,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:x},AbortError:l}=a0(),{validateObject:$0}=P6(),Z0=k("kPaused"),{StringDecoder:F0}=XV(),p=a9();V(Q0.prototype,L.prototype),V(Q0,L);var W0=()=>{},{errorOrDestroy:y}=n,i=1,U0=2,m=4,V0=8,w0=16,S=32,b=64,O=128,E=256,a=512,K0=1024,R=2048,Y=4096,C=8192,u=16384,e=32768,r=65536,s=131072,T=262144;function t(I){return{enumerable:!1,get(){return(this.state&I)!==0},set(A){if(A)this.state|=I;else this.state&=~I}}}W(G0.prototype,{objectMode:t(i),ended:t(U0),endEmitted:t(m),reading:t(V0),constructed:t(w0),sync:t(S),needReadable:t(b),emittedReadable:t(O),readableListening:t(E),resumeScheduled:t(a),errorEmitted:t(K0),emitClose:t(R),autoDestroy:t(Y),destroyed:t(C),closed:t(u),closeEmitted:t(e),multiAwaitDrain:t(r),readingMore:t(s),dataEmitted:t(T)});function G0(I,A,J0){if(typeof J0!=="boolean")J0=A instanceof c2();if(this.state=R|Y|w0|S,I&&I.objectMode)this.state|=i;if(J0&&I&&I.readableObjectMode)this.state|=i;if(this.highWaterMark=I?d(this,I,"readableHighWaterMark",J0):_(!1),this.buffer=new j,this.length=0,this.pipes=[],this.flowing=null,this[Z0]=null,I&&I.emitClose===!1)this.state&=~R;if(I&&I.autoDestroy===!1)this.state&=~Y;if(this.errored=null,this.defaultEncoding=I&&I.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,I&&I.encoding)this.decoder=new F0(I.encoding),this.encoding=I.encoding}function Q0(I){if(!(this instanceof Q0))return new Q0(I);let A=this instanceof c2();if(this._readableState=new G0(I,this,A),I){if(typeof I.read==="function")this._read=I.read;if(typeof I.destroy==="function")this._destroy=I.destroy;if(typeof I.construct==="function")this._construct=I.construct;if(I.signal&&!A)N(I.signal,this)}L.call(this,I),n.construct(this,()=>{if(this._readableState.needReadable)_1(this,this._readableState)})}Q0.prototype.destroy=n.destroy,Q0.prototype._undestroy=n.undestroy,Q0.prototype._destroy=function(I,A){A(I)},Q0.prototype[f.captureRejectionSymbol]=function(I){this.destroy(I)},Q0.prototype[F]=function(){let I;if(!this.destroyed)I=this.readableEnded?null:new l,this.destroy(I);return new U((A,J0)=>H(this,(B0)=>B0&&B0!==I?J0(B0):A(null)))},Q0.prototype.push=function(I,A){return M0(this,I,A,!1)},Q0.prototype.unshift=function(I,A){return M0(this,I,A,!0)};function M0(I,A,J0,B0){v("readableAddChunk",A);let z0=I._readableState,i0;if((z0.state&i)===0){if(typeof A==="string"){if(J0=J0||z0.defaultEncoding,z0.encoding!==J0)if(B0&&z0.encoding)A=z.from(A,J0).toString(z0.encoding);else A=z.from(A,J0),J0=""}else if(A instanceof z)J0="";else if(L._isUint8Array(A))A=L._uint8ArrayToBuffer(A),J0="";else if(A!=null)i0=new P("chunk",["string","Buffer","Uint8Array"],A)}if(i0)y(I,i0);else if(A===null)z0.state&=~V0,O0(I,z0);else if((z0.state&i)!==0||A&&A.length>0)if(B0)if((z0.state&m)!==0)y(I,new x);else if(z0.destroyed||z0.errored)return!1;else I0(I,z0,A,!0);else if(z0.ended)y(I,new h);else if(z0.destroyed||z0.errored)return!1;else if(z0.state&=~V0,z0.decoder&&!J0)if(A=z0.decoder.write(A),z0.objectMode||A.length!==0)I0(I,z0,A,!1);else _1(I,z0);else I0(I,z0,A,!1);else if(!B0)z0.state&=~V0,_1(I,z0);return!z0.ended&&(z0.length0){if((A.state&r)!==0)A.awaitDrainWriters.clear();else A.awaitDrainWriters=null;A.dataEmitted=!0,I.emit("data",J0)}else{if(A.length+=A.objectMode?1:J0.length,B0)A.buffer.unshift(J0);else A.buffer.push(J0);if((A.state&b)!==0)u0(I)}_1(I,A)}Q0.prototype.isPaused=function(){let I=this._readableState;return I[Z0]===!0||I.flowing===!1},Q0.prototype.setEncoding=function(I){let A=new F0(I);this._readableState.decoder=A,this._readableState.encoding=this._readableState.decoder.encoding;let J0=this._readableState.buffer,B0="";for(let z0 of J0)B0+=A.write(z0);if(J0.clear(),B0!=="")J0.push(B0);return this._readableState.length=B0.length,this};var m0=1073741824;function p0(I){if(I>m0)throw new c("size","<= 1GiB",I);else I--,I|=I>>>1,I|=I>>>2,I|=I>>>4,I|=I>>>8,I|=I>>>16,I++;return I}function q2(I,A){if(I<=0||A.length===0&&A.ended)return 0;if((A.state&i)!==0)return 1;if(Z(I)){if(A.flowing&&A.length)return A.buffer.first().length;return A.length}if(I<=A.length)return I;return A.ended?A.length:0}Q0.prototype.read=function(I){if(v("read",I),I===void 0)I=NaN;else if(!J(I))I=G(I,10);let A=this._readableState,J0=I;if(I>A.highWaterMark)A.highWaterMark=p0(I);if(I!==0)A.state&=~O;if(I===0&&A.needReadable&&((A.highWaterMark!==0?A.length>=A.highWaterMark:A.length>0)||A.ended)){if(v("read: emitReadable",A.length,A.ended),A.length===0&&A.ended)v5(this);else u0(this);return null}if(I=q2(I,A),I===0&&A.ended){if(A.length===0)v5(this);return null}let B0=(A.state&b)!==0;if(v("need readable",B0),A.length===0||A.length-I0)z0=a7(I,A);else z0=null;if(z0===null)A.needReadable=A.length<=A.highWaterMark,I=0;else if(A.length-=I,A.multiAwaitDrain)A.awaitDrainWriters.clear();else A.awaitDrainWriters=null;if(A.length===0){if(!A.ended)A.needReadable=!0;if(J0!==I&&A.ended)v5(this)}if(z0!==null&&!A.errorEmitted&&!A.closeEmitted)A.dataEmitted=!0,this.emit("data",z0);return z0};function O0(I,A){if(v("onEofChunk"),A.ended)return;if(A.decoder){let J0=A.decoder.end();if(J0&&J0.length)A.buffer.push(J0),A.length+=A.objectMode?1:J0.length}if(A.ended=!0,A.sync)u0(I);else A.needReadable=!1,A.emittedReadable=!0,E1(I)}function u0(I){let A=I._readableState;if(v("emitReadable",A.needReadable,A.emittedReadable),A.needReadable=!1,!A.emittedReadable)v("emitReadable",A.flowing),A.emittedReadable=!0,Q.nextTick(E1,I)}function E1(I){let A=I._readableState;if(v("emitReadable_",A.destroyed,A.length,A.ended),!A.destroyed&&!A.errored&&(A.length||A.ended))I.emit("readable"),A.emittedReadable=!1;A.needReadable=!A.flowing&&!A.ended&&A.length<=A.highWaterMark,i7(I)}function _1(I,A){if(!A.readingMore&&A.constructed)A.readingMore=!0,Q.nextTick(R2,I,A)}function R2(I,A){while(!A.reading&&!A.ended&&(A.length1&&B0.pipes.includes(I))v("false write response, pause",B0.awaitDrainWriters.size),B0.awaitDrainWriters.add(I);J0.pause()}if(!z1)z1=wJ(J0,I),I.on("drain",z1)}J0.on("data",t7);function t7(F1){v("ondata");let u2=I.write(F1);if(v("dest.write",u2),u2===!1)s7()}function R5(F1){if(v("onerror",F1),A6(),I.removeListener("error",R5),I.listenerCount("error")===0){let u2=I._writableState||I._readableState;if(u2&&!u2.errorEmitted)y(I,F1);else I.emit("error",F1)}}D(I,"error",R5);function I5(){I.removeListener("finish",C5),A6()}I.once("close",I5);function C5(){v("onfinish"),I.removeListener("close",I5),A6()}I.once("finish",C5);function A6(){v("unpipe"),J0.unpipe(I)}if(I.emit("pipe",J0),I.writableNeedDrain===!0)s7();else if(!B0.flowing)v("pipe resume"),J0.resume();return I};function wJ(I,A){return function(){let J0=I._readableState;if(J0.awaitDrainWriters===A)v("pipeOnDrain",1),J0.awaitDrainWriters=null;else if(J0.multiAwaitDrain)v("pipeOnDrain",J0.awaitDrainWriters.size),J0.awaitDrainWriters.delete(A);if((!J0.awaitDrainWriters||J0.awaitDrainWriters.size===0)&&I.listenerCount("data"))I.resume()}}Q0.prototype.unpipe=function(I){let A=this._readableState,J0={hasUnpiped:!1};if(A.pipes.length===0)return this;if(!I){let z0=A.pipes;A.pipes=[],this.pause();for(let i0=0;i00,B0.flowing!==!1)this.resume()}else if(I==="readable"){if(!B0.endEmitted&&!B0.readableListening){if(B0.readableListening=B0.needReadable=!0,B0.flowing=!1,B0.emittedReadable=!1,v("on readable",B0.length,B0.reading),B0.length)u0(this);else if(!B0.reading)Q.nextTick(NJ,this)}}return J0},Q0.prototype.addListener=Q0.prototype.on,Q0.prototype.removeListener=function(I,A){let J0=L.prototype.removeListener.call(this,I,A);if(I==="readable")Q.nextTick(p7,this);return J0},Q0.prototype.off=Q0.prototype.removeListener,Q0.prototype.removeAllListeners=function(I){let A=L.prototype.removeAllListeners.apply(this,arguments);if(I==="readable"||I===void 0)Q.nextTick(p7,this);return A};function p7(I){let A=I._readableState;if(A.readableListening=I.listenerCount("readable")>0,A.resumeScheduled&&A[Z0]===!1)A.flowing=!0;else if(I.listenerCount("data")>0)I.resume();else if(!A.readableListening)A.flowing=null}function NJ(I){v("readable nexttick read 0"),I.read(0)}Q0.prototype.resume=function(){let I=this._readableState;if(!I.flowing)v("resume"),I.flowing=!I.readableListening,YJ(this,I);return I[Z0]=!1,this};function YJ(I,A){if(!A.resumeScheduled)A.resumeScheduled=!0,Q.nextTick(kJ,I,A)}function kJ(I,A){if(v("resume",A.reading),!A.reading)I.read(0);if(A.resumeScheduled=!1,I.emit("resume"),i7(I),A.flowing&&!A.reading)I.read(0)}Q0.prototype.pause=function(){if(v("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1)v("pause"),this._readableState.flowing=!1,this.emit("pause");return this._readableState[Z0]=!0,this};function i7(I){let A=I._readableState;v("flow",A.flowing);while(A.flowing&&I.read()!==null);}Q0.prototype.wrap=function(I){let A=!1;I.on("data",(B0)=>{if(!this.push(B0)&&I.pause)A=!0,I.pause()}),I.on("end",()=>{this.push(null)}),I.on("error",(B0)=>{y(this,B0)}),I.on("close",()=>{this.destroy()}),I.on("destroy",()=>{this.destroy()}),this._read=()=>{if(A&&I.resume)A=!1,I.resume()};let J0=B(I);for(let B0=1;B0{z0=z2?X(z0,z2):null,J0(),J0=W0});try{while(!0){let z2=I.destroyed?null:I.read();if(z2!==null)yield z2;else if(z0)throw z0;else if(z0===null)return;else await new U(B0)}}catch(z2){throw z0=X(z0,z2),z0}finally{if((z0||(A===null||A===void 0?void 0:A.destroyOnReturn)!==!1)&&(z0===void 0||I._readableState.autoDestroy))n.destroyer(I,null);else I.off("readable",B0),i0()}}W(Q0.prototype,{readable:{__proto__:null,get(){let I=this._readableState;return!!I&&I.readable!==!1&&!I.destroyed&&!I.errorEmitted&&!I.endEmitted},set(I){if(this._readableState)this._readableState.readable=!!I}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(I){if(this._readableState)this._readableState.flowing=I}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(I){if(!this._readableState)return;this._readableState.destroyed=I}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),W(G0.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[Z0]!==!1},set(I){this[Z0]=!!I}}}),Q0._fromList=a7;function a7(I,A){if(A.length===0)return null;let J0;if(A.objectMode)J0=A.buffer.shift();else if(!I||I>=A.length){if(A.decoder)J0=A.buffer.join("");else if(A.buffer.length===1)J0=A.buffer.first();else J0=A.buffer.concat(A.length);A.buffer.clear()}else J0=A.buffer.consume(I,A.decoder);return J0}function v5(I){let A=I._readableState;if(v("endReadable",A.endEmitted),!A.endEmitted)A.ended=!0,Q.nextTick(LJ,A,I)}function LJ(I,A){if(v("endReadableNT",I.endEmitted,I.length),!I.errored&&!I.closeEmitted&&!I.endEmitted&&I.length===0){if(I.endEmitted=!0,A.emit("end"),A.writable&&A.allowHalfOpen===!1)Q.nextTick(HJ,A);else if(I.autoDestroy){let J0=A._writableState;if(!J0||J0.autoDestroy&&(J0.finished||J0.writable===!1))A.destroy()}}}function HJ(I){if(I.writable&&!I.writableEnded&&!I.destroyed)I.end()}Q0.from=function(I,A){return p(Q0,I,A)};var f5;function l7(){if(f5===void 0)f5={};return f5}Q0.fromWeb=function(I,A){return l7().newStreamReadableFromReadableStream(I,A)},Q0.toWeb=function(I,A){return l7().newReadableStreamFromStreamReadable(I,A)},Q0.wrap=function(I,A){var J0,B0;return new Q0({objectMode:(J0=(B0=I.readableObjectMode)!==null&&B0!==void 0?B0:I.objectMode)!==null&&J0!==void 0?J0:!0,...A,destroy(z0,i0){n.destroyer(I,z0),i0(z0)}}).wrap(I)}}),b5=g0(($,q)=>{var Q=D1(),{ArrayPrototypeSlice:K,Error:J,FunctionPrototypeSymbolHasInstance:Z,ObjectDefineProperty:G,ObjectDefineProperties:W,ObjectSetPrototypeOf:B,StringPrototypeToLowerCase:V,Symbol:U,SymbolHasInstance:w}=P0();q.exports=$0,$0.WritableState=x;var{EventEmitter:F}=(i1(),X0(p1)),M=c5().Stream,{Buffer:k}=(t0(),X0(K2)),f=o1(),{addAbortSignal:L}=L8(),{getHighWaterMark:D,getDefaultHighWaterMark:z}=H8(),{ERR_INVALID_ARG_TYPE:N,ERR_METHOD_NOT_IMPLEMENTED:H,ERR_MULTIPLE_CALLBACK:v,ERR_STREAM_CANNOT_PIPE:j,ERR_STREAM_DESTROYED:n,ERR_STREAM_ALREADY_FINISHED:d,ERR_STREAM_NULL_VALUES:_,ERR_STREAM_WRITE_AFTER_END:X,ERR_UNKNOWN_ENCODING:P}=a0().codes,{errorOrDestroy:g}=f;B($0.prototype,M.prototype),B($0,M);function c(){}var h=U("kOnFinished");function x(Y,C,u){if(typeof u!=="boolean")u=C instanceof c2();if(this.objectMode=!!(Y&&Y.objectMode),u)this.objectMode=this.objectMode||!!(Y&&Y.writableObjectMode);this.highWaterMark=Y?D(this,Y,"writableHighWaterMark",u):z(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let e=!!(Y&&Y.decodeStrings===!1);this.decodeStrings=!e,this.defaultEncoding=Y&&Y.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=y.bind(void 0,C),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,l(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!Y||Y.emitClose!==!1,this.autoDestroy=!Y||Y.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[h]=[]}function l(Y){Y.buffered=[],Y.bufferedIndex=0,Y.allBuffers=!0,Y.allNoop=!0}x.prototype.getBuffer=function(){return K(this.buffered,this.bufferedIndex)},G(x.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function $0(Y){let C=this instanceof c2();if(!C&&!Z($0,this))return new $0(Y);if(this._writableState=new x(Y,this,C),Y){if(typeof Y.write==="function")this._write=Y.write;if(typeof Y.writev==="function")this._writev=Y.writev;if(typeof Y.destroy==="function")this._destroy=Y.destroy;if(typeof Y.final==="function")this._final=Y.final;if(typeof Y.construct==="function")this._construct=Y.construct;if(Y.signal)L(Y.signal,this)}M.call(this,Y),f.construct(this,()=>{let u=this._writableState;if(!u.writing)V0(this,u);O(this,u)})}G($0,w,{__proto__:null,value:function(Y){if(Z(this,Y))return!0;if(this!==$0)return!1;return Y&&Y._writableState instanceof x}}),$0.prototype.pipe=function(){g(this,new j)};function Z0(Y,C,u,e){let r=Y._writableState;if(typeof u==="function")e=u,u=r.defaultEncoding;else{if(!u)u=r.defaultEncoding;else if(u!=="buffer"&&!k.isEncoding(u))throw new P(u);if(typeof e!=="function")e=c}if(C===null)throw new _;else if(!r.objectMode)if(typeof C==="string"){if(r.decodeStrings!==!1)C=k.from(C,u),u="buffer"}else if(C instanceof k)u="buffer";else if(M._isUint8Array(C))C=M._uint8ArrayToBuffer(C),u="buffer";else throw new N("chunk",["string","Buffer","Uint8Array"],C);let s;if(r.ending)s=new X;else if(r.destroyed)s=new n("write");if(s)return Q.nextTick(e,s),g(Y,s,!0),s;return r.pendingcb++,F0(Y,r,C,u,e)}$0.prototype.write=function(Y,C,u){return Z0(this,Y,C,u)===!0},$0.prototype.cork=function(){this._writableState.corked++},$0.prototype.uncork=function(){let Y=this._writableState;if(Y.corked){if(Y.corked--,!Y.writing)V0(this,Y)}},$0.prototype.setDefaultEncoding=function(Y){if(typeof Y==="string")Y=V(Y);if(!k.isEncoding(Y))throw new P(Y);return this._writableState.defaultEncoding=Y,this};function F0(Y,C,u,e,r){let s=C.objectMode?1:u.length;C.length+=s;let T=C.lengthu.bufferedIndex)V0(Y,u);if(e)if(u.afterWriteTickInfo!==null&&u.afterWriteTickInfo.cb===r)u.afterWriteTickInfo.count++;else u.afterWriteTickInfo={count:1,cb:r,stream:Y,state:u},Q.nextTick(i,u.afterWriteTickInfo);else U0(Y,u,1,r)}}function i({stream:Y,state:C,count:u,cb:e}){return C.afterWriteTickInfo=null,U0(Y,C,u,e)}function U0(Y,C,u,e){if(!C.ending&&!Y.destroyed&&C.length===0&&C.needDrain)C.needDrain=!1,Y.emit("drain");while(u-- >0)C.pendingcb--,e();if(C.destroyed)m(C);O(Y,C)}function m(Y){if(Y.writing)return;for(let r=Y.bufferedIndex;r1&&Y._writev){C.pendingcb-=s-1;let t=C.allNoop?c:(Q0)=>{for(let M0=T;M0256)u.splice(0,T),C.bufferedIndex=0;else C.bufferedIndex=T}C.bufferProcessing=!1}$0.prototype._write=function(Y,C,u){if(this._writev)this._writev([{chunk:Y,encoding:C}],u);else throw new H("_write()")},$0.prototype._writev=null,$0.prototype.end=function(Y,C,u){let e=this._writableState;if(typeof Y==="function")u=Y,Y=null,C=null;else if(typeof C==="function")u=C,C=null;let r;if(Y!==null&&Y!==void 0){let s=Z0(this,Y,C);if(s instanceof J)r=s}if(e.corked)e.corked=1,this.uncork();if(r);else if(!e.errored&&!e.ending)e.ending=!0,O(this,e,!0),e.ended=!0;else if(e.finished)r=new d("end");else if(e.destroyed)r=new n("end");if(typeof u==="function")if(r||e.finished)Q.nextTick(u,r);else e[h].push(u);return this};function w0(Y){return Y.ending&&!Y.destroyed&&Y.constructed&&Y.length===0&&!Y.errored&&Y.buffered.length===0&&!Y.finished&&!Y.writing&&!Y.errorEmitted&&!Y.closeEmitted}function S(Y,C){let u=!1;function e(r){if(u){g(Y,r!==null&&r!==void 0?r:v());return}if(u=!0,C.pendingcb--,r){let s=C[h].splice(0);for(let T=0;T{if(w0(r))E(e,r);else r.pendingcb--},Y,C);else if(w0(C))C.pendingcb++,E(Y,C)}}}function E(Y,C){C.pendingcb--,C.finished=!0;let u=C[h].splice(0);for(let e=0;e{var Q=D1(),K=(t0(),X0(K2)),{isReadable:J,isWritable:Z,isIterable:G,isNodeStream:W,isReadableNodeStream:B,isWritableNodeStream:V,isDuplexNodeStream:U,isReadableStream:w,isWritableStream:F}=b2(),M=s2(),{AbortError:k,codes:{ERR_INVALID_ARG_TYPE:f,ERR_INVALID_RETURN_VALUE:L}}=a0(),{destroyer:D}=o1(),z=c2(),N=v8(),H=b5(),{createDeferredPromise:v}=e0(),j=a9(),n=globalThis.Blob||K.Blob,d=typeof n<"u"?function(h){return h instanceof n}:function(h){return!1},_=globalThis.AbortController||O6().AbortController,{FunctionPrototypeCall:X}=P0();class P extends z{constructor(h){super(h);if((h===null||h===void 0?void 0:h.readable)===!1)this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0;if((h===null||h===void 0?void 0:h.writable)===!1)this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0}}q.exports=function h(x,l){if(U(x))return x;if(B(x))return c({readable:x});if(V(x))return c({writable:x});if(W(x))return c({writable:!1,readable:!1});if(w(x))return c({readable:N.fromWeb(x)});if(F(x))return c({writable:H.fromWeb(x)});if(typeof x==="function"){let{value:Z0,write:F0,final:p,destroy:W0}=g(x);if(G(Z0))return j(P,Z0,{objectMode:!0,write:F0,final:p,destroy:W0});let y=Z0===null||Z0===void 0?void 0:Z0.then;if(typeof y==="function"){let i,U0=X(y,Z0,(m)=>{if(m!=null)throw new L("nully","body",m)},(m)=>{D(i,m)});return i=new P({objectMode:!0,readable:!1,write:F0,final(m){p(async()=>{try{await U0,Q.nextTick(m,null)}catch(V0){Q.nextTick(m,V0)}})},destroy:W0})}throw new L("Iterable, AsyncIterable or AsyncFunction",l,Z0)}if(d(x))return h(x.arrayBuffer());if(G(x))return j(P,x,{objectMode:!0,writable:!1});if(w(x===null||x===void 0?void 0:x.readable)&&F(x===null||x===void 0?void 0:x.writable))return P.fromWeb(x);if(typeof(x===null||x===void 0?void 0:x.writable)==="object"||typeof(x===null||x===void 0?void 0:x.readable)==="object"){let Z0=x!==null&&x!==void 0&&x.readable?B(x===null||x===void 0?void 0:x.readable)?x===null||x===void 0?void 0:x.readable:h(x.readable):void 0,F0=x!==null&&x!==void 0&&x.writable?V(x===null||x===void 0?void 0:x.writable)?x===null||x===void 0?void 0:x.writable:h(x.writable):void 0;return c({readable:Z0,writable:F0})}let $0=x===null||x===void 0?void 0:x.then;if(typeof $0==="function"){let Z0;return X($0,x,(F0)=>{if(F0!=null)Z0.push(F0);Z0.push(null)},(F0)=>{D(Z0,F0)}),Z0=new P({objectMode:!0,writable:!1,read(){}})}throw new f(l,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],x)};function g(h){let{promise:x,resolve:l}=v(),$0=new _,Z0=$0.signal;return{value:h(async function*(){while(!0){let F0=x;x=null;let{chunk:p,done:W0,cb:y}=await F0;if(Q.nextTick(y),W0)return;if(Z0.aborted)throw new k(void 0,{cause:Z0.reason});({promise:x,resolve:l}=v()),yield p}}(),{signal:Z0}),write(F0,p,W0){let y=l;l=null,y({chunk:F0,done:!1,cb:W0})},final(F0){let p=l;l=null,p({done:!0,cb:F0})},destroy(F0,p){$0.abort(),p(F0)}}}function c(h){let x=h.readable&&typeof h.readable.read!=="function"?N.wrap(h.readable):h.readable,l=h.writable,$0=!!J(x),Z0=!!Z(l),F0,p,W0,y,i;function U0(m){let V0=y;if(y=null,V0)V0(m);else if(m)i.destroy(m)}if(i=new P({readableObjectMode:!!(x!==null&&x!==void 0&&x.readableObjectMode),writableObjectMode:!!(l!==null&&l!==void 0&&l.writableObjectMode),readable:$0,writable:Z0}),Z0)M(l,(m)=>{if(Z0=!1,m)D(x,m);U0(m)}),i._write=function(m,V0,w0){if(l.write(m,V0))w0();else F0=w0},i._final=function(m){l.end(),p=m},l.on("drain",function(){if(F0){let m=F0;F0=null,m()}}),l.on("finish",function(){if(p){let m=p;p=null,m()}});if($0)M(x,(m)=>{if($0=!1,m)D(x,m);U0(m)}),x.on("readable",function(){if(W0){let m=W0;W0=null,m()}}),x.on("end",function(){i.push(null)}),i._read=function(){while(!0){let m=x.read();if(m===null){W0=i._read;return}if(!i.push(m))return}};return i._destroy=function(m,V0){if(!m&&y!==null)m=new k;if(W0=null,F0=null,p=null,y===null)V0(m);else y=V0,D(l,m),D(x,m)},i}}),c2=g0(($,q)=>{var{ObjectDefineProperties:Q,ObjectGetOwnPropertyDescriptor:K,ObjectKeys:J,ObjectSetPrototypeOf:Z}=P0();q.exports=B;var G=v8(),W=b5();Z(B.prototype,G.prototype),Z(B,G);{let F=J(W.prototype);for(let M=0;M{var{ObjectSetPrototypeOf:Q,Symbol:K}=P0();q.exports=B;var{ERR_METHOD_NOT_IMPLEMENTED:J}=a0().codes,Z=c2(),{getHighWaterMark:G}=H8();Q(B.prototype,Z.prototype),Q(B,Z);var W=K("kCallback");function B(w){if(!(this instanceof B))return new B(w);let F=w?G(this,w,"readableHighWaterMark",!0):null;if(F===0)w={...w,highWaterMark:null,readableHighWaterMark:F,writableHighWaterMark:w.writableHighWaterMark||0};if(Z.call(this,w),this._readableState.sync=!1,this[W]=null,w){if(typeof w.transform==="function")this._transform=w.transform;if(typeof w.flush==="function")this._flush=w.flush}this.on("prefinish",U)}function V(w){if(typeof this._flush==="function"&&!this.destroyed)this._flush((F,M)=>{if(F){if(w)w(F);else this.destroy(F);return}if(M!=null)this.push(M);if(this.push(null),w)w()});else if(this.push(null),w)w()}function U(){if(this._final!==V)V.call(this)}B.prototype._final=V,B.prototype._transform=function(w,F,M){throw new J("_transform()")},B.prototype._write=function(w,F,M){let k=this._readableState,f=this._writableState,L=k.length;this._transform(w,F,(D,z)=>{if(D){M(D);return}if(z!=null)this.push(z);if(f.ended||L===k.length||k.length{var{ObjectSetPrototypeOf:Q}=P0();q.exports=J;var K=l9();Q(J.prototype,K.prototype),Q(J,K);function J(Z){if(!(this instanceof J))return new J(Z);K.call(this,Z)}J.prototype._transform=function(Z,G,W){W(null,Z)}}),n5=g0(($,q)=>{var Q=D1(),{ArrayIsArray:K,Promise:J,SymbolAsyncIterator:Z,SymbolDispose:G}=P0(),W=s2(),{once:B}=e0(),V=o1(),U=c2(),{aggregateTwoErrors:w,codes:{ERR_INVALID_ARG_TYPE:F,ERR_INVALID_RETURN_VALUE:M,ERR_MISSING_ARGS:k,ERR_STREAM_DESTROYED:f,ERR_STREAM_PREMATURE_CLOSE:L},AbortError:D}=a0(),{validateFunction:z,validateAbortSignal:N}=P6(),{isIterable:H,isReadable:v,isReadableNodeStream:j,isNodeStream:n,isTransformStream:d,isWebStream:_,isReadableStream:X,isReadableFinished:P}=b2(),g=globalThis.AbortController||O6().AbortController,c,h,x;function l(m,V0,w0){let S=!1;m.on("close",()=>{S=!0});let b=W(m,{readable:V0,writable:w0},(O)=>{S=!O});return{destroy:(O)=>{if(S)return;S=!0,V.destroyer(m,O||new f("pipe"))},cleanup:b}}function $0(m){return z(m[m.length-1],"streams[stream.length - 1]"),m.pop()}function Z0(m){if(H(m))return m;else if(j(m))return F0(m);throw new F("val",["Readable","Iterable","AsyncIterable"],m)}async function*F0(m){if(!h)h=v8();yield*h.prototype[Z].call(m)}async function p(m,V0,w0,{end:S}){let b,O=null,E=(R)=>{if(R)b=R;if(O){let Y=O;O=null,Y()}},a=()=>new J((R,Y)=>{if(b)Y(b);else O=()=>{if(b)Y(b);else R()}});V0.on("drain",E);let K0=W(V0,{readable:!1},E);try{if(V0.writableNeedDrain)await a();for await(let R of m)if(!V0.write(R))await a();if(S)V0.end(),await a();w0()}catch(R){w0(b!==R?w(b,R):R)}finally{K0(),V0.off("drain",E)}}async function W0(m,V0,w0,{end:S}){if(d(V0))V0=V0.writable;let b=V0.getWriter();try{for await(let O of m)await b.ready,b.write(O).catch(()=>{});if(await b.ready,S)await b.close();w0()}catch(O){try{await b.abort(O),w0(O)}catch(E){w0(E)}}}function y(...m){return i(m,B($0(m)))}function i(m,V0,w0){if(m.length===1&&K(m[0]))m=m[0];if(m.length<2)throw new k("streams");let S=new g,b=S.signal,O=w0===null||w0===void 0?void 0:w0.signal,E=[];N(O,"options.signal");function a(){r(new D)}x=x||e0().addAbortListener;let K0;if(O)K0=x(O,a);let R,Y,C=[],u=0;function e(Q0){r(Q0,--u===0)}function r(Q0,M0){var I0;if(Q0&&(!R||R.code==="ERR_STREAM_PREMATURE_CLOSE"))R=Q0;if(!R&&!M0)return;while(C.length)C.shift()(R);if((I0=K0)===null||I0===void 0||I0[G](),S.abort(),M0){if(!R)E.forEach((m0)=>m0());Q.nextTick(V0,R,Y)}}let s;for(let Q0=0;Q00,p0=I0||(w0===null||w0===void 0?void 0:w0.end)!==!1,q2=Q0===m.length-1;if(n(M0)){let O0=function(u0){if(u0&&u0.name!=="AbortError"&&u0.code!=="ERR_STREAM_PREMATURE_CLOSE")e(u0)};var T=O0;if(p0){let{destroy:u0,cleanup:E1}=l(M0,I0,m0);if(C.push(u0),v(M0)&&q2)E.push(E1)}if(M0.on("error",O0),v(M0)&&q2)E.push(()=>{M0.removeListener("error",O0)})}if(Q0===0)if(typeof M0==="function"){if(s=M0({signal:b}),!H(s))throw new M("Iterable, AsyncIterable or Stream","source",s)}else if(H(M0)||j(M0)||d(M0))s=M0;else s=U.from(M0);else if(typeof M0==="function"){if(d(s)){var t;s=Z0((t=s)===null||t===void 0?void 0:t.readable)}else s=Z0(s);if(s=M0(s,{signal:b}),I0){if(!H(s,!0))throw new M("AsyncIterable",`transform[${Q0-1}]`,s)}else{var G0;if(!c)c=r9();let O0=new c({objectMode:!0}),u0=(G0=s)===null||G0===void 0?void 0:G0.then;if(typeof u0==="function")u++,u0.call(s,(R2)=>{if(Y=R2,R2!=null)O0.write(R2);if(p0)O0.end();Q.nextTick(e)},(R2)=>{O0.destroy(R2),Q.nextTick(e,R2)});else if(H(s,!0))u++,p(s,O0,e,{end:p0});else if(X(s)||d(s)){let R2=s.readable||s;u++,p(R2,O0,e,{end:p0})}else throw new M("AsyncIterable or Promise","destination",s);s=O0;let{destroy:E1,cleanup:_1}=l(s,!1,!0);if(C.push(E1),q2)E.push(_1)}}else if(n(M0)){if(j(s)){u+=2;let O0=U0(s,M0,e,{end:p0});if(v(M0)&&q2)E.push(O0)}else if(d(s)||X(s)){let O0=s.readable||s;u++,p(O0,M0,e,{end:p0})}else if(H(s))u++,p(s,M0,e,{end:p0});else throw new F("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],s);s=M0}else if(_(M0)){if(j(s))u++,W0(Z0(s),M0,e,{end:p0});else if(X(s)||H(s))u++,W0(s,M0,e,{end:p0});else if(d(s))u++,W0(s.readable,M0,e,{end:p0});else throw new F("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],s);s=M0}else s=U.from(M0)}if(b!==null&&b!==void 0&&b.aborted||O!==null&&O!==void 0&&O.aborted)Q.nextTick(a);return s}function U0(m,V0,w0,{end:S}){let b=!1;if(V0.on("close",()=>{if(!b)w0(new L)}),m.pipe(V0,{end:!1}),S){let E=function(){b=!0,V0.end()};var O=E;if(P(m))Q.nextTick(E);else m.once("end",E)}else w0();return W(m,{readable:!0,writable:!1},(E)=>{let a=m._readableState;if(E&&E.code==="ERR_STREAM_PREMATURE_CLOSE"&&a&&a.ended&&!a.errored&&!a.errorEmitted)m.once("end",w0).once("error",w0);else w0(E)}),W(V0,{readable:!1,writable:!0},w0)}q.exports={pipelineImpl:i,pipeline:y}}),s9=g0(($,q)=>{var{pipeline:Q}=n5(),K=c2(),{destroyer:J}=o1(),{isNodeStream:Z,isReadable:G,isWritable:W,isWebStream:B,isTransformStream:V,isWritableStream:U,isReadableStream:w}=b2(),{AbortError:F,codes:{ERR_INVALID_ARG_VALUE:M,ERR_MISSING_ARGS:k}}=a0(),f=s2();q.exports=function(...L){if(L.length===0)throw new k("streams");if(L.length===1)return K.from(L[0]);let D=[...L];if(typeof L[0]==="function")L[0]=K.from(L[0]);if(typeof L[L.length-1]==="function"){let g=L.length-1;L[g]=K.from(L[g])}for(let g=0;g0&&!(W(L[g])||U(L[g])||V(L[g])))throw new M(`streams[${g}]`,D[g],"must be writable")}let z,N,H,v,j;function n(g){let c=v;if(v=null,c)c(g);else if(g)j.destroy(g);else if(!P&&!X)j.destroy()}let d=L[0],_=Q(L,n),X=!!(W(d)||U(d)||V(d)),P=!!(G(_)||w(_)||V(_));if(j=new K({writableObjectMode:!!(d!==null&&d!==void 0&&d.writableObjectMode),readableObjectMode:!!(_!==null&&_!==void 0&&_.readableObjectMode),writable:X,readable:P}),X){if(Z(d))j._write=function(c,h,x){if(d.write(c,h))x();else z=x},j._final=function(c){d.end(),N=c},d.on("drain",function(){if(z){let c=z;z=null,c()}});else if(B(d)){let c=(V(d)?d.writable:d).getWriter();j._write=async function(h,x,l){try{await c.ready,c.write(h).catch(()=>{}),l()}catch($0){l($0)}},j._final=async function(h){try{await c.ready,c.close().catch(()=>{}),N=h}catch(x){h(x)}}}let g=V(_)?_.readable:_;f(g,()=>{if(N){let c=N;N=null,c()}})}if(P){if(Z(_))_.on("readable",function(){if(H){let g=H;H=null,g()}}),_.on("end",function(){j.push(null)}),j._read=function(){while(!0){let g=_.read();if(g===null){H=j._read;return}if(!j.push(g))return}};else if(B(_)){let g=(V(_)?_.readable:_).getReader();j._read=async function(){while(!0)try{let{value:c,done:h}=await g.read();if(!j.push(c))return;if(h){j.push(null);return}}catch{return}}}}return j._destroy=function(g,c){if(!g&&v!==null)g=new F;if(H=null,z=null,N=null,v===null)c(g);else if(v=c,Z(_))J(_,g)},j}}),hV=g0(($,q)=>{var Q=globalThis.AbortController||O6().AbortController,{codes:{ERR_INVALID_ARG_VALUE:K,ERR_INVALID_ARG_TYPE:J,ERR_MISSING_ARGS:Z,ERR_OUT_OF_RANGE:G},AbortError:W}=a0(),{validateAbortSignal:B,validateInteger:V,validateObject:U}=P6(),w=P0().Symbol("kWeak"),F=P0().Symbol("kResistStopPropagation"),{finished:M}=s2(),k=s9(),{addAbortSignalNoValidate:f}=L8(),{isWritable:L,isNodeStream:D}=b2(),{deprecate:z}=e0(),{ArrayPrototypePush:N,Boolean:H,MathFloor:v,Number:j,NumberIsNaN:n,Promise:d,PromiseReject:_,PromiseResolve:X,PromisePrototypeThen:P,Symbol:g}=P0(),c=g("kEmpty"),h=g("kEof");function x(O,E){if(E!=null)U(E,"options");if((E===null||E===void 0?void 0:E.signal)!=null)B(E.signal,"options.signal");if(D(O)&&!L(O))throw new K("stream",O,"must be writable");let a=k(this,O);if(E!==null&&E!==void 0&&E.signal)f(E.signal,a);return a}function l(O,E){if(typeof O!=="function")throw new J("fn",["Function","AsyncFunction"],O);if(E!=null)U(E,"options");if((E===null||E===void 0?void 0:E.signal)!=null)B(E.signal,"options.signal");let a=1;if((E===null||E===void 0?void 0:E.concurrency)!=null)a=v(E.concurrency);let K0=a-1;if((E===null||E===void 0?void 0:E.highWaterMark)!=null)K0=v(E.highWaterMark);return V(a,"options.concurrency",1),V(K0,"options.highWaterMark",0),K0+=a,async function*(){let R=e0().AbortSignalAny([E===null||E===void 0?void 0:E.signal].filter(H)),Y=this,C=[],u={signal:R},e,r,s=!1,T=0;function t(){s=!0,G0()}function G0(){T-=1,Q0()}function Q0(){if(r&&!s&&T=K0||T>=a))await new d((m0)=>{r=m0})}C.push(h)}catch(I0){let m0=_(I0);P(m0,G0,t),C.push(m0)}finally{if(s=!0,e)e(),e=null}}M0();try{while(!0){while(C.length>0){let I0=await C[0];if(I0===h)return;if(R.aborted)throw new W;if(I0!==c)yield I0;C.shift(),Q0()}await new d((I0)=>{e=I0})}}finally{if(s=!0,r)r(),r=null}}.call(this)}function $0(O=void 0){if(O!=null)U(O,"options");if((O===null||O===void 0?void 0:O.signal)!=null)B(O.signal,"options.signal");return async function*(){let E=0;for await(let K0 of this){var a;if(O!==null&&O!==void 0&&(a=O.signal)!==null&&a!==void 0&&a.aborted)throw new W({cause:O.signal.reason});yield[E++,K0]}}.call(this)}async function Z0(O,E=void 0){for await(let a of y.call(this,O,E))return!0;return!1}async function F0(O,E=void 0){if(typeof O!=="function")throw new J("fn",["Function","AsyncFunction"],O);return!await Z0.call(this,async(...a)=>{return!await O(...a)},E)}async function p(O,E){for await(let a of y.call(this,O,E))return a;return}async function W0(O,E){if(typeof O!=="function")throw new J("fn",["Function","AsyncFunction"],O);async function a(K0,R){return await O(K0,R),c}for await(let K0 of l.call(this,a,E));}function y(O,E){if(typeof O!=="function")throw new J("fn",["Function","AsyncFunction"],O);async function a(K0,R){if(await O(K0,R))return K0;return c}return l.call(this,a,E)}class i extends Z{constructor(){super("reduce");this.message="Reduce of an empty stream requires an initial value"}}async function U0(O,E,a){var K0;if(typeof O!=="function")throw new J("reducer",["Function","AsyncFunction"],O);if(a!=null)U(a,"options");if((a===null||a===void 0?void 0:a.signal)!=null)B(a.signal,"options.signal");let R=arguments.length>1;if(a!==null&&a!==void 0&&(K0=a.signal)!==null&&K0!==void 0&&K0.aborted){let r=new W(void 0,{cause:a.signal.reason});throw this.once("error",()=>{}),await M(this.destroy(r)),r}let Y=new Q,C=Y.signal;if(a!==null&&a!==void 0&&a.signal){let r={once:!0,[w]:this,[F]:!0};a.signal.addEventListener("abort",()=>Y.abort(),r)}let u=!1;try{for await(let r of this){var e;if(u=!0,a!==null&&a!==void 0&&(e=a.signal)!==null&&e!==void 0&&e.aborted)throw new W;if(!R)E=r,R=!0;else E=await O(E,r,{signal:C})}if(!u&&!R)throw new i}finally{Y.abort()}return E}async function m(O){if(O!=null)U(O,"options");if((O===null||O===void 0?void 0:O.signal)!=null)B(O.signal,"options.signal");let E=[];for await(let K0 of this){var a;if(O!==null&&O!==void 0&&(a=O.signal)!==null&&a!==void 0&&a.aborted)throw new W(void 0,{cause:O.signal.reason});N(E,K0)}return E}function V0(O,E){let a=l.call(this,O,E);return async function*(){for await(let K0 of a)yield*K0}.call(this)}function w0(O){if(O=j(O),n(O))return 0;if(O<0)throw new G("number",">= 0",O);return O}function S(O,E=void 0){if(E!=null)U(E,"options");if((E===null||E===void 0?void 0:E.signal)!=null)B(E.signal,"options.signal");return O=w0(O),async function*(){var a;if(E!==null&&E!==void 0&&(a=E.signal)!==null&&a!==void 0&&a.aborted)throw new W;for await(let R of this){var K0;if(E!==null&&E!==void 0&&(K0=E.signal)!==null&&K0!==void 0&&K0.aborted)throw new W;if(O--<=0)yield R}}.call(this)}function b(O,E=void 0){if(E!=null)U(E,"options");if((E===null||E===void 0?void 0:E.signal)!=null)B(E.signal,"options.signal");return O=w0(O),async function*(){var a;if(E!==null&&E!==void 0&&(a=E.signal)!==null&&a!==void 0&&a.aborted)throw new W;for await(let R of this){var K0;if(E!==null&&E!==void 0&&(K0=E.signal)!==null&&K0!==void 0&&K0.aborted)throw new W;if(O-- >0)yield R;if(O<=0)return}}.call(this)}q.exports.streamReturningOperators={asIndexedPairs:z($0,"readable.asIndexedPairs will be removed in a future version."),drop:S,filter:y,flatMap:V0,map:l,take:b,compose:x},q.exports.promiseReturningOperators={every:F0,forEach:W0,reduce:U0,toArray:m,some:Z0,find:p}}),t9=g0(($,q)=>{var{ArrayPrototypePop:Q,Promise:K}=P0(),{isIterable:J,isNodeStream:Z,isWebStream:G}=b2(),{pipelineImpl:W}=n5(),{finished:B}=s2();e9();function V(...U){return new K((w,F)=>{let M,k,f=U[U.length-1];if(f&&typeof f==="object"&&!Z(f)&&!J(f)&&!G(f)){let L=Q(U);M=L.signal,k=L.end}W(U,(L,D)=>{if(L)F(L);else w(D)},{signal:M,end:k})})}q.exports={finished:B,pipeline:V}}),e9=g0(($,q)=>{var{Buffer:Q}=(t0(),X0(K2)),{ObjectDefineProperty:K,ObjectKeys:J,ReflectApply:Z}=P0(),{promisify:{custom:G}}=e0(),{streamReturningOperators:W,promiseReturningOperators:B}=hV(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:V}}=a0(),U=s9(),{setDefaultHighWaterMark:w,getDefaultHighWaterMark:F}=H8(),{pipeline:M}=n5(),{destroyer:k}=o1(),f=s2(),L=t9(),D=b2(),z=q.exports=c5().Stream;z.isDestroyed=D.isDestroyed,z.isDisturbed=D.isDisturbed,z.isErrored=D.isErrored,z.isReadable=D.isReadable,z.isWritable=D.isWritable,z.Readable=v8();for(let H of J(W)){let v=function(...n){if(new.target)throw V();return z.Readable.from(Z(j,this,n))},j=W[H];K(v,"name",{__proto__:null,value:j.name}),K(v,"length",{__proto__:null,value:j.length}),K(z.Readable.prototype,H,{__proto__:null,value:v,enumerable:!1,configurable:!0,writable:!0})}for(let H of J(B)){let v=function(...n){if(new.target)throw V();return Z(j,this,n)},j=B[H];K(v,"name",{__proto__:null,value:j.name}),K(v,"length",{__proto__:null,value:j.length}),K(z.Readable.prototype,H,{__proto__:null,value:v,enumerable:!1,configurable:!0,writable:!0})}z.Writable=b5(),z.Duplex=c2(),z.Transform=l9(),z.PassThrough=r9(),z.pipeline=M;var{addAbortSignal:N}=L8();z.addAbortSignal=N,z.finished=f,z.destroy=k,z.compose=U,z.setDefaultHighWaterMark=w,z.getDefaultHighWaterMark=F,K(z,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return L}}),K(M,G,{__proto__:null,enumerable:!0,get(){return L.pipeline}}),K(f,G,{__proto__:null,enumerable:!0,get(){return L.finished}}),z.Stream=z,z._isUint8Array=function(H){return H instanceof Uint8Array},z._uint8ArrayToBuffer=function(H){return Q.from(H.buffer,H.byteOffset,H.byteLength)}}),xV=g0(($,q)=>{var Q=a1();{let K=e9(),J=t9(),Z=K.Readable.destroy;q.exports=K.Readable,q.exports._uint8ArrayToBuffer=K._uint8ArrayToBuffer,q.exports._isUint8Array=K._isUint8Array,q.exports.isDisturbed=K.isDisturbed,q.exports.isErrored=K.isErrored,q.exports.isReadable=K.isReadable,q.exports.Readable=K.Readable,q.exports.Writable=K.Writable,q.exports.Duplex=K.Duplex,q.exports.Transform=K.Transform,q.exports.PassThrough=K.PassThrough,q.exports.addAbortSignal=K.addAbortSignal,q.exports.finished=K.finished,q.exports.destroy=K.destroy,q.exports.destroy=Z,q.exports.pipeline=K.pipeline,q.exports.compose=K.compose,Object.defineProperty(K,"promises",{configurable:!0,enumerable:!0,get(){return J}}),q.exports.Stream=K.Stream}q.exports.default=q.exports});$$.exports=xV()});var d5=N0((Dz,Q$)=>{Q$.exports=a1()});var n2=N0((J2)=>{J2.base64=!0;J2.array=!0;J2.string=!0;J2.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u";J2.nodebuffer=typeof Buffer<"u";J2.uint8array=typeof Uint8Array<"u";if(typeof ArrayBuffer>"u")J2.blob=!1;else{f8=new ArrayBuffer(0);try{J2.blob=new Blob([f8],{type:"application/zip"}).size===0}catch($){try{m5=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder,R8=new m5,R8.append(f8),J2.blob=R8.getBlob("application/zip").size===0}catch(q){J2.blob=!1}}}var f8,m5,R8;try{J2.nodestream=!!d5().Readable}catch($){J2.nodestream=!1}});var i5=N0((p5)=>{var OV=T0(),PV=n2(),A2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";p5.encode=function($){var q=[],Q,K,J,Z,G,W,B,V=0,U=$.length,w=U,F=OV.getTypeOf($)!=="string";while(V<$.length){if(w=U-V,!F)Q=$.charCodeAt(V++),K=V>2,G=(Q&3)<<4|K>>4,W=w>1?(K&15)<<2|J>>6:64,B=w>2?J&63:64,q.push(A2.charAt(Z)+A2.charAt(G)+A2.charAt(W)+A2.charAt(B))}return q.join("")};p5.decode=function($){var q,Q,K,J,Z,G,W,B=0,V=0,U="data:";if($.substr(0,U.length)===U)throw Error("Invalid base64 input, it looks like a data url.");$=$.replace(/[^A-Za-z0-9+/=]/g,"");var w=$.length*3/4;if($.charAt($.length-1)===A2.charAt(64))w--;if($.charAt($.length-2)===A2.charAt(64))w--;if(w%1!==0)throw Error("Invalid base64 input, bad content length.");var F;if(PV.uint8array)F=new Uint8Array(w|0);else F=Array(w|0);while(B<$.length){if(J=A2.indexOf($.charAt(B++)),Z=A2.indexOf($.charAt(B++)),G=A2.indexOf($.charAt(B++)),W=A2.indexOf($.charAt(B++)),q=J<<2|Z>>4,Q=(Z&15)<<4|G>>2,K=(G&3)<<6|W,F[V++]=q,G!==64)F[V++]=Q;if(W!==64)F[V++]=K}return F}});var T6=N0((vz,q$)=>{q$.exports={isNode:typeof Buffer<"u",newBufferFrom:function($,q){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from($,q);else{if(typeof $==="number")throw Error('The "data" argument must not be a number');return new Buffer($,q)}},allocBuffer:function($){if(Buffer.alloc)return Buffer.alloc($);else{var q=new Buffer($);return q.fill(0),q}},isBuffer:function($){return Buffer.isBuffer($)},isStream:function($){return $&&typeof $.on==="function"&&typeof $.pause==="function"&&typeof $.resume==="function"}}});var V$=N0((fz,J$)=>{var K$=global.MutationObserver||global.WebKitMutationObserver,u6;if(K$)C8=0,o5=new K$(I8),j8=global.document.createTextNode(""),o5.observe(j8,{characterData:!0}),u6=function(){j8.data=C8=++C8%2};else if(!global.setImmediate&&typeof global.MessageChannel<"u")g8=new global.MessageChannel,g8.port1.onmessage=I8,u6=function(){g8.port2.postMessage(0)};else if("document"in global&&"onreadystatechange"in global.document.createElement("script"))u6=function(){var $=global.document.createElement("script");$.onreadystatechange=function(){I8(),$.onreadystatechange=null,$.parentNode.removeChild($),$=null},global.document.documentElement.appendChild($)};else u6=function(){setTimeout(I8,0)};var C8,o5,j8,g8,a5,S6=[];function I8(){a5=!0;var $,q,Q=S6.length;while(Q){q=S6,S6=[],$=-1;while(++${var uV=V$();function l1(){}var o0={},U$=["REJECTED"],l5=["FULFILLED"],Z$=["PENDING"];B$.exports=t2;function t2($){if(typeof $!=="function")throw TypeError("resolver must be a function");if(this.state=Z$,this.queue=[],this.outcome=void 0,$!==l1)G$(this,$)}t2.prototype.finally=function($){if(typeof $!=="function")return this;var q=this.constructor;return this.then(Q,K);function Q(J){function Z(){return J}return q.resolve($()).then(Z)}function K(J){function Z(){throw J}return q.resolve($()).then(Z)}};t2.prototype.catch=function($){return this.then(null,$)};t2.prototype.then=function($,q){if(typeof $!=="function"&&this.state===l5||typeof q!=="function"&&this.state===U$)return this;var Q=new this.constructor(l1);if(this.state!==Z$){var K=this.state===l5?$:q;r5(Q,K,this.outcome)}else this.queue.push(new E6(Q,$,q));return Q};function E6($,q,Q){if(this.promise=$,typeof q==="function")this.onFulfilled=q,this.callFulfilled=this.otherCallFulfilled;if(typeof Q==="function")this.onRejected=Q,this.callRejected=this.otherCallRejected}E6.prototype.callFulfilled=function($){o0.resolve(this.promise,$)};E6.prototype.otherCallFulfilled=function($){r5(this.promise,this.onFulfilled,$)};E6.prototype.callRejected=function($){o0.reject(this.promise,$)};E6.prototype.otherCallRejected=function($){r5(this.promise,this.onRejected,$)};function r5($,q,Q){uV(function(){var K;try{K=q(Q)}catch(J){return o0.reject($,J)}if(K===$)o0.reject($,TypeError("Cannot resolve promise with itself"));else o0.resolve($,K)})}o0.resolve=function($,q){var Q=W$(SV,q);if(Q.status==="error")return o0.reject($,Q.value);var K=Q.value;if(K)G$($,K);else{$.state=l5,$.outcome=q;var J=-1,Z=$.queue.length;while(++J{var s5=null;if(typeof Promise<"u")s5=Promise;else s5=z$();F$.exports={Promise:s5}});var w$=N0((M$)=>{(function($,q){if($.setImmediate)return;var Q=1,K={},J=!1,Z=$.document,G;function W(z){if(typeof z!=="function")z=Function(""+z);var N=Array(arguments.length-1);for(var H=0;H"u"?typeof global>"u"?M$:global:self)});var T0=N0((_0)=>{var e2=n2(),nV=i5(),s1=T6(),t5=r1();w$();function dV($){var q=null;if(e2.uint8array)q=new Uint8Array($.length);else q=Array($.length);return X8($,q)}_0.newBlob=function($,q){_0.checkSupport("blob");try{return new Blob([$],{type:q})}catch(J){try{var Q=self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder,K=new Q;return K.append($),K.getBlob(q)}catch(Z){throw Error("Bug : can't construct the Blob.")}}};function _6($){return $}function X8($,q){for(var Q=0;Q<$.length;++Q)q[Q]=$.charCodeAt(Q)&255;return q}var A8={stringifyByChunk:function($,q,Q){var K=[],J=0,Z=$.length;if(Z<=Q)return String.fromCharCode.apply(null,$);while(J1)try{return A8.stringifyByChunk($,Q,q)}catch(J){q=Math.floor(q/2)}return A8.stringifyByChar($)}_0.applyFromCharCode=c6;function y8($,q){for(var Q=0;Q<$.length;Q++)q[Q]=$[Q];return q}var $1={};$1.string={string:_6,array:function($){return X8($,Array($.length))},arraybuffer:function($){return $1.string.uint8array($).buffer},uint8array:function($){return X8($,new Uint8Array($.length))},nodebuffer:function($){return X8($,s1.allocBuffer($.length))}};$1.array={string:c6,array:_6,arraybuffer:function($){return new Uint8Array($).buffer},uint8array:function($){return new Uint8Array($)},nodebuffer:function($){return s1.newBufferFrom($)}};$1.arraybuffer={string:function($){return c6(new Uint8Array($))},array:function($){return y8(new Uint8Array($),Array($.byteLength))},arraybuffer:_6,uint8array:function($){return new Uint8Array($)},nodebuffer:function($){return s1.newBufferFrom(new Uint8Array($))}};$1.uint8array={string:c6,array:function($){return y8($,Array($.length))},arraybuffer:function($){return $.buffer},uint8array:_6,nodebuffer:function($){return s1.newBufferFrom($)}};$1.nodebuffer={string:c6,array:function($){return y8($,Array($.length))},arraybuffer:function($){return $1.nodebuffer.uint8array($).buffer},uint8array:function($){return y8($,new Uint8Array($.length))},nodebuffer:_6};_0.transformTo=function($,q){if(!q)q="";if(!$)return q;_0.checkSupport($);var Q=_0.getTypeOf(q),K=$1[Q][$](q);return K};_0.resolve=function($){var q=$.split("/"),Q=[];for(var K=0;K"u")$[Q]=arguments[q][Q];return $};_0.prepareContent=function($,q,Q,K,J){var Z=t5.Promise.resolve(q).then(function(G){var W=e2.blob&&(G instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(G))!==-1);if(W&&typeof FileReader<"u")return new t5.Promise(function(B,V){var U=new FileReader;U.onload=function(w){B(w.target.result)},U.onerror=function(w){V(w.target.error)},U.readAsArrayBuffer(G)});else return G});return Z.then(function(G){var W=_0.getTypeOf(G);if(!W)return t5.Promise.reject(Error("Can't read the data of '"+$+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"));if(W==="arraybuffer")G=_0.transformTo("uint8array",G);else if(W==="string"){if(J)G=nV.decode(G);else if(Q){if(K!==!0)G=dV(G)}}return G})}});var V2=N0((gz,Y$)=>{function N$($){this.name=$||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}N$.prototype={push:function($){this.emit("data",$)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch($){this.emit("error",$)}return!0},error:function($){if(this.isFinished)return!1;if(this.isPaused)this.generatedError=$;else{if(this.isFinished=!0,this.emit("error",$),this.previous)this.previous.error($);this.cleanUp()}return!0},on:function($,q){return this._listeners[$].push(q),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function($,q){if(this._listeners[$])for(var Q=0;Q "+$;else return $}};Y$.exports=N$});var e1=N0((Q1)=>{var t1=T0(),L1=n2(),mV=T6(),h8=V2(),b6=Array(256);for(X2=0;X2<256;X2++)b6[X2]=X2>=252?6:X2>=248?5:X2>=240?4:X2>=224?3:X2>=192?2:1;var X2;b6[254]=b6[254]=1;var pV=function($){var q,Q,K,J,Z,G=$.length,W=0;for(J=0;J>>6,q[Z++]=128|Q&63;else if(Q<65536)q[Z++]=224|Q>>>12,q[Z++]=128|Q>>>6&63,q[Z++]=128|Q&63;else q[Z++]=240|Q>>>18,q[Z++]=128|Q>>>12&63,q[Z++]=128|Q>>>6&63,q[Z++]=128|Q&63}return q},iV=function($,q){var Q;if(q=q||$.length,q>$.length)q=$.length;Q=q-1;while(Q>=0&&($[Q]&192)===128)Q--;if(Q<0)return q;if(Q===0)return q;return Q+b6[$[Q]]>q?Q:q},oV=function($){var q,Q,K,J,Z=$.length,G=Array(Z*2);for(Q=0,q=0;q4){G[Q++]=65533,q+=J-1;continue}K&=J===2?31:J===3?15:7;while(J>1&&q1){G[Q++]=65533;continue}if(K<65536)G[Q++]=K;else K-=65536,G[Q++]=55296|K>>10&1023,G[Q++]=56320|K&1023}if(G.length!==Q)if(G.subarray)G=G.subarray(0,Q);else G.length=Q;return t1.applyFromCharCode(G)};Q1.utf8encode=function(q){if(L1.nodebuffer)return mV.newBufferFrom(q,"utf-8");return pV(q)};Q1.utf8decode=function(q){if(L1.nodebuffer)return t1.transformTo("nodebuffer",q).toString("utf-8");return q=t1.transformTo(L1.uint8array?"uint8array":"array",q),oV(q)};function x8(){h8.call(this,"utf-8 decode"),this.leftOver=null}t1.inherits(x8,h8);x8.prototype.processChunk=function($){var q=t1.transformTo(L1.uint8array?"uint8array":"array",$.data);if(this.leftOver&&this.leftOver.length){if(L1.uint8array){var Q=q;q=new Uint8Array(Q.length+this.leftOver.length),q.set(this.leftOver,0),q.set(Q,this.leftOver.length)}else q=this.leftOver.concat(q);this.leftOver=null}var K=iV(q),J=q;if(K!==q.length)if(L1.uint8array)J=q.subarray(0,K),this.leftOver=q.subarray(K,q.length);else J=q.slice(0,K),this.leftOver=q.slice(K,q.length);this.push({data:Q1.utf8decode(J),meta:$.meta})};x8.prototype.flush=function(){if(this.leftOver&&this.leftOver.length)this.push({data:Q1.utf8decode(this.leftOver),meta:{}}),this.leftOver=null};Q1.Utf8DecodeWorker=x8;function e5(){h8.call(this,"utf-8 encode")}t1.inherits(e5,h8);e5.prototype.processChunk=function($){this.push({data:Q1.utf8encode($.data),meta:$.meta})};Q1.Utf8EncodeWorker=e5});var H$=N0((Xz,L$)=>{var k$=V2(),D$=T0();function $4($){k$.call(this,"ConvertWorker to "+$),this.destType=$}D$.inherits($4,k$);$4.prototype.processChunk=function($){this.push({data:D$.transformTo(this.destType,$.data),meta:$.meta})};L$.exports=$4});var R$=N0((yz,f$)=>{var v$=d5().Readable,aV=T0();aV.inherits(Q4,v$);function Q4($,q,Q){v$.call(this,q),this._helper=$;var K=this;$.on("data",function(J,Z){if(!K.push(J))K._helper.pause();if(Q)Q(Z)}).on("error",function(J){K.emit("error",J)}).on("end",function(){K.push(null)})}Q4.prototype._read=function(){this._helper.resume()};f$.exports=Q4});var q4=N0((hz,j$)=>{var H1=T0(),lV=H$(),rV=V2(),sV=i5(),tV=n2(),eV=r1(),I$=null;if(tV.nodestream)try{I$=R$()}catch($){}function $U($,q,Q){switch($){case"blob":return H1.newBlob(H1.transformTo("arraybuffer",q),Q);case"base64":return sV.encode(q);default:return H1.transformTo($,q)}}function QU($,q){var Q,K=0,J=null,Z=0;for(Q=0;Q{D2.base64=!1;D2.binary=!1;D2.dir=!1;D2.createFolders=!0;D2.date=null;D2.compression=null;D2.compressionOptions=null;D2.comment=null;D2.unixPermissions=null;D2.dosPermissions=null});var J4=N0((Oz,g$)=>{var O8=T0(),P8=V2(),KU=16384;function $6($){P8.call(this,"DataWorker");var q=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,$.then(function(Q){if(q.dataIsReady=!0,q.data=Q,q.max=Q&&Q.length||0,q.type=O8.getTypeOf(Q),!q.isPaused)q._tickAndRepeat()},function(Q){q.error(Q)})}O8.inherits($6,P8);$6.prototype.cleanUp=function(){P8.prototype.cleanUp.call(this),this.data=null};$6.prototype.resume=function(){if(!P8.prototype.resume.call(this))return!1;if(!this._tickScheduled&&this.dataIsReady)this._tickScheduled=!0,O8.delay(this._tickAndRepeat,[],this);return!0};$6.prototype._tickAndRepeat=function(){if(this._tickScheduled=!1,this.isPaused||this.isFinished)return;if(this._tick(),!this.isFinished)O8.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0};$6.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var $=KU,q=null,Q=Math.min(this.max,this.index+$);if(this.index>=this.max)return this.end();else{switch(this.type){case"string":q=this.data.substring(this.index,Q);break;case"uint8array":q=this.data.subarray(this.index,Q);break;case"array":case"nodebuffer":q=this.data.slice(this.index,Q);break}return this.index=Q,this.push({data:q,meta:{percent:this.max?this.index/this.max*100:0}})}};g$.exports=$6});var T8=N0((Pz,X$)=>{var JU=T0();function VU(){var $,q=[];for(var Q=0;Q<256;Q++){$=Q;for(var K=0;K<8;K++)$=$&1?3988292384^$>>>1:$>>>1;q[Q]=$}return q}var A$=VU();function UU($,q,Q,K){var J=A$,Z=K+Q;$=$^-1;for(var G=K;G>>8^J[($^q[G])&255];return $^-1}function ZU($,q,Q,K){var J=A$,Z=K+Q;$=$^-1;for(var G=K;G>>8^J[($^q.charCodeAt(G))&255];return $^-1}X$.exports=function(q,Q){if(typeof q>"u"||!q.length)return 0;var K=JU.getTypeOf(q)!=="string";if(K)return UU(Q|0,q,q.length,0);else return ZU(Q|0,q,q.length,0)}});var U4=N0((Tz,h$)=>{var y$=V2(),GU=T8(),WU=T0();function V4(){y$.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}WU.inherits(V4,y$);V4.prototype.processChunk=function($){this.streamInfo.crc32=GU($.data,this.streamInfo.crc32||0),this.push($)};h$.exports=V4});var O$=N0((uz,x$)=>{var BU=T0(),Z4=V2();function G4($){Z4.call(this,"DataLengthProbe for "+$),this.propName=$,this.withStreamInfo($,0)}BU.inherits(G4,Z4);G4.prototype.processChunk=function($){if($){var q=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=q+$.data.length}Z4.prototype.processChunk.call(this,$)};x$.exports=G4});var u8=N0((Sz,u$)=>{var P$=r1(),T$=J4(),zU=U4(),W4=O$();function B4($,q,Q,K,J){this.compressedSize=$,this.uncompressedSize=q,this.crc32=Q,this.compression=K,this.compressedContent=J}B4.prototype={getContentWorker:function(){var $=new T$(P$.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new W4("data_length")),q=this;return $.on("end",function(){if(this.streamInfo.data_length!==q.uncompressedSize)throw Error("Bug : uncompressed data size mismatch")}),$},getCompressedWorker:function(){return new T$(P$.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}};B4.createWorkerFrom=function($,q,Q){return $.pipe(new zU).pipe(new W4("uncompressedSize")).pipe(q.compressWorker(Q)).pipe(new W4("compressedSize")).withStreamInfo("compression",q)};u$.exports=B4});var c$=N0((Ez,_$)=>{var FU=q4(),MU=J4(),z4=e1(),F4=u8(),S$=V2(),M4=function($,q,Q){this.name=$,this.dir=Q.dir,this.date=Q.date,this.comment=Q.comment,this.unixPermissions=Q.unixPermissions,this.dosPermissions=Q.dosPermissions,this._data=q,this._dataBinary=Q.binary,this.options={compression:Q.compression,compressionOptions:Q.compressionOptions}};M4.prototype={internalStream:function($){var q=null,Q="string";try{if(!$)throw Error("No output type specified.");Q=$.toLowerCase();var K=Q==="string"||Q==="text";if(Q==="binarystring"||Q==="text")Q="string";q=this._decompressWorker();var J=!this._dataBinary;if(J&&!K)q=q.pipe(new z4.Utf8EncodeWorker);if(!J&&K)q=q.pipe(new z4.Utf8DecodeWorker)}catch(Z){q=new S$("error"),q.error(Z)}return new FU(q,Q,"")},async:function($,q){return this.internalStream($).accumulate(q)},nodeStream:function($,q){return this.internalStream($||"nodebuffer").toNodejsStream(q)},_compressWorker:function($,q){if(this._data instanceof F4&&this._data.compression.magic===$.magic)return this._data.getCompressedWorker();else{var Q=this._decompressWorker();if(!this._dataBinary)Q=Q.pipe(new z4.Utf8EncodeWorker);return F4.createWorkerFrom(Q,$,q)}},_decompressWorker:function(){if(this._data instanceof F4)return this._data.getContentWorker();else if(this._data instanceof S$)return this._data;else return new MU(this._data)}};var E$=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],wU=function(){throw Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")};for(n6=0;n6{var NU=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function YU($,q){return Object.prototype.hasOwnProperty.call($,q)}l0.assign=function($){var q=Array.prototype.slice.call(arguments,1);while(q.length){var Q=q.shift();if(!Q)continue;if(typeof Q!=="object")throw TypeError(Q+"must be non-object");for(var K in Q)if(YU(Q,K))$[K]=Q[K]}return $};l0.shrinkBuf=function($,q){if($.length===q)return $;if($.subarray)return $.subarray(0,q);return $.length=q,$};var kU={arraySet:function($,q,Q,K,J){if(q.subarray&&$.subarray){$.set(q.subarray(Q,Q+K),J);return}for(var Z=0;Z{var LU=d2(),HU=4,b$=0,n$=1,vU=2;function q6($){var q=$.length;while(--q>=0)$[q]=0}var fU=0,a$=1,RU=2,IU=3,CU=258,H4=29,a6=256,m6=a6+1+H4,Q6=30,v4=19,l$=2*m6+1,v1=15,w4=16,jU=7,f4=256,r$=16,s$=17,t$=18,D4=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],S8=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],gU=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],e$=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],AU=512,m2=Array((m6+2)*2);q6(m2);var d6=Array(Q6*2);q6(d6);var p6=Array(AU);q6(p6);var i6=Array(CU-IU+1);q6(i6);var R4=Array(H4);q6(R4);var E8=Array(Q6);q6(E8);function N4($,q,Q,K,J){this.static_tree=$,this.extra_bits=q,this.extra_base=Q,this.elems=K,this.max_length=J,this.has_stree=$&&$.length}var $Q,QQ,qQ;function Y4($,q){this.dyn_tree=$,this.max_code=0,this.stat_desc=q}function KQ($){return $<256?p6[$]:p6[256+($>>>7)]}function o6($,q){$.pending_buf[$.pending++]=q&255,$.pending_buf[$.pending++]=q>>>8&255}function $2($,q,Q){if($.bi_valid>w4-Q)$.bi_buf|=q<<$.bi_valid&65535,o6($,$.bi_buf),$.bi_buf=q>>w4-$.bi_valid,$.bi_valid+=Q-w4;else $.bi_buf|=q<<$.bi_valid&65535,$.bi_valid+=Q}function y2($,q,Q){$2($,Q[q*2],Q[q*2+1])}function JQ($,q){var Q=0;do Q|=$&1,$>>>=1,Q<<=1;while(--q>0);return Q>>>1}function XU($){if($.bi_valid===16)o6($,$.bi_buf),$.bi_buf=0,$.bi_valid=0;else if($.bi_valid>=8)$.pending_buf[$.pending++]=$.bi_buf&255,$.bi_buf>>=8,$.bi_valid-=8}function yU($,q){var{dyn_tree:Q,max_code:K}=q,J=q.stat_desc.static_tree,Z=q.stat_desc.has_stree,G=q.stat_desc.extra_bits,W=q.stat_desc.extra_base,B=q.stat_desc.max_length,V,U,w,F,M,k,f=0;for(F=0;F<=v1;F++)$.bl_count[F]=0;Q[$.heap[$.heap_max]*2+1]=0;for(V=$.heap_max+1;VB)F=B,f++;if(Q[U*2+1]=F,U>K)continue;if($.bl_count[F]++,M=0,U>=W)M=G[U-W];if(k=Q[U*2],$.opt_len+=k*(F+M),Z)$.static_len+=k*(J[U*2+1]+M)}if(f===0)return;do{F=B-1;while($.bl_count[F]===0)F--;$.bl_count[F]--,$.bl_count[F+1]+=2,$.bl_count[B]--,f-=2}while(f>0);for(F=B;F!==0;F--){U=$.bl_count[F];while(U!==0){if(w=$.heap[--V],w>K)continue;if(Q[w*2+1]!==F)$.opt_len+=(F-Q[w*2+1])*Q[w*2],Q[w*2+1]=F;U--}}}function VQ($,q,Q){var K=Array(v1+1),J=0,Z,G;for(Z=1;Z<=v1;Z++)K[Z]=J=J+Q[Z-1]<<1;for(G=0;G<=q;G++){var W=$[G*2+1];if(W===0)continue;$[G*2]=JQ(K[W]++,W)}}function hU(){var $,q,Q,K,J,Z=Array(v1+1);Q=0;for(K=0;K>=7;for(;K8)o6($,$.bi_buf);else if($.bi_valid>0)$.pending_buf[$.pending++]=$.bi_buf;$.bi_buf=0,$.bi_valid=0}function xU($,q,Q,K){if(ZQ($),K)o6($,Q),o6($,~Q);LU.arraySet($.pending_buf,$.window,q,Q,$.pending),$.pending+=Q}function d$($,q,Q,K){var J=q*2,Z=Q*2;return $[J]<$[Z]||$[J]===$[Z]&&K[q]<=K[Q]}function k4($,q,Q){var K=$.heap[Q],J=Q<<1;while(J<=$.heap_len){if(J<$.heap_len&&d$(q,$.heap[J+1],$.heap[J],$.depth))J++;if(d$(q,K,$.heap[J],$.depth))break;$.heap[Q]=$.heap[J],Q=J,J<<=1}$.heap[Q]=K}function m$($,q,Q){var K,J,Z=0,G,W;if($.last_lit!==0)do if(K=$.pending_buf[$.d_buf+Z*2]<<8|$.pending_buf[$.d_buf+Z*2+1],J=$.pending_buf[$.l_buf+Z],Z++,K===0)y2($,J,q);else{if(G=i6[J],y2($,G+a6+1,q),W=D4[G],W!==0)J-=R4[G],$2($,J,W);if(K--,G=KQ(K),y2($,G,Q),W=S8[G],W!==0)K-=E8[G],$2($,K,W)}while(Z<$.last_lit);y2($,f4,q)}function L4($,q){var Q=q.dyn_tree,K=q.stat_desc.static_tree,J=q.stat_desc.has_stree,Z=q.stat_desc.elems,G,W,B=-1,V;$.heap_len=0,$.heap_max=l$;for(G=0;G>1;G>=1;G--)k4($,Q,G);V=Z;do G=$.heap[1],$.heap[1]=$.heap[$.heap_len--],k4($,Q,1),W=$.heap[1],$.heap[--$.heap_max]=G,$.heap[--$.heap_max]=W,Q[V*2]=Q[G*2]+Q[W*2],$.depth[V]=($.depth[G]>=$.depth[W]?$.depth[G]:$.depth[W])+1,Q[G*2+1]=Q[W*2+1]=V,$.heap[1]=V++,k4($,Q,1);while($.heap_len>=2);$.heap[--$.heap_max]=$.heap[1],yU($,q),VQ(Q,B,$.bl_count)}function p$($,q,Q){var K,J=-1,Z,G=q[1],W=0,B=7,V=4;if(G===0)B=138,V=3;q[(Q+1)*2+1]=65535;for(K=0;K<=Q;K++){if(Z=G,G=q[(K+1)*2+1],++W=3;q--)if($.bl_tree[e$[q]*2+1]!==0)break;return $.opt_len+=3*(q+1)+5+5+4,q}function PU($,q,Q,K){var J;$2($,q-257,5),$2($,Q-1,5),$2($,K-4,4);for(J=0;J>>=1)if(q&1&&$.dyn_ltree[Q*2]!==0)return b$;if($.dyn_ltree[18]!==0||$.dyn_ltree[20]!==0||$.dyn_ltree[26]!==0)return n$;for(Q=32;Q0){if($.strm.data_type===vU)$.strm.data_type=TU($);if(L4($,$.l_desc),L4($,$.d_desc),G=OU($),J=$.opt_len+3+7>>>3,Z=$.static_len+3+7>>>3,Z<=J)J=Z}else J=Z=Q+5;if(Q+4<=J&&q!==-1)GQ($,q,Q,K);else if($.strategy===HU||Z===J)$2($,(a$<<1)+(K?1:0),3),m$($,m2,d6);else $2($,(RU<<1)+(K?1:0),3),PU($,$.l_desc.max_code+1,$.d_desc.max_code+1,G+1),m$($,$.dyn_ltree,$.dyn_dtree);if(UQ($),K)ZQ($)}function _U($,q,Q){if($.pending_buf[$.d_buf+$.last_lit*2]=q>>>8&255,$.pending_buf[$.d_buf+$.last_lit*2+1]=q&255,$.pending_buf[$.l_buf+$.last_lit]=Q&255,$.last_lit++,q===0)$.dyn_ltree[Q*2]++;else $.matches++,q--,$.dyn_ltree[(i6[Q]+a6+1)*2]++,$.dyn_dtree[KQ(q)*2]++;return $.last_lit===$.lit_bufsize-1}K6._tr_init=uU;K6._tr_stored_block=GQ;K6._tr_flush_block=EU;K6._tr_tally=_U;K6._tr_align=SU});var I4=N0((bz,BQ)=>{function cU($,q,Q,K){var J=$&65535|0,Z=$>>>16&65535|0,G=0;while(Q!==0){G=Q>2000?2000:Q,Q-=G;do J=J+q[K++]|0,Z=Z+J|0;while(--G);J%=65521,Z%=65521}return J|Z<<16|0}BQ.exports=cU});var C4=N0((nz,zQ)=>{function bU(){var $,q=[];for(var Q=0;Q<256;Q++){$=Q;for(var K=0;K<8;K++)$=$&1?3988292384^$>>>1:$>>>1;q[Q]=$}return q}var nU=bU();function dU($,q,Q,K){var J=nU,Z=K+Q;$^=-1;for(var G=K;G>>8^J[($^q[G])&255];return $^-1}zQ.exports=dU});var _8=N0((dz,FQ)=>{FQ.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var vQ=N0((O2)=>{var r0=d2(),M2=WQ(),YQ=I4(),q1=C4(),mU=_8(),C1=0,pU=1,iU=3,Z1=4,MQ=5,x2=0,wQ=1,w2=-2,oU=-3,j4=-5,aU=-1,lU=1,c8=2,rU=3,sU=4,tU=0,eU=2,m8=8,$Z=9,QZ=15,qZ=8,KZ=29,JZ=256,A4=JZ+1+KZ,VZ=30,UZ=19,ZZ=2*A4+1,GZ=15,f0=3,V1=258,L2=V1+f0+1,WZ=32,p8=42,X4=69,b8=73,n8=91,d8=103,f1=113,r6=666,c0=1,s6=2,R1=3,U6=4,BZ=3;function U1($,q){return $.msg=mU[q],q}function NQ($){return($<<1)-($>4?9:0)}function J1($){var q=$.length;while(--q>=0)$[q]=0}function K1($){var q=$.state,Q=q.pending;if(Q>$.avail_out)Q=$.avail_out;if(Q===0)return;if(r0.arraySet($.output,q.pending_buf,q.pending_out,Q,$.next_out),$.next_out+=Q,q.pending_out+=Q,$.total_out+=Q,$.avail_out-=Q,q.pending-=Q,q.pending===0)q.pending_out=0}function d0($,q){M2._tr_flush_block($,$.block_start>=0?$.block_start:-1,$.strstart-$.block_start,q),$.block_start=$.strstart,K1($.strm)}function C0($,q){$.pending_buf[$.pending++]=q}function l6($,q){$.pending_buf[$.pending++]=q>>>8&255,$.pending_buf[$.pending++]=q&255}function zZ($,q,Q,K){var J=$.avail_in;if(J>K)J=K;if(J===0)return 0;if($.avail_in-=J,r0.arraySet(q,$.input,$.next_in,J,Q),$.state.wrap===1)$.adler=YQ($.adler,q,J,Q);else if($.state.wrap===2)$.adler=q1($.adler,q,J,Q);return $.next_in+=J,$.total_in+=J,J}function kQ($,q){var{max_chain_length:Q,strstart:K}=$,J,Z,G=$.prev_length,W=$.nice_match,B=$.strstart>$.w_size-L2?$.strstart-($.w_size-L2):0,V=$.window,U=$.w_mask,w=$.prev,F=$.strstart+V1,M=V[K+G-1],k=V[K+G];if($.prev_length>=$.good_match)Q>>=2;if(W>$.lookahead)W=$.lookahead;do{if(J=q,V[J+G]!==k||V[J+G-1]!==M||V[J]!==V[K]||V[++J]!==V[K+1])continue;K+=2,J++;do;while(V[++K]===V[++J]&&V[++K]===V[++J]&&V[++K]===V[++J]&&V[++K]===V[++J]&&V[++K]===V[++J]&&V[++K]===V[++J]&&V[++K]===V[++J]&&V[++K]===V[++J]&&KG){if($.match_start=q,G=Z,Z>=W)break;M=V[K+G-1],k=V[K+G]}}while((q=w[q&U])>B&&--Q!==0);if(G<=$.lookahead)return G;return $.lookahead}function I1($){var q=$.w_size,Q,K,J,Z,G;do{if(Z=$.window_size-$.lookahead-$.strstart,$.strstart>=q+(q-L2)){r0.arraySet($.window,$.window,q,q,0),$.match_start-=q,$.strstart-=q,$.block_start-=q,K=$.hash_size,Q=K;do J=$.head[--Q],$.head[Q]=J>=q?J-q:0;while(--K);K=q,Q=K;do J=$.prev[--Q],$.prev[Q]=J>=q?J-q:0;while(--K);Z+=q}if($.strm.avail_in===0)break;if(K=zZ($.strm,$.window,$.strstart+$.lookahead,Z),$.lookahead+=K,$.lookahead+$.insert>=f0){G=$.strstart-$.insert,$.ins_h=$.window[G],$.ins_h=($.ins_h<<$.hash_shift^$.window[G+1])&$.hash_mask;while($.insert)if($.ins_h=($.ins_h<<$.hash_shift^$.window[G+f0-1])&$.hash_mask,$.prev[G&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=G,G++,$.insert--,$.lookahead+$.insert$.pending_buf_size-5)Q=$.pending_buf_size-5;for(;;){if($.lookahead<=1){if(I1($),$.lookahead===0&&q===C1)return c0;if($.lookahead===0)break}$.strstart+=$.lookahead,$.lookahead=0;var K=$.block_start+Q;if($.strstart===0||$.strstart>=K){if($.lookahead=$.strstart-K,$.strstart=K,d0($,!1),$.strm.avail_out===0)return c0}if($.strstart-$.block_start>=$.w_size-L2){if(d0($,!1),$.strm.avail_out===0)return c0}}if($.insert=0,q===Z1){if(d0($,!0),$.strm.avail_out===0)return R1;return U6}if($.strstart>$.block_start){if(d0($,!1),$.strm.avail_out===0)return c0}return c0}function g4($,q){var Q,K;for(;;){if($.lookahead=f0)$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+f0-1])&$.hash_mask,Q=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;if(Q!==0&&$.strstart-Q<=$.w_size-L2)$.match_length=kQ($,Q);if($.match_length>=f0)if(K=M2._tr_tally($,$.strstart-$.match_start,$.match_length-f0),$.lookahead-=$.match_length,$.match_length<=$.max_lazy_match&&$.lookahead>=f0){$.match_length--;do $.strstart++,$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+f0-1])&$.hash_mask,Q=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;while(--$.match_length!==0);$.strstart++}else $.strstart+=$.match_length,$.match_length=0,$.ins_h=$.window[$.strstart],$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+1])&$.hash_mask;else K=M2._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++;if(K){if(d0($,!1),$.strm.avail_out===0)return c0}}if($.insert=$.strstart=f0)$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+f0-1])&$.hash_mask,Q=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;if($.prev_length=$.match_length,$.prev_match=$.match_start,$.match_length=f0-1,Q!==0&&$.prev_length<$.max_lazy_match&&$.strstart-Q<=$.w_size-L2){if($.match_length=kQ($,Q),$.match_length<=5&&($.strategy===lU||$.match_length===f0&&$.strstart-$.match_start>4096))$.match_length=f0-1}if($.prev_length>=f0&&$.match_length<=$.prev_length){J=$.strstart+$.lookahead-f0,K=M2._tr_tally($,$.strstart-1-$.prev_match,$.prev_length-f0),$.lookahead-=$.prev_length-1,$.prev_length-=2;do if(++$.strstart<=J)$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+f0-1])&$.hash_mask,Q=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;while(--$.prev_length!==0);if($.match_available=0,$.match_length=f0-1,$.strstart++,K){if(d0($,!1),$.strm.avail_out===0)return c0}}else if($.match_available){if(K=M2._tr_tally($,0,$.window[$.strstart-1]),K)d0($,!1);if($.strstart++,$.lookahead--,$.strm.avail_out===0)return c0}else $.match_available=1,$.strstart++,$.lookahead--}if($.match_available)K=M2._tr_tally($,0,$.window[$.strstart-1]),$.match_available=0;if($.insert=$.strstart=f0&&$.strstart>0){if(J=$.strstart-1,K=G[J],K===G[++J]&&K===G[++J]&&K===G[++J]){Z=$.strstart+V1;do;while(K===G[++J]&&K===G[++J]&&K===G[++J]&&K===G[++J]&&K===G[++J]&&K===G[++J]&&K===G[++J]&&K===G[++J]&&J$.lookahead)$.match_length=$.lookahead}}if($.match_length>=f0)Q=M2._tr_tally($,1,$.match_length-f0),$.lookahead-=$.match_length,$.strstart+=$.match_length,$.match_length=0;else Q=M2._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++;if(Q){if(d0($,!1),$.strm.avail_out===0)return c0}}if($.insert=0,q===Z1){if(d0($,!0),$.strm.avail_out===0)return R1;return U6}if($.last_lit){if(d0($,!1),$.strm.avail_out===0)return c0}return s6}function wZ($,q){var Q;for(;;){if($.lookahead===0){if(I1($),$.lookahead===0){if(q===C1)return c0;break}}if($.match_length=0,Q=M2._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++,Q){if(d0($,!1),$.strm.avail_out===0)return c0}}if($.insert=0,q===Z1){if(d0($,!0),$.strm.avail_out===0)return R1;return U6}if($.last_lit){if(d0($,!1),$.strm.avail_out===0)return c0}return s6}function h2($,q,Q,K,J){this.good_length=$,this.max_lazy=q,this.nice_length=Q,this.max_chain=K,this.func=J}var V6;V6=[new h2(0,0,0,0,FZ),new h2(4,4,8,4,g4),new h2(4,5,16,8,g4),new h2(4,6,32,32,g4),new h2(4,4,16,16,J6),new h2(8,16,32,32,J6),new h2(8,16,128,128,J6),new h2(8,32,128,256,J6),new h2(32,128,258,1024,J6),new h2(32,258,258,4096,J6)];function NZ($){$.window_size=2*$.w_size,J1($.head),$.max_lazy_match=V6[$.level].max_lazy,$.good_match=V6[$.level].good_length,$.nice_match=V6[$.level].nice_length,$.max_chain_length=V6[$.level].max_chain,$.strstart=0,$.block_start=0,$.lookahead=0,$.insert=0,$.match_length=$.prev_length=f0-1,$.match_available=0,$.ins_h=0}function YZ(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=m8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new r0.Buf16(ZZ*2),this.dyn_dtree=new r0.Buf16((2*VZ+1)*2),this.bl_tree=new r0.Buf16((2*UZ+1)*2),J1(this.dyn_ltree),J1(this.dyn_dtree),J1(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new r0.Buf16(GZ+1),this.heap=new r0.Buf16(2*A4+1),J1(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new r0.Buf16(2*A4+1),J1(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function DQ($){var q;if(!$||!$.state)return U1($,w2);if($.total_in=$.total_out=0,$.data_type=eU,q=$.state,q.pending=0,q.pending_out=0,q.wrap<0)q.wrap=-q.wrap;return q.status=q.wrap?p8:f1,$.adler=q.wrap===2?0:1,q.last_flush=C1,M2._tr_init(q),x2}function LQ($){var q=DQ($);if(q===x2)NZ($.state);return q}function kZ($,q){if(!$||!$.state)return w2;if($.state.wrap!==2)return w2;return $.state.gzhead=q,x2}function HQ($,q,Q,K,J,Z){if(!$)return w2;var G=1;if(q===aU)q=6;if(K<0)G=0,K=-K;else if(K>15)G=2,K-=16;if(J<1||J>$Z||Q!==m8||K<8||K>15||q<0||q>9||Z<0||Z>sU)return U1($,w2);if(K===8)K=9;var W=new YZ;return $.state=W,W.strm=$,W.wrap=G,W.gzhead=null,W.w_bits=K,W.w_size=1<MQ||q<0)return $?U1($,w2):w2;if(K=$.state,!$.output||!$.input&&$.avail_in!==0||K.status===r6&&q!==Z1)return U1($,$.avail_out===0?j4:w2);if(K.strm=$,Q=K.last_flush,K.last_flush=q,K.status===p8)if(K.wrap===2)if($.adler=0,C0(K,31),C0(K,139),C0(K,8),!K.gzhead)C0(K,0),C0(K,0),C0(K,0),C0(K,0),C0(K,0),C0(K,K.level===9?2:K.strategy>=c8||K.level<2?4:0),C0(K,BZ),K.status=f1;else{if(C0(K,(K.gzhead.text?1:0)+(K.gzhead.hcrc?2:0)+(!K.gzhead.extra?0:4)+(!K.gzhead.name?0:8)+(!K.gzhead.comment?0:16)),C0(K,K.gzhead.time&255),C0(K,K.gzhead.time>>8&255),C0(K,K.gzhead.time>>16&255),C0(K,K.gzhead.time>>24&255),C0(K,K.level===9?2:K.strategy>=c8||K.level<2?4:0),C0(K,K.gzhead.os&255),K.gzhead.extra&&K.gzhead.extra.length)C0(K,K.gzhead.extra.length&255),C0(K,K.gzhead.extra.length>>8&255);if(K.gzhead.hcrc)$.adler=q1($.adler,K.pending_buf,K.pending,0);K.gzindex=0,K.status=X4}else{var G=m8+(K.w_bits-8<<4)<<8,W=-1;if(K.strategy>=c8||K.level<2)W=0;else if(K.level<6)W=1;else if(K.level===6)W=2;else W=3;if(G|=W<<6,K.strstart!==0)G|=WZ;if(G+=31-G%31,K.status=f1,l6(K,G),K.strstart!==0)l6(K,$.adler>>>16),l6(K,$.adler&65535);$.adler=1}if(K.status===X4)if(K.gzhead.extra){J=K.pending;while(K.gzindex<(K.gzhead.extra.length&65535)){if(K.pending===K.pending_buf_size){if(K.gzhead.hcrc&&K.pending>J)$.adler=q1($.adler,K.pending_buf,K.pending-J,J);if(K1($),J=K.pending,K.pending===K.pending_buf_size)break}C0(K,K.gzhead.extra[K.gzindex]&255),K.gzindex++}if(K.gzhead.hcrc&&K.pending>J)$.adler=q1($.adler,K.pending_buf,K.pending-J,J);if(K.gzindex===K.gzhead.extra.length)K.gzindex=0,K.status=b8}else K.status=b8;if(K.status===b8)if(K.gzhead.name){J=K.pending;do{if(K.pending===K.pending_buf_size){if(K.gzhead.hcrc&&K.pending>J)$.adler=q1($.adler,K.pending_buf,K.pending-J,J);if(K1($),J=K.pending,K.pending===K.pending_buf_size){Z=1;break}}if(K.gzindexJ)$.adler=q1($.adler,K.pending_buf,K.pending-J,J);if(Z===0)K.gzindex=0,K.status=n8}else K.status=n8;if(K.status===n8)if(K.gzhead.comment){J=K.pending;do{if(K.pending===K.pending_buf_size){if(K.gzhead.hcrc&&K.pending>J)$.adler=q1($.adler,K.pending_buf,K.pending-J,J);if(K1($),J=K.pending,K.pending===K.pending_buf_size){Z=1;break}}if(K.gzindexJ)$.adler=q1($.adler,K.pending_buf,K.pending-J,J);if(Z===0)K.status=d8}else K.status=d8;if(K.status===d8)if(K.gzhead.hcrc){if(K.pending+2>K.pending_buf_size)K1($);if(K.pending+2<=K.pending_buf_size)C0(K,$.adler&255),C0(K,$.adler>>8&255),$.adler=0,K.status=f1}else K.status=f1;if(K.pending!==0){if(K1($),$.avail_out===0)return K.last_flush=-1,x2}else if($.avail_in===0&&NQ(q)<=NQ(Q)&&q!==Z1)return U1($,j4);if(K.status===r6&&$.avail_in!==0)return U1($,j4);if($.avail_in!==0||K.lookahead!==0||q!==C1&&K.status!==r6){var B=K.strategy===c8?wZ(K,q):K.strategy===rU?MZ(K,q):V6[K.level].func(K,q);if(B===R1||B===U6)K.status=r6;if(B===c0||B===R1){if($.avail_out===0)K.last_flush=-1;return x2}if(B===s6){if(q===pU)M2._tr_align(K);else if(q!==MQ){if(M2._tr_stored_block(K,0,0,!1),q===iU){if(J1(K.head),K.lookahead===0)K.strstart=0,K.block_start=0,K.insert=0}}if(K1($),$.avail_out===0)return K.last_flush=-1,x2}}if(q!==Z1)return x2;if(K.wrap<=0)return wQ;if(K.wrap===2)C0(K,$.adler&255),C0(K,$.adler>>8&255),C0(K,$.adler>>16&255),C0(K,$.adler>>24&255),C0(K,$.total_in&255),C0(K,$.total_in>>8&255),C0(K,$.total_in>>16&255),C0(K,$.total_in>>24&255);else l6(K,$.adler>>>16),l6(K,$.adler&65535);if(K1($),K.wrap>0)K.wrap=-K.wrap;return K.pending!==0?x2:wQ}function HZ($){var q;if(!$||!$.state)return w2;if(q=$.state.status,q!==p8&&q!==X4&&q!==b8&&q!==n8&&q!==d8&&q!==f1&&q!==r6)return U1($,w2);return $.state=null,q===f1?U1($,oU):x2}function vZ($,q){var Q=q.length,K,J,Z,G,W,B,V,U;if(!$||!$.state)return w2;if(K=$.state,G=K.wrap,G===2||G===1&&K.status!==p8||K.lookahead)return w2;if(G===1)$.adler=YQ($.adler,q,Q,0);if(K.wrap=0,Q>=K.w_size){if(G===0)J1(K.head),K.strstart=0,K.block_start=0,K.insert=0;U=new r0.Buf8(K.w_size),r0.arraySet(U,q,Q-K.w_size,K.w_size,0),q=U,Q=K.w_size}W=$.avail_in,B=$.next_in,V=$.input,$.avail_in=Q,$.next_in=0,$.input=q,I1(K);while(K.lookahead>=f0){J=K.strstart,Z=K.lookahead-(f0-1);do K.ins_h=(K.ins_h<{var i8=d2(),fQ=!0,RQ=!0;try{String.fromCharCode.apply(null,[0])}catch($){fQ=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch($){RQ=!1}var t6=new i8.Buf8(256);for(P2=0;P2<256;P2++)t6[P2]=P2>=252?6:P2>=248?5:P2>=240?4:P2>=224?3:P2>=192?2:1;var P2;t6[254]=t6[254]=1;Z6.string2buf=function($){var q,Q,K,J,Z,G=$.length,W=0;for(J=0;J>>6,q[Z++]=128|Q&63;else if(Q<65536)q[Z++]=224|Q>>>12,q[Z++]=128|Q>>>6&63,q[Z++]=128|Q&63;else q[Z++]=240|Q>>>18,q[Z++]=128|Q>>>12&63,q[Z++]=128|Q>>>6&63,q[Z++]=128|Q&63}return q};function IQ($,q){if(q<65534){if($.subarray&&RQ||!$.subarray&&fQ)return String.fromCharCode.apply(null,i8.shrinkBuf($,q))}var Q="";for(var K=0;K4){W[K++]=65533,Q+=Z-1;continue}J&=Z===2?31:Z===3?15:7;while(Z>1&&Q1){W[K++]=65533;continue}if(J<65536)W[K++]=J;else J-=65536,W[K++]=55296|J>>10&1023,W[K++]=56320|J&1023}return IQ(W,K)};Z6.utf8border=function($,q){var Q;if(q=q||$.length,q>$.length)q=$.length;Q=q-1;while(Q>=0&&($[Q]&192)===128)Q--;if(Q<0)return q;if(Q===0)return q;return Q+t6[$[Q]]>q?Q:q}});var h4=N0((iz,CQ)=>{function fZ(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}CQ.exports=fZ});var XQ=N0((Q8)=>{var e6=vQ(),$8=d2(),O4=y4(),P4=_8(),RZ=h4(),AQ=Object.prototype.toString,IZ=0,x4=4,G6=0,jQ=1,gQ=2,CZ=-1,jZ=0,gZ=8;function j1($){if(!(this instanceof j1))return new j1($);this.options=$8.assign({level:CZ,method:gZ,chunkSize:16384,windowBits:15,memLevel:8,strategy:jZ,to:""},$||{});var q=this.options;if(q.raw&&q.windowBits>0)q.windowBits=-q.windowBits;else if(q.gzip&&q.windowBits>0&&q.windowBits<16)q.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new RZ,this.strm.avail_out=0;var Q=e6.deflateInit2(this.strm,q.level,q.method,q.windowBits,q.memLevel,q.strategy);if(Q!==G6)throw Error(P4[Q]);if(q.header)e6.deflateSetHeader(this.strm,q.header);if(q.dictionary){var K;if(typeof q.dictionary==="string")K=O4.string2buf(q.dictionary);else if(AQ.call(q.dictionary)==="[object ArrayBuffer]")K=new Uint8Array(q.dictionary);else K=q.dictionary;if(Q=e6.deflateSetDictionary(this.strm,K),Q!==G6)throw Error(P4[Q]);this._dict_set=!0}}j1.prototype.push=function($,q){var Q=this.strm,K=this.options.chunkSize,J,Z;if(this.ended)return!1;if(Z=q===~~q?q:q===!0?x4:IZ,typeof $==="string")Q.input=O4.string2buf($);else if(AQ.call($)==="[object ArrayBuffer]")Q.input=new Uint8Array($);else Q.input=$;Q.next_in=0,Q.avail_in=Q.input.length;do{if(Q.avail_out===0)Q.output=new $8.Buf8(K),Q.next_out=0,Q.avail_out=K;if(J=e6.deflate(Q,Z),J!==jQ&&J!==G6)return this.onEnd(J),this.ended=!0,!1;if(Q.avail_out===0||Q.avail_in===0&&(Z===x4||Z===gQ))if(this.options.to==="string")this.onData(O4.buf2binstring($8.shrinkBuf(Q.output,Q.next_out)));else this.onData($8.shrinkBuf(Q.output,Q.next_out))}while((Q.avail_in>0||Q.avail_out===0)&&J!==jQ);if(Z===x4)return J=e6.deflateEnd(this.strm),this.onEnd(J),this.ended=!0,J===G6;if(Z===gQ)return this.onEnd(G6),Q.avail_out=0,!0;return!0};j1.prototype.onData=function($){this.chunks.push($)};j1.prototype.onEnd=function($){if($===G6)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=$8.flattenChunks(this.chunks);this.chunks=[],this.err=$,this.msg=this.strm.msg};function T4($,q){var Q=new j1(q);if(Q.push($,!0),Q.err)throw Q.msg||P4[Q.err];return Q.result}function AZ($,q){return q=q||{},q.raw=!0,T4($,q)}function XZ($,q){return q=q||{},q.gzip=!0,T4($,q)}Q8.Deflate=j1;Q8.deflate=T4;Q8.deflateRaw=AZ;Q8.gzip=XZ});var hQ=N0((az,yQ)=>{var o8=30,yZ=12;yQ.exports=function(q,Q){var K,J,Z,G,W,B,V,U,w,F,M,k,f,L,D,z,N,H,v,j,n,d,_,X,P;K=q.state,J=q.next_in,X=q.input,Z=J+(q.avail_in-5),G=q.next_out,P=q.output,W=G-(Q-q.avail_out),B=G+(q.avail_out-257),V=K.dmax,U=K.wsize,w=K.whave,F=K.wnext,M=K.window,k=K.hold,f=K.bits,L=K.lencode,D=K.distcode,z=(1<>>24,k>>>=v,f-=v,v=H>>>16&255,v===0)P[G++]=H&65535;else if(v&16){if(j=H&65535,v&=15,v){if(f>>=v,f-=v}if(f<15)k+=X[J++]<>>24,k>>>=v,f-=v,v=H>>>16&255,v&16){if(n=H&65535,v&=15,fV){q.msg="invalid distance too far back",K.mode=o8;break $}if(k>>>=v,f-=v,v=G-W,n>v){if(v=n-v,v>w){if(K.sane){q.msg="invalid distance too far back",K.mode=o8;break $}}if(d=0,_=M,F===0){if(d+=U-v,v2)P[G++]=_[d++],P[G++]=_[d++],P[G++]=_[d++],j-=3;if(j){if(P[G++]=_[d++],j>1)P[G++]=_[d++]}}else{d=G-n;do P[G++]=P[d++],P[G++]=P[d++],P[G++]=P[d++],j-=3;while(j>2);if(j){if(P[G++]=P[d++],j>1)P[G++]=P[d++]}}}else if((v&64)===0){H=D[(H&65535)+(k&(1<>3,J-=j,f-=j<<3,k&=(1<{var xQ=d2(),W6=15,OQ=852,PQ=592,TQ=0,u4=1,uQ=2,hZ=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],xZ=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],OZ=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],PZ=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];SQ.exports=function(q,Q,K,J,Z,G,W,B){var V=B.bits,U=0,w=0,F=0,M=0,k=0,f=0,L=0,D=0,z=0,N=0,H,v,j,n,d,_=null,X=0,P,g=new xQ.Buf16(W6+1),c=new xQ.Buf16(W6+1),h=null,x=0,l,$0,Z0;for(U=0;U<=W6;U++)g[U]=0;for(w=0;w=1;M--)if(g[M]!==0)break;if(k>M)k=M;if(M===0)return Z[G++]=20971520,Z[G++]=20971520,B.bits=1,0;for(F=1;F0&&(q===TQ||M!==1))return-1;c[1]=0;for(U=1;UOQ||q===uQ&&z>PQ)return 1;for(;;){if(l=U-L,W[w]P)$0=h[x+W[w]],Z0=_[X+W[w]];else $0=96,Z0=0;H=1<>L)+v]=l<<24|$0<<16|Z0|0;while(v!==0);H=1<>=1;if(H!==0)N&=H-1,N+=H;else N=0;if(w++,--g[U]===0){if(U===M)break;U=Q[K+W[w]]}if(U>k&&(N&n)!==j){if(L===0)L=k;d+=F,f=U-L,D=1<OQ||q===uQ&&z>PQ)return 1;j=N&n,Z[j]=k<<24|f<<16|d-G|0}}if(N!==0)Z[d+N]=U-L<<24|4194304|0;return B.bits=k,0}});var Lq=N0((H2)=>{var U2=d2(),n4=I4(),T2=C4(),TZ=hQ(),q8=EQ(),uZ=0,Bq=1,zq=2,_Q=4,SZ=5,a8=6,g1=0,EZ=1,_Z=2,N2=-2,Fq=-3,d4=-4,cZ=-5,cQ=8,Mq=1,bQ=2,nQ=3,dQ=4,mQ=5,pQ=6,iQ=7,oQ=8,aQ=9,lQ=10,s8=11,p2=12,S4=13,rQ=14,E4=15,sQ=16,tQ=17,eQ=18,$q=19,l8=20,r8=21,Qq=22,qq=23,Kq=24,Jq=25,Vq=26,_4=27,Uq=28,Zq=29,x0=30,m4=31,bZ=32,nZ=852,dZ=592,mZ=15,pZ=mZ;function Gq($){return($>>>24&255)+($>>>8&65280)+(($&65280)<<8)+(($&255)<<24)}function iZ(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new U2.Buf16(320),this.work=new U2.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function wq($){var q;if(!$||!$.state)return N2;if(q=$.state,$.total_in=$.total_out=q.total=0,$.msg="",q.wrap)$.adler=q.wrap&1;return q.mode=Mq,q.last=0,q.havedict=0,q.dmax=32768,q.head=null,q.hold=0,q.bits=0,q.lencode=q.lendyn=new U2.Buf32(nZ),q.distcode=q.distdyn=new U2.Buf32(dZ),q.sane=1,q.back=-1,g1}function Nq($){var q;if(!$||!$.state)return N2;return q=$.state,q.wsize=0,q.whave=0,q.wnext=0,wq($)}function Yq($,q){var Q,K;if(!$||!$.state)return N2;if(K=$.state,q<0)Q=0,q=-q;else if(Q=(q>>4)+1,q<48)q&=15;if(q&&(q<8||q>15))return N2;if(K.window!==null&&K.wbits!==q)K.window=null;return K.wrap=Q,K.wbits=q,Nq($)}function kq($,q){var Q,K;if(!$)return N2;if(K=new iZ,$.state=K,K.window=null,Q=Yq($,q),Q!==g1)$.state=null;return Q}function oZ($){return kq($,pZ)}var Wq=!0,c4,b4;function aZ($){if(Wq){var q;c4=new U2.Buf32(512),b4=new U2.Buf32(32),q=0;while(q<144)$.lens[q++]=8;while(q<256)$.lens[q++]=9;while(q<280)$.lens[q++]=7;while(q<288)$.lens[q++]=8;q8(Bq,$.lens,0,288,c4,0,$.work,{bits:9}),q=0;while(q<32)$.lens[q++]=5;q8(zq,$.lens,0,32,b4,0,$.work,{bits:5}),Wq=!1}$.lencode=c4,$.lenbits=9,$.distcode=b4,$.distbits=5}function Dq($,q,Q,K){var J,Z=$.state;if(Z.window===null)Z.wsize=1<=Z.wsize)U2.arraySet(Z.window,q,Q-Z.wsize,Z.wsize,0),Z.wnext=0,Z.whave=Z.wsize;else{if(J=Z.wsize-Z.wnext,J>K)J=K;if(U2.arraySet(Z.window,q,Q-K,J,Z.wnext),K-=J,K)U2.arraySet(Z.window,q,Q-K,K,0),Z.wnext=K,Z.whave=Z.wsize;else{if(Z.wnext+=J,Z.wnext===Z.wsize)Z.wnext=0;if(Z.whave>>8&255,Q.check=T2(Q.check,_,2,0),V=0,U=0,Q.mode=bQ;break}if(Q.flags=0,Q.head)Q.head.done=!1;if(!(Q.wrap&1)||(((V&255)<<8)+(V>>8))%31){$.msg="incorrect header check",Q.mode=x0;break}if((V&15)!==cQ){$.msg="unknown compression method",Q.mode=x0;break}if(V>>>=4,U-=4,n=(V&15)+8,Q.wbits===0)Q.wbits=n;else if(n>Q.wbits){$.msg="invalid window size",Q.mode=x0;break}Q.dmax=1<>8&1;if(Q.flags&512)_[0]=V&255,_[1]=V>>>8&255,Q.check=T2(Q.check,_,2,0);V=0,U=0,Q.mode=nQ;case nQ:while(U<32){if(W===0)break $;W--,V+=K[Z++]<>>8&255,_[2]=V>>>16&255,_[3]=V>>>24&255,Q.check=T2(Q.check,_,4,0);V=0,U=0,Q.mode=dQ;case dQ:while(U<16){if(W===0)break $;W--,V+=K[Z++]<>8;if(Q.flags&512)_[0]=V&255,_[1]=V>>>8&255,Q.check=T2(Q.check,_,2,0);V=0,U=0,Q.mode=mQ;case mQ:if(Q.flags&1024){while(U<16){if(W===0)break $;W--,V+=K[Z++]<>>8&255,Q.check=T2(Q.check,_,2,0);V=0,U=0}else if(Q.head)Q.head.extra=null;Q.mode=pQ;case pQ:if(Q.flags&1024){if(M=Q.length,M>W)M=W;if(M){if(Q.head){if(n=Q.head.extra_len-Q.length,!Q.head.extra)Q.head.extra=Array(Q.head.extra_len);U2.arraySet(Q.head.extra,K,Z,M,n)}if(Q.flags&512)Q.check=T2(Q.check,K,M,Z);W-=M,Z+=M,Q.length-=M}if(Q.length)break $}Q.length=0,Q.mode=iQ;case iQ:if(Q.flags&2048){if(W===0)break $;M=0;do if(n=K[Z+M++],Q.head&&n&&Q.length<65536)Q.head.name+=String.fromCharCode(n);while(n&&M>9&1,Q.head.done=!0;$.adler=Q.check=0,Q.mode=p2;break;case lQ:while(U<32){if(W===0)break $;W--,V+=K[Z++]<>>=U&7,U-=U&7,Q.mode=_4;break}while(U<3){if(W===0)break $;W--,V+=K[Z++]<>>=1,U-=1,V&3){case 0:Q.mode=rQ;break;case 1:if(aZ(Q),Q.mode=l8,q===a8){V>>>=2,U-=2;break $}break;case 2:Q.mode=tQ;break;case 3:$.msg="invalid block type",Q.mode=x0}V>>>=2,U-=2;break;case rQ:V>>>=U&7,U-=U&7;while(U<32){if(W===0)break $;W--,V+=K[Z++]<>>16^65535)){$.msg="invalid stored block lengths",Q.mode=x0;break}if(Q.length=V&65535,V=0,U=0,Q.mode=E4,q===a8)break $;case E4:Q.mode=sQ;case sQ:if(M=Q.length,M){if(M>W)M=W;if(M>B)M=B;if(M===0)break $;U2.arraySet(J,K,Z,M,G),W-=M,Z+=M,B-=M,G+=M,Q.length-=M;break}Q.mode=p2;break;case tQ:while(U<14){if(W===0)break $;W--,V+=K[Z++]<>>=5,U-=5,Q.ndist=(V&31)+1,V>>>=5,U-=5,Q.ncode=(V&15)+4,V>>>=4,U-=4,Q.nlen>286||Q.ndist>30){$.msg="too many length or distance symbols",Q.mode=x0;break}Q.have=0,Q.mode=eQ;case eQ:while(Q.have>>=3,U-=3}while(Q.have<19)Q.lens[g[Q.have++]]=0;if(Q.lencode=Q.lendyn,Q.lenbits=7,X={bits:Q.lenbits},d=q8(uZ,Q.lens,0,19,Q.lencode,0,Q.work,X),Q.lenbits=X.bits,d){$.msg="invalid code lengths set",Q.mode=x0;break}Q.have=0,Q.mode=$q;case $q:while(Q.have>>24,z=L>>>16&255,N=L&65535,D<=U)break;if(W===0)break $;W--,V+=K[Z++]<>>=D,U-=D,Q.lens[Q.have++]=N;else{if(N===16){P=D+2;while(U>>=D,U-=D,Q.have===0){$.msg="invalid bit length repeat",Q.mode=x0;break}n=Q.lens[Q.have-1],M=3+(V&3),V>>>=2,U-=2}else if(N===17){P=D+3;while(U>>=D,U-=D,n=0,M=3+(V&7),V>>>=3,U-=3}else{P=D+7;while(U>>=D,U-=D,n=0,M=11+(V&127),V>>>=7,U-=7}if(Q.have+M>Q.nlen+Q.ndist){$.msg="invalid bit length repeat",Q.mode=x0;break}while(M--)Q.lens[Q.have++]=n}}if(Q.mode===x0)break;if(Q.lens[256]===0){$.msg="invalid code -- missing end-of-block",Q.mode=x0;break}if(Q.lenbits=9,X={bits:Q.lenbits},d=q8(Bq,Q.lens,0,Q.nlen,Q.lencode,0,Q.work,X),Q.lenbits=X.bits,d){$.msg="invalid literal/lengths set",Q.mode=x0;break}if(Q.distbits=6,Q.distcode=Q.distdyn,X={bits:Q.distbits},d=q8(zq,Q.lens,Q.nlen,Q.ndist,Q.distcode,0,Q.work,X),Q.distbits=X.bits,d){$.msg="invalid distances set",Q.mode=x0;break}if(Q.mode=l8,q===a8)break $;case l8:Q.mode=r8;case r8:if(W>=6&&B>=258){if($.next_out=G,$.avail_out=B,$.next_in=Z,$.avail_in=W,Q.hold=V,Q.bits=U,TZ($,F),G=$.next_out,J=$.output,B=$.avail_out,Z=$.next_in,K=$.input,W=$.avail_in,V=Q.hold,U=Q.bits,Q.mode===p2)Q.back=-1;break}Q.back=0;for(;;){if(L=Q.lencode[V&(1<>>24,z=L>>>16&255,N=L&65535,D<=U)break;if(W===0)break $;W--,V+=K[Z++]<>H)],D=L>>>24,z=L>>>16&255,N=L&65535,H+D<=U)break;if(W===0)break $;W--,V+=K[Z++]<>>=H,U-=H,Q.back+=H}if(V>>>=D,U-=D,Q.back+=D,Q.length=N,z===0){Q.mode=Vq;break}if(z&32){Q.back=-1,Q.mode=p2;break}if(z&64){$.msg="invalid literal/length code",Q.mode=x0;break}Q.extra=z&15,Q.mode=Qq;case Qq:if(Q.extra){P=Q.extra;while(U>>=Q.extra,U-=Q.extra,Q.back+=Q.extra}Q.was=Q.length,Q.mode=qq;case qq:for(;;){if(L=Q.distcode[V&(1<>>24,z=L>>>16&255,N=L&65535,D<=U)break;if(W===0)break $;W--,V+=K[Z++]<>H)],D=L>>>24,z=L>>>16&255,N=L&65535,H+D<=U)break;if(W===0)break $;W--,V+=K[Z++]<>>=H,U-=H,Q.back+=H}if(V>>>=D,U-=D,Q.back+=D,z&64){$.msg="invalid distance code",Q.mode=x0;break}Q.offset=N,Q.extra=z&15,Q.mode=Kq;case Kq:if(Q.extra){P=Q.extra;while(U>>=Q.extra,U-=Q.extra,Q.back+=Q.extra}if(Q.offset>Q.dmax){$.msg="invalid distance too far back",Q.mode=x0;break}Q.mode=Jq;case Jq:if(B===0)break $;if(M=F-B,Q.offset>M){if(M=Q.offset-M,M>Q.whave){if(Q.sane){$.msg="invalid distance too far back",Q.mode=x0;break}}if(M>Q.wnext)M-=Q.wnext,k=Q.wsize-M;else k=Q.wnext-M;if(M>Q.length)M=Q.length;f=Q.window}else f=J,k=G-Q.offset,M=Q.length;if(M>B)M=B;B-=M,Q.length-=M;do J[G++]=f[k++];while(--M);if(Q.length===0)Q.mode=r8;break;case Vq:if(B===0)break $;J[G++]=Q.length,B--,Q.mode=r8;break;case _4:if(Q.wrap){while(U<32){if(W===0)break $;W--,V|=K[Z++]<{Hq.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var fq=N0((tz,vq)=>{function eZ(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}vq.exports=eZ});var Iq=N0((J8)=>{var B6=Lq(),K8=d2(),t8=y4(),E0=p4(),i4=_8(),$G=h4(),QG=fq(),Rq=Object.prototype.toString;function A1($){if(!(this instanceof A1))return new A1($);this.options=K8.assign({chunkSize:16384,windowBits:0,to:""},$||{});var q=this.options;if(q.raw&&q.windowBits>=0&&q.windowBits<16){if(q.windowBits=-q.windowBits,q.windowBits===0)q.windowBits=-15}if(q.windowBits>=0&&q.windowBits<16&&!($&&$.windowBits))q.windowBits+=32;if(q.windowBits>15&&q.windowBits<48){if((q.windowBits&15)===0)q.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new $G,this.strm.avail_out=0;var Q=B6.inflateInit2(this.strm,q.windowBits);if(Q!==E0.Z_OK)throw Error(i4[Q]);if(this.header=new QG,B6.inflateGetHeader(this.strm,this.header),q.dictionary){if(typeof q.dictionary==="string")q.dictionary=t8.string2buf(q.dictionary);else if(Rq.call(q.dictionary)==="[object ArrayBuffer]")q.dictionary=new Uint8Array(q.dictionary);if(q.raw){if(Q=B6.inflateSetDictionary(this.strm,q.dictionary),Q!==E0.Z_OK)throw Error(i4[Q])}}}A1.prototype.push=function($,q){var Q=this.strm,K=this.options.chunkSize,J=this.options.dictionary,Z,G,W,B,V,U=!1;if(this.ended)return!1;if(G=q===~~q?q:q===!0?E0.Z_FINISH:E0.Z_NO_FLUSH,typeof $==="string")Q.input=t8.binstring2buf($);else if(Rq.call($)==="[object ArrayBuffer]")Q.input=new Uint8Array($);else Q.input=$;Q.next_in=0,Q.avail_in=Q.input.length;do{if(Q.avail_out===0)Q.output=new K8.Buf8(K),Q.next_out=0,Q.avail_out=K;if(Z=B6.inflate(Q,E0.Z_NO_FLUSH),Z===E0.Z_NEED_DICT&&J)Z=B6.inflateSetDictionary(this.strm,J);if(Z===E0.Z_BUF_ERROR&&U===!0)Z=E0.Z_OK,U=!1;if(Z!==E0.Z_STREAM_END&&Z!==E0.Z_OK)return this.onEnd(Z),this.ended=!0,!1;if(Q.next_out){if(Q.avail_out===0||Z===E0.Z_STREAM_END||Q.avail_in===0&&(G===E0.Z_FINISH||G===E0.Z_SYNC_FLUSH))if(this.options.to==="string"){if(W=t8.utf8border(Q.output,Q.next_out),B=Q.next_out-W,V=t8.buf2string(Q.output,W),Q.next_out=B,Q.avail_out=K-B,B)K8.arraySet(Q.output,Q.output,W,B,0);this.onData(V)}else this.onData(K8.shrinkBuf(Q.output,Q.next_out))}if(Q.avail_in===0&&Q.avail_out===0)U=!0}while((Q.avail_in>0||Q.avail_out===0)&&Z!==E0.Z_STREAM_END);if(Z===E0.Z_STREAM_END)G=E0.Z_FINISH;if(G===E0.Z_FINISH)return Z=B6.inflateEnd(this.strm),this.onEnd(Z),this.ended=!0,Z===E0.Z_OK;if(G===E0.Z_SYNC_FLUSH)return this.onEnd(E0.Z_OK),Q.avail_out=0,!0;return!0};A1.prototype.onData=function($){this.chunks.push($)};A1.prototype.onEnd=function($){if($===E0.Z_OK)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=K8.flattenChunks(this.chunks);this.chunks=[],this.err=$,this.msg=this.strm.msg};function o4($,q){var Q=new A1(q);if(Q.push($,!0),Q.err)throw Q.msg||i4[Q.err];return Q.result}function qG($,q){return q=q||{},q.raw=!0,o4($,q)}J8.Inflate=A1;J8.inflate=o4;J8.inflateRaw=qG;J8.ungzip=o4});var gq=N0(($F,jq)=>{var KG=d2().assign,JG=XQ(),VG=Iq(),UG=p4(),Cq={};KG(Cq,JG,VG,UG);jq.exports=Cq});var Xq=N0(($5)=>{var ZG=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",GG=gq(),Aq=T0(),e8=V2(),WG=ZG?"uint8array":"array";$5.magic="\b\x00";function X1($,q){e8.call(this,"FlateWorker/"+$),this._pako=null,this._pakoAction=$,this._pakoOptions=q,this.meta={}}Aq.inherits(X1,e8);X1.prototype.processChunk=function($){if(this.meta=$.meta,this._pako===null)this._createPako();this._pako.push(Aq.transformTo(WG,$.data),!1)};X1.prototype.flush=function(){if(e8.prototype.flush.call(this),this._pako===null)this._createPako();this._pako.push([],!0)};X1.prototype.cleanUp=function(){e8.prototype.cleanUp.call(this),this._pako=null};X1.prototype._createPako=function(){this._pako=new GG[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var $=this;this._pako.onData=function(q){$.push({data:q,meta:$.meta})}};$5.compressWorker=function($){return new X1("Deflate",$)};$5.uncompressWorker=function(){return new X1("Inflate",{})}});var l4=N0((a4)=>{var yq=V2();a4.STORE={magic:"\x00\x00",compressWorker:function(){return new yq("STORE compression")},uncompressWorker:function(){return new yq("STORE decompression")}};a4.DEFLATE=Xq()});var r4=N0((y1)=>{y1.LOCAL_FILE_HEADER="PK\x03\x04";y1.CENTRAL_FILE_HEADER="PK\x01\x02";y1.CENTRAL_DIRECTORY_END="PK\x05\x06";y1.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x06\x07";y1.ZIP64_CENTRAL_DIRECTORY_END="PK\x06\x06";y1.DATA_DESCRIPTOR="PK\x07\b"});var Pq=N0((JF,Oq)=>{var z6=T0(),F6=V2(),s4=e1(),hq=T8(),Q5=r4(),A0=function($,q){var Q="",K;for(K=0;K>>8;return Q},BG=function($,q){var Q=$;if(!$)Q=q?16893:33204;return(Q&65535)<<16},zG=function($){return($||0)&63},xq=function($,q,Q,K,J,Z){var{file:G,compression:W}=$,B=Z!==s4.utf8encode,V=z6.transformTo("string",Z(G.name)),U=z6.transformTo("string",s4.utf8encode(G.name)),w=G.comment,F=z6.transformTo("string",Z(w)),M=z6.transformTo("string",s4.utf8encode(w)),k=U.length!==G.name.length,f=M.length!==w.length,L,D,z="",N="",H="",v=G.dir,j=G.date,n={crc32:0,compressedSize:0,uncompressedSize:0};if(!q||Q)n.crc32=$.crc32,n.compressedSize=$.compressedSize,n.uncompressedSize=$.uncompressedSize;var d=0;if(q)d|=8;if(!B&&(k||f))d|=2048;var _=0,X=0;if(v)_|=16;if(J==="UNIX")X=798,_|=BG(G.unixPermissions,v);else X=20,_|=zG(G.dosPermissions,v);if(L=j.getUTCHours(),L=L<<6,L=L|j.getUTCMinutes(),L=L<<5,L=L|j.getUTCSeconds()/2,D=j.getUTCFullYear()-1980,D=D<<4,D=D|j.getUTCMonth()+1,D=D<<5,D=D|j.getUTCDate(),k)N=A0(1,1)+A0(hq(V),4)+U,z+="up"+A0(N.length,2)+N;if(f)H=A0(1,1)+A0(hq(F),4)+M,z+="uc"+A0(H.length,2)+H;var P="";P+=` +\x00`,P+=A0(d,2),P+=W.magic,P+=A0(L,2),P+=A0(D,2),P+=A0(n.crc32,4),P+=A0(n.compressedSize,4),P+=A0(n.uncompressedSize,4),P+=A0(V.length,2),P+=A0(z.length,2);var g=Q5.LOCAL_FILE_HEADER+P+V+z,c=Q5.CENTRAL_FILE_HEADER+A0(X,2)+P+A0(F.length,2)+"\x00\x00\x00\x00"+A0(_,4)+A0(K,4)+V+z+F;return{fileRecord:g,dirRecord:c}},FG=function($,q,Q,K,J){var Z="",G=z6.transformTo("string",J(K));return Z=Q5.CENTRAL_DIRECTORY_END+"\x00\x00\x00\x00"+A0($,2)+A0($,2)+A0(q,4)+A0(Q,4)+A0(G.length,2)+G,Z},MG=function($){var q="";return q=Q5.DATA_DESCRIPTOR+A0($.crc32,4)+A0($.compressedSize,4)+A0($.uncompressedSize,4),q};function v2($,q,Q,K){F6.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=q,this.zipPlatform=Q,this.encodeFileName=K,this.streamFiles=$,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}z6.inherits(v2,F6);v2.prototype.push=function($){var q=$.meta.percent||0,Q=this.entriesCount,K=this._sources.length;if(this.accumulate)this.contentBuffer.push($);else this.bytesWritten+=$.data.length,F6.prototype.push.call(this,{data:$.data,meta:{currentFile:this.currentFile,percent:Q?(q+100*(Q-K-1))/Q:100}})};v2.prototype.openedSource=function($){this.currentSourceOffset=this.bytesWritten,this.currentFile=$.file.name;var q=this.streamFiles&&!$.file.dir;if(q){var Q=xq($,q,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:Q.fileRecord,meta:{percent:0}})}else this.accumulate=!0};v2.prototype.closedSource=function($){this.accumulate=!1;var q=this.streamFiles&&!$.file.dir,Q=xq($,q,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(Q.dirRecord),q)this.push({data:MG($),meta:{percent:100}});else{this.push({data:Q.fileRecord,meta:{percent:0}});while(this.contentBuffer.length)this.push(this.contentBuffer.shift())}this.currentFile=null};v2.prototype.flush=function(){var $=this.bytesWritten;for(var q=0;q{var wG=l4(),NG=Pq(),YG=function($,q){var Q=$||q,K=wG[Q];if(!K)throw Error(Q+" is not a valid compression method !");return K};Tq.generateWorker=function($,q,Q){var K=new NG(q.streamFiles,Q,q.platform,q.encodeFileName),J=0;try{$.forEach(function(Z,G){J++;var W=YG(G.options.compression,q.compression),B=G.options.compressionOptions||q.compressionOptions||{},V=G.dir,U=G.date;G._compressWorker(W,B).withStreamInfo("file",{name:Z,dir:V,date:U,comment:G.comment||"",unixPermissions:G.unixPermissions,dosPermissions:G.dosPermissions}).pipe(K)}),K.entriesCount=J}catch(Z){K.error(Z)}return K}});var Eq=N0((UF,Sq)=>{var kG=T0(),q5=V2();function V8($,q){q5.call(this,"Nodejs stream input adapter for "+$),this._upstreamEnded=!1,this._bindStream(q)}kG.inherits(V8,q5);V8.prototype._bindStream=function($){var q=this;this._stream=$,$.pause(),$.on("data",function(Q){q.push({data:Q,meta:{percent:0}})}).on("error",function(Q){if(q.isPaused)this.generatedError=Q;else q.error(Q)}).on("end",function(){if(q.isPaused)q._upstreamEnded=!0;else q.end()})};V8.prototype.pause=function(){if(!q5.prototype.pause.call(this))return!1;return this._stream.pause(),!0};V8.prototype.resume=function(){if(!q5.prototype.resume.call(this))return!1;if(this._upstreamEnded)this.end();else this._stream.resume();return!0};Sq.exports=V8});var aq=N0((ZF,oq)=>{var DG=e1(),U8=T0(),nq=V2(),LG=q4(),dq=K4(),_q=u8(),HG=c$(),vG=uq(),cq=T6(),fG=Eq(),mq=function($,q,Q){var K=U8.getTypeOf(q),J,Z=U8.extend(Q||{},dq);if(Z.date=Z.date||new Date,Z.compression!==null)Z.compression=Z.compression.toUpperCase();if(typeof Z.unixPermissions==="string")Z.unixPermissions=parseInt(Z.unixPermissions,8);if(Z.unixPermissions&&Z.unixPermissions&16384)Z.dir=!0;if(Z.dosPermissions&&Z.dosPermissions&16)Z.dir=!0;if(Z.dir)$=pq($);if(Z.createFolders&&(J=RG($)))iq.call(this,J,!0);var G=K==="string"&&Z.binary===!1&&Z.base64===!1;if(!Q||typeof Q.binary>"u")Z.binary=!G;var W=q instanceof _q&&q.uncompressedSize===0;if(W||Z.dir||!q||q.length===0)Z.base64=!1,Z.binary=!0,q="",Z.compression="STORE",K="string";var B=null;if(q instanceof _q||q instanceof nq)B=q;else if(cq.isNode&&cq.isStream(q))B=new fG($,q);else B=U8.prepareContent($,q,Z.binary,Z.optimizedBinaryString,Z.base64);var V=new HG($,B,Z);this.files[$]=V},RG=function($){if($.slice(-1)==="/")$=$.substring(0,$.length-1);var q=$.lastIndexOf("/");return q>0?$.substring(0,q):""},pq=function($){if($.slice(-1)!=="/")$+="/";return $},iq=function($,q){if(q=typeof q<"u"?q:dq.createFolders,$=pq($),!this.files[$])mq.call(this,$,null,{dir:!0,createFolders:q});return this.files[$]};function bq($){return Object.prototype.toString.call($)==="[object RegExp]"}var IG={load:function(){throw Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function($){var q,Q,K;for(q in this.files)if(K=this.files[q],Q=q.slice(this.root.length,q.length),Q&&q.slice(0,this.root.length)===this.root)$(Q,K)},filter:function($){var q=[];return this.forEach(function(Q,K){if($(Q,K))q.push(K)}),q},file:function($,q,Q){if(arguments.length===1)if(bq($)){var K=$;return this.filter(function(Z,G){return!G.dir&&K.test(Z)})}else{var J=this.files[this.root+$];if(J&&!J.dir)return J;else return null}else $=this.root+$,mq.call(this,$,q,Q);return this},folder:function($){if(!$)return this;if(bq($))return this.filter(function(J,Z){return Z.dir&&$.test(J)});var q=this.root+$,Q=iq.call(this,q),K=this.clone();return K.root=Q.name,K},remove:function($){$=this.root+$;var q=this.files[$];if(!q){if($.slice(-1)!=="/")$+="/";q=this.files[$]}if(q&&!q.dir)delete this.files[$];else{var Q=this.filter(function(J,Z){return Z.name.slice(0,$.length)===$});for(var K=0;K{var CG=T0();function lq($){this.data=$,this.length=$.length,this.index=0,this.zero=0}lq.prototype={checkOffset:function($){this.checkIndex(this.index+$)},checkIndex:function($){if(this.length=this.index;Q--)q=(q<<8)+this.byteAt(Q);return this.index+=$,q},readString:function($){return CG.transformTo("string",this.readData($))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var $=this.readInt(4);return new Date(Date.UTC(($>>25&127)+1980,($>>21&15)-1,$>>16&31,$>>11&31,$>>5&63,($&31)<<1))}};rq.exports=lq});var e4=N0((WF,tq)=>{var sq=t4(),jG=T0();function M6($){sq.call(this,$);for(var q=0;q=0;--Z)if(this.data[Z]===q&&this.data[Z+1]===Q&&this.data[Z+2]===K&&this.data[Z+3]===J)return Z-this.zero;return-1};M6.prototype.readAndCheckSignature=function($){var q=$.charCodeAt(0),Q=$.charCodeAt(1),K=$.charCodeAt(2),J=$.charCodeAt(3),Z=this.readData(4);return q===Z[0]&&Q===Z[1]&&K===Z[2]&&J===Z[3]};M6.prototype.readData=function($){if(this.checkOffset($),$===0)return[];var q=this.data.slice(this.zero+this.index,this.zero+this.index+$);return this.index+=$,q};tq.exports=M6});var QK=N0((BF,$K)=>{var eq=t4(),gG=T0();function w6($){eq.call(this,$)}gG.inherits(w6,eq);w6.prototype.byteAt=function($){return this.data.charCodeAt(this.zero+$)};w6.prototype.lastIndexOfSignature=function($){return this.data.lastIndexOf($)-this.zero};w6.prototype.readAndCheckSignature=function($){var q=this.readData(4);return $===q};w6.prototype.readData=function($){this.checkOffset($);var q=this.data.slice(this.zero+this.index,this.zero+this.index+$);return this.index+=$,q};$K.exports=w6});var Q7=N0((zF,KK)=>{var qK=e4(),AG=T0();function $7($){qK.call(this,$)}AG.inherits($7,qK);$7.prototype.readData=function($){if(this.checkOffset($),$===0)return new Uint8Array(0);var q=this.data.subarray(this.zero+this.index,this.zero+this.index+$);return this.index+=$,q};KK.exports=$7});var UK=N0((FF,VK)=>{var JK=Q7(),XG=T0();function q7($){JK.call(this,$)}XG.inherits(q7,JK);q7.prototype.readData=function($){this.checkOffset($);var q=this.data.slice(this.zero+this.index,this.zero+this.index+$);return this.index+=$,q};VK.exports=q7});var K7=N0((MF,GK)=>{var K5=T0(),ZK=n2(),yG=e4(),hG=QK(),xG=UK(),OG=Q7();GK.exports=function($){var q=K5.getTypeOf($);if(K5.checkSupport(q),q==="string"&&!ZK.uint8array)return new hG($);if(q==="nodebuffer")return new xG($);if(ZK.uint8array)return new OG(K5.transformTo("uint8array",$));return new yG(K5.transformTo("array",$))}});var FK=N0((wF,zK)=>{var J7=K7(),G1=T0(),PG=u8(),WK=T8(),J5=e1(),V5=l4(),TG=n2(),uG=0,SG=3,EG=function($){for(var q in V5){if(!Object.prototype.hasOwnProperty.call(V5,q))continue;if(V5[q].magic===$)return V5[q]}return null};function BK($,q){this.options=$,this.loadOptions=q}BK.prototype={isEncrypted:function(){return(this.bitFlag&1)===1},useUTF8:function(){return(this.bitFlag&2048)===2048},readLocalPart:function($){var q,Q;if($.skip(22),this.fileNameLength=$.readInt(2),Q=$.readInt(2),this.fileName=$.readData(this.fileNameLength),$.skip(Q),this.compressedSize===-1||this.uncompressedSize===-1)throw Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(q=EG(this.compressionMethod),q===null)throw Error("Corrupted zip : compression "+G1.pretty(this.compressionMethod)+" unknown (inner file : "+G1.transformTo("string",this.fileName)+")");this.decompressed=new PG(this.compressedSize,this.uncompressedSize,this.crc32,q,$.readData(this.compressedSize))},readCentralPart:function($){this.versionMadeBy=$.readInt(2),$.skip(2),this.bitFlag=$.readInt(2),this.compressionMethod=$.readString(2),this.date=$.readDate(),this.crc32=$.readInt(4),this.compressedSize=$.readInt(4),this.uncompressedSize=$.readInt(4);var q=$.readInt(2);if(this.extraFieldsLength=$.readInt(2),this.fileCommentLength=$.readInt(2),this.diskNumberStart=$.readInt(2),this.internalFileAttributes=$.readInt(2),this.externalFileAttributes=$.readInt(4),this.localHeaderOffset=$.readInt(4),this.isEncrypted())throw Error("Encrypted zip are not supported");$.skip(q),this.readExtraFields($),this.parseZIP64ExtraField($),this.fileComment=$.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var $=this.versionMadeBy>>8;if(this.dir=this.externalFileAttributes&16?!0:!1,$===uG)this.dosPermissions=this.externalFileAttributes&63;if($===SG)this.unixPermissions=this.externalFileAttributes>>16&65535;if(!this.dir&&this.fileNameStr.slice(-1)==="/")this.dir=!0},parseZIP64ExtraField:function(){if(!this.extraFields[1])return;var $=J7(this.extraFields[1].value);if(this.uncompressedSize===G1.MAX_VALUE_32BITS)this.uncompressedSize=$.readInt(8);if(this.compressedSize===G1.MAX_VALUE_32BITS)this.compressedSize=$.readInt(8);if(this.localHeaderOffset===G1.MAX_VALUE_32BITS)this.localHeaderOffset=$.readInt(8);if(this.diskNumberStart===G1.MAX_VALUE_32BITS)this.diskNumberStart=$.readInt(4)},readExtraFields:function($){var q=$.index+this.extraFieldsLength,Q,K,J;if(!this.extraFields)this.extraFields={};while($.index+4{var _G=K7(),i2=T0(),f2=r4(),cG=FK(),bG=n2();function MK($){this.files=[],this.loadOptions=$}MK.prototype={checkSignature:function($){if(!this.reader.readAndCheckSignature($)){this.reader.index-=4;var q=this.reader.readString(4);throw Error("Corrupted zip or bug: unexpected signature ("+i2.pretty(q)+", expected "+i2.pretty($)+")")}},isSignature:function($,q){var Q=this.reader.index;this.reader.setIndex($);var K=this.reader.readString(4),J=K===q;return this.reader.setIndex(Q),J},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var $=this.reader.readData(this.zipCommentLength),q=bG.uint8array?"uint8array":"array",Q=i2.transformTo(q,$);this.zipComment=this.loadOptions.decodeFileName(Q)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};var $=this.zip64EndOfCentralSize-44,q=0,Q,K,J;while(q<$)Q=this.reader.readInt(2),K=this.reader.readInt(4),J=this.reader.readData(K),this.zip64ExtensibleData[Q]={id:Q,length:K,value:J}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var $,q;for($=0;$0)if(this.isSignature(Q,f2.CENTRAL_FILE_HEADER));else this.reader.zero=J;else if(J<0)throw Error("Corrupted zip: missing "+Math.abs(J)+" bytes.")},prepareReader:function($){this.reader=_G($)},load:function($){this.prepareReader($),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}};wK.exports=MK});var DK=N0((YF,kK)=>{var V7=T0(),U5=r1(),nG=e1(),dG=NK(),mG=U4(),YK=T6();function pG($){return new U5.Promise(function(q,Q){var K=$.decompressed.getContentWorker().pipe(new mG);K.on("error",function(J){Q(J)}).on("end",function(){if(K.streamInfo.crc32!==$.decompressed.crc32)Q(Error("Corrupted zip : CRC32 mismatch"));else q()}).resume()})}kK.exports=function($,q){var Q=this;if(q=V7.extend(q||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:nG.utf8decode}),YK.isNode&&YK.isStream($))return U5.Promise.reject(Error("JSZip can't accept a stream when loading a zip file."));return V7.prepareContent("the loaded zip file",$,!0,q.optimizedBinaryString,q.base64).then(function(K){var J=new dG(q);return J.load(K),J}).then(function(J){var Z=[U5.Promise.resolve(J)],G=J.files;if(q.checkCRC32)for(var W=0;W{function Y2(){if(!(this instanceof Y2))return new Y2;if(arguments.length)throw Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var $=new Y2;for(var q in this)if(typeof this[q]!=="function")$[q]=this[q];return $}}Y2.prototype=aq();Y2.prototype.loadAsync=DK();Y2.support=n2();Y2.defaults=K4();Y2.version="3.10.1";Y2.loadAsync=function($,q){return new Y2().loadAsync($,q)};Y2.external=r1();LK.exports=Y2});var Z8={};c1(Z8,{types:()=>QW,promisify:()=>jK,log:()=>RK,isUndefined:()=>N6,isSymbol:()=>KW,isString:()=>F5,isRegExp:()=>Z5,isPrimitive:()=>JW,isObject:()=>Y6,isNumber:()=>fK,isNullOrUndefined:()=>qW,isNull:()=>z5,isFunction:()=>W5,isError:()=>G5,isDate:()=>W7,isBuffer:()=>VW,isBoolean:()=>z7,isArray:()=>vK,inspect:()=>h1,inherits:()=>IK,format:()=>B7,deprecate:()=>oG,default:()=>GW,debuglog:()=>aG,callbackifyOnRejected:()=>w7,callbackify:()=>gK,_extend:()=>M7,TextEncoder:()=>AK,TextDecoder:()=>XK});function B7($,...q){if(!F5($)){var Q=[$];for(var K=0;K=J)return W;switch(W){case"%s":return String(q[K++]);case"%d":return Number(q[K++]);case"%j":try{return JSON.stringify(q[K++])}catch(B){return"[Circular]"}default:return W}});for(var G=q[K];K"u"||process?.noDeprecation===!0)return $;var Q=!1;function K(...J){if(!Q){if(process.throwDeprecation)throw Error(q);else if(process.traceDeprecation)console.trace(q);else console.error(q);Q=!0}return $.apply(this,...J)}return K}function lG($,q){var Q=h1.styles[q];if(Q)return"\x1B["+h1.colors[Q][0]+"m"+$+"\x1B["+h1.colors[Q][1]+"m";else return $}function rG($,q){return $}function sG($){var q={};return $.forEach(function(Q,K){q[Q]=!0}),q}function B5($,q,Q){if($.customInspect&&q&&W5(q.inspect)&&q.inspect!==h1&&!(q.constructor&&q.constructor.prototype===q)){var K=q.inspect(Q,$);if(!F5(K))K=B5($,K,Q);return K}var J=tG($,q);if(J)return J;var Z=Object.keys(q),G=sG(Z);if($.showHidden)Z=Object.getOwnPropertyNames(q);if(G5(q)&&(Z.indexOf("message")>=0||Z.indexOf("description")>=0))return U7(q);if(Z.length===0){if(W5(q)){var W=q.name?": "+q.name:"";return $.stylize("[Function"+W+"]","special")}if(Z5(q))return $.stylize(RegExp.prototype.toString.call(q),"regexp");if(W7(q))return $.stylize(Date.prototype.toString.call(q),"date");if(G5(q))return U7(q)}var B="",V=!1,U=["{","}"];if(vK(q))V=!0,U=["[","]"];if(W5(q)){var w=q.name?": "+q.name:"";B=" [Function"+w+"]"}if(Z5(q))B=" "+RegExp.prototype.toString.call(q);if(W7(q))B=" "+Date.prototype.toUTCString.call(q);if(G5(q))B=" "+U7(q);if(Z.length===0&&(!V||q.length==0))return U[0]+B+U[1];if(Q<0)if(Z5(q))return $.stylize(RegExp.prototype.toString.call(q),"regexp");else return $.stylize("[Object]","special");$.seen.push(q);var F;if(V)F=eG($,q,Q,G,Z);else F=Z.map(function(M){return G7($,q,Q,G,M,V)});return $.seen.pop(),$W(F,B,U)}function tG($,q){if(N6(q))return $.stylize("undefined","undefined");if(F5(q)){var Q="'"+JSON.stringify(q).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return $.stylize(Q,"string")}if(fK(q))return $.stylize(""+q,"number");if(z7(q))return $.stylize(""+q,"boolean");if(z5(q))return $.stylize("null","null")}function U7($){return"["+Error.prototype.toString.call($)+"]"}function eG($,q,Q,K,J){var Z=[];for(var G=0,W=q.length;G-1)if(Z)W=W.split(` `).map(function(V){return" "+V}).join(` `).slice(2);else W=` `+W.split(` `).map(function(V){return" "+V}).join(` -`)}else W=$.stylize("[Circular]","special");if(N6(G)){if(Z&&J.match(/^\d+$/))return W;if(G=JSON.stringify(""+J),G.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/))G=G.slice(1,-1),G=$.stylize(G,"name");else G=G.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),G=$.stylize(G,"string")}return G+": "+W}function lG($,q,Q){var K=0,J=$.reduce(function(Z,G){if(K++,G.indexOf(` +`)}else W=$.stylize("[Circular]","special");if(N6(G)){if(Z&&J.match(/^\d+$/))return W;if(G=JSON.stringify(""+J),G.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/))G=G.slice(1,-1),G=$.stylize(G,"name");else G=G.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),G=$.stylize(G,"string")}return G+": "+W}function $W($,q,Q){var K=0,J=$.reduce(function(Z,G){if(K++,G.indexOf(` `)>=0)K++;return Z+G.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(J>60)return Q[0]+(q===""?"":q+` `)+" "+$.join(`, - `)+" "+Q[1];return Q[0]+q+" "+$.join(", ")+" "+Q[1]}function HK($){return Array.isArray($)}function z7($){return typeof $==="boolean"}function z5($){return $===null}function sG($){return $==null}function vK($){return typeof $==="number"}function F5($){return typeof $==="string"}function tG($){return typeof $==="symbol"}function N6($){return $===void 0}function Z5($){return Y6($)&&F7($)==="[object RegExp]"}function Y6($){return typeof $==="object"&&$!==null}function W7($){return Y6($)&&F7($)==="[object Date]"}function G5($){return Y6($)&&(F7($)==="[object Error]"||$ instanceof Error)}function W5($){return typeof $==="function"}function eG($){return $===null||typeof $==="boolean"||typeof $==="number"||typeof $==="string"||typeof $==="symbol"||typeof $>"u"}function $W($){return $ instanceof Buffer}function F7($){return Object.prototype.toString.call($)}function Z7($){return $<10?"0"+$.toString(10):$.toString(10)}function qW(){var $=new Date,q=[Z7($.getHours()),Z7($.getMinutes()),Z7($.getSeconds())].join(":");return[$.getDate(),QW[$.getMonth()],q].join(" ")}function fK(...$){console.log("%s - %s",qW(),B7.apply(null,$))}function RK($,q){if(q)$.super_=q,$.prototype=Object.create(q.prototype,{constructor:{value:$,enumerable:!1,writable:!0,configurable:!0}})}function M7($,q){if(!q||!Y6(q))return $;var Q=Object.keys(q),K=Q.length;while(K--)$[Q[K]]=q[Q[K]];return $}function IK($,q){return Object.prototype.hasOwnProperty.call($,q)}function w7($,q){if(!$){var Q=Error("Promise was rejected with a falsy value");Q.reason=$,$=Q}return q($)}function jK($){if(typeof $!=="function")throw TypeError('The "original" argument must be of type Function');function q(...Q){var K=Q.pop();if(typeof K!=="function")throw TypeError("The last argument must be of type Function");var J=this,Z=function(...G){return K.apply(J,...G)};$.apply(this,Q).then(function(G){process.nextTick(Z.bind(null,null,G))},function(G){process.nextTick(w7.bind(null,G,Z))})}return Object.setPrototypeOf(q,Object.getPrototypeOf($)),Object.defineProperties(q,Object.getOwnPropertyDescriptors($)),q}var bG,dG,h1,rG=()=>{},QW,CK,gK,AK,KW;var G8=b1(()=>{bG=/%[sdj%]/g;dG=(($={},q={},Q)=>((Q=typeof process<"u"&&!1)&&(Q=Q.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase()),q=new RegExp("^"+Q+"$","i"),(K)=>{if(K=K.toUpperCase(),!$[K])if(q.test(K))$[K]=function(...J){console.error("%s: %s",K,pid,B7.apply(null,...J))};else $[K]=function(){};return $[K]}))(),h1=(($)=>($.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},$.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},$.custom=Symbol.for("nodejs.util.inspect.custom"),$))(function($,q,...Q){var K={seen:[],stylize:pG};if(Q.length>=1)K.depth=Q[0];if(Q.length>=2)K.colors=Q[1];if(z7(q))K.showHidden=q;else if(q)M7(K,q);if(N6(K.showHidden))K.showHidden=!1;if(N6(K.depth))K.depth=2;if(N6(K.colors))K.colors=!1;if(K.colors)K.stylize=mG;return B5(K,$,K.depth)});QW=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];CK=(($)=>($.custom=Symbol.for("nodejs.util.promisify.custom"),$))(function($){if(typeof $!=="function")throw TypeError('The "original" argument must be of type Function');if(kCustomPromisifiedSymbol&&$[kCustomPromisifiedSymbol]){var q=$[kCustomPromisifiedSymbol];if(typeof q!=="function")throw TypeError('The "nodejs.util.promisify.custom" argument must be of type Function');return Object.defineProperty(q,kCustomPromisifiedSymbol,{value:q,enumerable:!1,writable:!1,configurable:!0}),q}function q(...Q){var K,J,Z=new Promise(function(G,W){K=G,J=W});Q.push(function(G,W){if(G)J(G);else K(W)});try{$.apply(this,Q)}catch(G){J(G)}return Z}if(Object.setPrototypeOf(q,Object.getPrototypeOf($)),kCustomPromisifiedSymbol)Object.defineProperty(q,kCustomPromisifiedSymbol,{value:q,enumerable:!1,writable:!1,configurable:!0});return Object.defineProperties(q,Object.getOwnPropertyDescriptors($))});({TextEncoder:gK,TextDecoder:AK}=globalThis),KW={TextEncoder:gK,TextDecoder:AK,promisify:CK,log:fK,inherits:RK,_extend:M7,callbackifyOnRejected:w7,callbackify:jK}});var H7={};c1(H7,{resolveObject:()=>uK,resolve:()=>TK,parse:()=>D6,format:()=>PK,default:()=>MW,Url:()=>Z2,URLSearchParams:()=>xK,URL:()=>D7});function L7($){return typeof $==="string"}function OK($){return typeof $==="object"&&$!==null}function M5($){return $===null}function JW($){return $==null}function Z2(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function D6($,q,Q){if($&&OK($)&&$ instanceof Z2)return $;var K=new Z2;return K.parse($,q,Q),K}function PK($){if(L7($))$=D6($);if(!($ instanceof Z2))return Z2.prototype.format.call($);return $.format()}function TK($,q){return D6($,!1,!0).resolve(q)}function uK($,q){if(!$)return q;return D6($,!1,!0).resolveObject(q)}var D7,xK,VW,UW,ZW,GW,WW,N7,XK,yK,BW=255,hK,zW,FW,Y7,k6,k7,MW;var v7=b1(()=>{({URL:D7,URLSearchParams:xK}=globalThis);VW=/^([a-z0-9.+-]+:)/i,UW=/:[0-9]*$/,ZW=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,GW=["<",">",'"',"`"," ","\r",` -`,"\t"],WW=["{","}","|","\\","^","`"].concat(GW),N7=["'"].concat(WW),XK=["%","/","?",";","#"].concat(N7),yK=["/","?","#"],hK=/^[+a-z0-9A-Z_-]{0,63}$/,zW=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,FW={javascript:!0,"javascript:":!0},Y7={javascript:!0,"javascript:":!0},k6={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},k7={parse($){var q=decodeURIComponent;return($+"").replace(/\+/g," ").split("&").filter(Boolean).reduce(function(Q,K,J){var Z=K.split("="),G=q(Z[0]||""),W=q(Z[1]||""),B=Q[G];return Q[G]=B===void 0?W:[].concat(B,W),Q},{})},stringify($){var q=encodeURIComponent;return Object.keys($||{}).reduce(function(Q,K){return[].concat($[K]).forEach(function(J){Q.push(q(K)+"="+q(J))}),Q},[]).join("&").replace(/\s/g,"+")}};Z2.prototype.parse=function($,q,Q){if(!L7($))throw TypeError("Parameter 'url' must be a string, not "+typeof $);var K=$.indexOf("?"),J=K!==-1&&K<$.indexOf("#")?"?":"#",Z=$.split(J),G=/\\/g;Z[0]=Z[0].replace(G,"/"),$=Z.join(J);var W=$;if(W=W.trim(),!Q&&$.split("#").length===1){var B=ZW.exec(W);if(B){if(this.path=W,this.href=W,this.pathname=B[1],B[2])if(this.search=B[2],q)this.query=k7.parse(this.search.substr(1));else this.query=this.search.substr(1);else if(q)this.search="",this.query={};return this}}var V=VW.exec(W);if(V){V=V[0];var U=V.toLowerCase();this.protocol=U,W=W.substr(V.length)}if(Q||V||W.match(/^\/\/[^@\/]+@[^@\/]+/)){var w=W.substr(0,2)==="//";if(w&&!(V&&Y7[V]))W=W.substr(2),this.slashes=!0}if(!Y7[V]&&(w||V&&!k6[V])){var F=-1;for(var M=0;M127)v+="x";else v+=H[j];if(!v.match(hK)){var d=z.slice(0,M),_=z.slice(M+1),X=H.match(zW);if(X)d.push(X[1]),_.unshift(X[2]);if(_.length)W="/"+_.join(".")+W;this.hostname=d.join(".");break}}}}if(this.hostname.length>BW)this.hostname="";else this.hostname=this.hostname.toLowerCase();if(!D)this.hostname=new D7(`https://${this.hostname}`).hostname;var P=this.port?":"+this.port:"",g=this.hostname||"";if(this.host=g+P,this.href+=this.host,D){if(this.hostname=this.hostname.substr(1,this.hostname.length-2),W[0]!=="/")W="/"+W}}if(!FW[U])for(var M=0,N=N7.length;M0?Q.host.split("@"):!1;if(v)Q.auth=v.shift(),Q.host=Q.hostname=v.shift()}if(Q.search=$.search,Q.query=$.query,!M5(Q.pathname)||!M5(Q.search))Q.path=(Q.pathname?Q.pathname:"")+(Q.search?Q.search:"");return Q.href=Q.format(),Q}if(!z.length){if(Q.pathname=null,Q.search)Q.path="/"+Q.search;else Q.path=null;return Q.href=Q.format(),Q}var j=z.slice(-1)[0],n=(Q.host||$.host||z.length>1)&&(j==="."||j==="..")||j==="",d=0;for(var _=z.length;_>=0;_--)if(j=z[_],j===".")z.splice(_,1);else if(j==="..")z.splice(_,1),d++;else if(d)z.splice(_,1),d--;if(!L&&!D)for(;d--;d)z.unshift("..");if(L&&z[0]!==""&&(!z[0]||z[0].charAt(0)!=="/"))z.unshift("");if(n&&z.join("/").substr(-1)!=="/")z.push("");var X=z[0]===""||z[0]&&z[0].charAt(0)==="/";if(H){Q.hostname=Q.host=X?"":z.length?z.shift():"";var v=Q.host&&Q.host.indexOf("@")>0?Q.host.split("@"):!1;if(v)Q.auth=v.shift(),Q.host=Q.hostname=v.shift()}if(L=L||Q.host&&z.length,L&&!X)z.unshift("");if(!z.length)Q.pathname=null,Q.path=null;else Q.pathname=z.join("/");if(!M5(Q.pathname)||!M5(Q.search))Q.path=(Q.pathname?Q.pathname:"")+(Q.search?Q.search:"");return Q.auth=$.auth||Q.auth,Q.slashes=Q.slashes||$.slashes,Q.href=Q.format(),Q};Z2.prototype.parseHost=function(){var $=this.host,q=UW.exec($);if(q){if(q=q[0],q!==":")this.port=q.substr(1);$=$.substr(0,$.length-q.length)}if($)this.hostname=$};MW={parse:D6,resolve:TK,resolveObject:uK,format:PK,Url:Z2,URL:D7,URLSearchParams:xK}});var R7={};c1(R7,{request:()=>hW,globalAgent:()=>uW,get:()=>xW,default:()=>_W,STATUS_CODES:()=>SW,METHODS:()=>EW,IncomingMessage:()=>PW,ClientRequest:()=>OW,Agent:()=>TW});var wW,NW,SK,YW,kW,DW=($,q,Q)=>{Q=$!=null?wW(NW($)):{};let K=q||!$||!$.__esModule?SK(Q,"default",{value:$,enumerable:!0}):Q;for(let J of YW($))if(!kW.call(K,J))SK(K,J,{get:()=>$[J],enumerable:!0});return K},h0=($,q)=>()=>(q||$((q={exports:{}}).exports,q),q.exports),_K,LW,x1,HW,cK,O1,bK,vW,nK,L6,fW,EK,f7,RW,IW,dK,mK,CW,jW,pK,iK,gW,AW,XW,yW,oK,hW,xW,OW,PW,TW,uW,SW,EW,_W;var I7=b1(()=>{wW=Object.create,{getPrototypeOf:NW,defineProperty:SK,getOwnPropertyNames:YW}=Object,kW=Object.prototype.hasOwnProperty,_K=h0(($)=>{$.fetch=J(globalThis.fetch)&&J(globalThis.ReadableStream),$.writableStream=J(globalThis.WritableStream),$.abortController=J(globalThis.AbortController);var q;function Q(){if(q!==void 0)return q;if(globalThis.XMLHttpRequest){q=new globalThis.XMLHttpRequest;try{q.open("GET",globalThis.XDomainRequest?"/":"https://example.com")}catch(Z){q=null}}else q=null;return q}function K(Z){var G=Q();if(!G)return!1;try{return G.responseType=Z,G.responseType===Z}catch(W){}return!1}$.arraybuffer=$.fetch||K("arraybuffer"),$.msstream=!$.fetch&&K("ms-stream"),$.mozchunkedarraybuffer=!$.fetch&&K("moz-chunked-arraybuffer"),$.overrideMimeType=$.fetch||(Q()?J(Q().overrideMimeType):!1);function J(Z){return typeof Z==="function"}q=null}),LW=h0(($,q)=>{if(typeof Object.create==="function")q.exports=function(Q,K){if(K)Q.super_=K,Q.prototype=Object.create(K.prototype,{constructor:{value:Q,enumerable:!1,writable:!0,configurable:!0}})};else q.exports=function(Q,K){if(K){Q.super_=K;var J=function(){};J.prototype=K.prototype,Q.prototype=new J,Q.prototype.constructor=Q}}}),x1=h0(($,q)=>{try{if(Q=(G8(),X0(Z8)),typeof Q.inherits!=="function")throw"";q.exports=Q.inherits}catch(K){q.exports=LW()}var Q}),HW=h0(($,q)=>{function Q(L,D){var z=Object.keys(L);if(Object.getOwnPropertySymbols){var N=Object.getOwnPropertySymbols(L);D&&(N=N.filter(function(H){return Object.getOwnPropertyDescriptor(L,H).enumerable})),z.push.apply(z,N)}return z}function K(L){for(var D=1;D0)this.tail.next=z;else this.head=z;this.tail=z,++this.length}},{key:"unshift",value:function(D){var z={data:D,next:this.head};if(this.length===0)this.tail=z;this.head=z,++this.length}},{key:"shift",value:function(){if(this.length===0)return;var D=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;return--this.length,D}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(D){if(this.length===0)return"";var z=this.head,N=""+z.data;while(z=z.next)N+=D+z.data;return N}},{key:"concat",value:function(D){if(this.length===0)return w.alloc(0);var z=w.allocUnsafe(D>>>0),N=this.head,H=0;while(N)f(N.data,z,H),H+=N.data.length,N=N.next;return z}},{key:"consume",value:function(D,z){var N;if(Dv.length?v.length:D;if(j===v.length)H+=v;else H+=v.slice(0,D);if(D-=j,D===0){if(j===v.length)if(++N,z.next)this.head=z.next;else this.head=this.tail=null;else this.head=z,z.data=v.slice(j);break}++N}return this.length-=N,H}},{key:"_getBuffer",value:function(D){var z=w.allocUnsafe(D),N=this.head,H=1;N.data.copy(z),D-=N.data.length;while(N=N.next){var v=N.data,j=D>v.length?v.length:D;if(v.copy(z,z.length-D,0,j),D-=j,D===0){if(j===v.length)if(++H,N.next)this.head=N.next;else this.head=this.tail=null;else this.head=N,N.data=v.slice(j);break}++H}return this.length-=H,z}},{key:k,value:function(D,z){return M(this,K(K({},z),{},{depth:0,customInspect:!1}))}}]),L}()}),cK=h0(($,q)=>{function Q(B,V){var U=this,w=this._readableState&&this._readableState.destroyed,F=this._writableState&&this._writableState.destroyed;if(w||F){if(V)V(B);else if(B){if(!this._writableState)process.nextTick(G,this,B);else if(!this._writableState.errorEmitted)this._writableState.errorEmitted=!0,process.nextTick(G,this,B)}return this}if(this._readableState)this._readableState.destroyed=!0;if(this._writableState)this._writableState.destroyed=!0;return this._destroy(B||null,function(M){if(!V&&M)if(!U._writableState)process.nextTick(K,U,M);else if(!U._writableState.errorEmitted)U._writableState.errorEmitted=!0,process.nextTick(K,U,M);else process.nextTick(J,U);else if(V)process.nextTick(J,U),V(M);else process.nextTick(J,U)}),this}function K(B,V){G(B,V),J(B)}function J(B){if(B._writableState&&!B._writableState.emitClose)return;if(B._readableState&&!B._readableState.emitClose)return;B.emit("close")}function Z(){if(this._readableState)this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1;if(this._writableState)this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1}function G(B,V){B.emit("error",V)}function W(B,V){var{_readableState:U,_writableState:w}=B;if(U&&U.autoDestroy||w&&w.autoDestroy)B.destroy(V);else B.emit("error",V)}q.exports={destroy:Q,undestroy:Z,errorOrDestroy:W}}),O1=h0(($,q)=>{var Q={};function K(B,V,U){if(!U)U=Error;function w(M,k,f){if(typeof V==="string")return V;else return V(M,k,f)}class F extends U{constructor(M,k,f){super(w(M,k,f))}}F.prototype.name=U.name,F.prototype.code=B,Q[B]=F}function J(B,V){if(Array.isArray(B)){let U=B.length;if(B=B.map((w)=>String(w)),U>2)return`one of ${V} ${B.slice(0,U-1).join(", ")}, or `+B[U-1];else if(U===2)return`one of ${V} ${B[0]} or ${B[1]}`;else return`of ${V} ${B[0]}`}else return`of ${V} ${String(B)}`}function Z(B,V,U){return B.substr(!U||U<0?0:+U,V.length)===V}function G(B,V,U){if(U===void 0||U>B.length)U=B.length;return B.substring(U-V.length,U)===V}function W(B,V,U){if(typeof U!=="number")U=0;if(U+V.length>B.length)return!1;else return B.indexOf(V,U)!==-1}K("ERR_INVALID_OPT_VALUE",function(B,V){return'The value "'+V+'" is invalid for option "'+B+'"'},TypeError),K("ERR_INVALID_ARG_TYPE",function(B,V,U){let w;if(typeof V==="string"&&Z(V,"not "))w="must not be",V=V.replace(/^not /,"");else w="must be";let F;if(G(B," argument"))F=`The ${B} ${w} ${J(V,"type")}`;else{let M=W(B,".")?"property":"argument";F=`The "${B}" ${M} ${w} ${J(V,"type")}`}return F+=`. Received type ${typeof U}`,F},TypeError),K("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),K("ERR_METHOD_NOT_IMPLEMENTED",function(B){return"The "+B+" method is not implemented"}),K("ERR_STREAM_PREMATURE_CLOSE","Premature close"),K("ERR_STREAM_DESTROYED",function(B){return"Cannot call "+B+" after a stream was destroyed"}),K("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),K("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),K("ERR_STREAM_WRITE_AFTER_END","write after end"),K("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),K("ERR_UNKNOWN_ENCODING",function(B){return"Unknown encoding: "+B},TypeError),K("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),$.codes=Q}),bK=h0(($,q)=>{var Q=O1().codes.ERR_INVALID_OPT_VALUE;function K(Z,G,W){return Z.highWaterMark!=null?Z.highWaterMark:G?Z[W]:null}function J(Z,G,W,B){var V=K(G,B,W);if(V!=null){if(!(isFinite(V)&&Math.floor(V)===V)||V<0){var U=B?W:"highWaterMark";throw new Q(U,V)}return Math.floor(V)}return Z.objectMode?16:16384}q.exports={getHighWaterMark:J}}),vW=h0(($,q)=>{q.exports=(G8(),X0(Z8)).deprecate}),nK=h0(($,q)=>{q.exports=X;function Q(S){var b=this;this.next=null,this.entry=null,this.finish=function(){w0(b,S)}}var K;X.WritableState=d;var J={deprecate:vW()},Z=a1(),G=(t0(),X0(K2)).Buffer,W=(typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function B(S){return G.from(S)}function V(S){return G.isBuffer(S)||S instanceof W}var U=cK(),w=bK(),F=w.getHighWaterMark,M=O1().codes,k=M.ERR_INVALID_ARG_TYPE,f=M.ERR_METHOD_NOT_IMPLEMENTED,L=M.ERR_MULTIPLE_CALLBACK,D=M.ERR_STREAM_CANNOT_PIPE,z=M.ERR_STREAM_DESTROYED,N=M.ERR_STREAM_NULL_VALUES,H=M.ERR_STREAM_WRITE_AFTER_END,v=M.ERR_UNKNOWN_ENCODING,j=U.errorOrDestroy;x1()(X,Z);function n(){}function d(S,b,O){if(K=K||L6(),S=S||{},typeof O!=="boolean")O=b instanceof K;if(this.objectMode=!!S.objectMode,O)this.objectMode=this.objectMode||!!S.writableObjectMode;this.highWaterMark=F(this,S,"writableHighWaterMark",O),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var E=S.decodeStrings===!1;this.decodeStrings=!E,this.defaultEncoding=S.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){Z0(b,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=S.emitClose!==!1,this.autoDestroy=!!S.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Q(this)}d.prototype.getBuffer=function(){var S=this.bufferedRequest,b=[];while(S)b.push(S),S=S.next;return b},function(){try{Object.defineProperty(d.prototype,"buffer",{get:J.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(S){}}();var _;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function")_=Function.prototype[Symbol.hasInstance],Object.defineProperty(X,Symbol.hasInstance,{value:function(S){if(_.call(this,S))return!0;if(this!==X)return!1;return S&&S._writableState instanceof d}});else _=function(S){return S instanceof this};function X(S){K=K||L6();var b=this instanceof K;if(!b&&!_.call(X,this))return new X(S);if(this._writableState=new d(S,this,b),this.writable=!0,S){if(typeof S.write==="function")this._write=S.write;if(typeof S.writev==="function")this._writev=S.writev;if(typeof S.destroy==="function")this._destroy=S.destroy;if(typeof S.final==="function")this._final=S.final}Z.call(this)}X.prototype.pipe=function(){j(this,new D)};function P(S,b){var O=new H;j(S,O),process.nextTick(b,O)}function g(S,b,O,E){var a;if(O===null)a=new N;else if(typeof O!=="string"&&!b.objectMode)a=new k("chunk",["string","Buffer"],O);if(a)return j(S,a),process.nextTick(E,a),!1;return!0}X.prototype.write=function(S,b,O){var E=this._writableState,a=!1,K0=!E.objectMode&&V(S);if(K0&&!G.isBuffer(S))S=B(S);if(typeof b==="function")O=b,b=null;if(K0)b="buffer";else if(!b)b=E.defaultEncoding;if(typeof O!=="function")O=n;if(E.ending)P(this,O);else if(K0||g(this,E,S,O))E.pendingcb++,a=h(this,E,K0,S,b,O);return a},X.prototype.cork=function(){this._writableState.corked++},X.prototype.uncork=function(){var S=this._writableState;if(S.corked){if(S.corked--,!S.writing&&!S.corked&&!S.bufferProcessing&&S.bufferedRequest)W0(this,S)}},X.prototype.setDefaultEncoding=function(S){if(typeof S==="string")S=S.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((S+"").toLowerCase())>-1))throw new v(S);return this._writableState.defaultEncoding=S,this},Object.defineProperty(X.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function c(S,b,O){if(!S.objectMode&&S.decodeStrings!==!1&&typeof b==="string")b=G.from(b,O);return b}Object.defineProperty(X.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function h(S,b,O,E,a,K0){if(!O){var R=c(b,E,a);if(E!==R)O=!0,a="buffer",E=R}var Y=b.objectMode?1:E.length;b.length+=Y;var C=b.length{var Q=Object.keys||function(w){var F=[];for(var M in w)F.push(M);return F};q.exports=B;var K=dK(),J=nK();x1()(B,K);{Z=Q(J.prototype);for(W=0;W{/*! safe-buffer. MIT License. Feross Aboukhadijeh */var Q=(t0(),X0(K2)),K=Q.Buffer;function J(G,W){for(var B in G)W[B]=G[B]}if(K.from&&K.alloc&&K.allocUnsafe&&K.allocUnsafeSlow)q.exports=Q;else J(Q,$),$.Buffer=Z;function Z(G,W,B){return K(G,W,B)}Z.prototype=Object.create(K.prototype),J(K,Z),Z.from=function(G,W,B){if(typeof G==="number")throw TypeError("Argument must not be a number");return K(G,W,B)},Z.alloc=function(G,W,B){if(typeof G!=="number")throw TypeError("Argument must be a number");var V=K(G);if(W!==void 0)if(typeof B==="string")V.fill(W,B);else V.fill(W);else V.fill(0);return V},Z.allocUnsafe=function(G){if(typeof G!=="number")throw TypeError("Argument must be a number");return K(G)},Z.allocUnsafeSlow=function(G){if(typeof G!=="number")throw TypeError("Argument must be a number");return Q.SlowBuffer(G)}}),EK=h0(($)=>{var q=fW().Buffer,Q=q.isEncoding||function(z){switch(z=""+z,z&&z.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function K(z){if(!z)return"utf8";var N;while(!0)switch(z){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return z;default:if(N)return;z=(""+z).toLowerCase(),N=!0}}function J(z){var N=K(z);if(typeof N!=="string"&&(q.isEncoding===Q||!Q(z)))throw Error("Unknown encoding: "+z);return N||z}$.StringDecoder=Z;function Z(z){this.encoding=J(z);var N;switch(this.encoding){case"utf16le":this.text=F,this.end=M,N=4;break;case"utf8":this.fillLast=V,N=4;break;case"base64":this.text=k,this.end=f,N=3;break;default:this.write=L,this.end=D;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=q.allocUnsafe(N)}Z.prototype.write=function(z){if(z.length===0)return"";var N,H;if(this.lastNeed){if(N=this.fillLast(z),N===void 0)return"";H=this.lastNeed,this.lastNeed=0}else H=0;if(H>5===6)return 2;else if(z>>4===14)return 3;else if(z>>3===30)return 4;return z>>6===2?-1:-2}function W(z,N,H){var v=N.length-1;if(v=0){if(j>0)z.lastNeed=j-1;return j}if(--v=0){if(j>0)z.lastNeed=j-2;return j}if(--v=0){if(j>0)if(j===2)j=0;else z.lastNeed=j-3;return j}return 0}function B(z,N,H){if((N[0]&192)!==128)return z.lastNeed=0,"�";if(z.lastNeed>1&&N.length>1){if((N[1]&192)!==128)return z.lastNeed=1,"�";if(z.lastNeed>2&&N.length>2){if((N[2]&192)!==128)return z.lastNeed=2,"�"}}}function V(z){var N=this.lastTotal-this.lastNeed,H=B(this,z,N);if(H!==void 0)return H;if(this.lastNeed<=z.length)return z.copy(this.lastChar,N,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);z.copy(this.lastChar,N,0,z.length),this.lastNeed-=z.length}function U(z,N){var H=W(this,z,N);if(!this.lastNeed)return z.toString("utf8",N);this.lastTotal=H;var v=z.length-(H-this.lastNeed);return z.copy(this.lastChar,0,v),z.toString("utf8",N,v)}function w(z){var N=z&&z.length?this.write(z):"";if(this.lastNeed)return N+"�";return N}function F(z,N){if((z.length-N)%2===0){var H=z.toString("utf16le",N);if(H){var v=H.charCodeAt(H.length-1);if(v>=55296&&v<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=z[z.length-2],this.lastChar[1]=z[z.length-1],H.slice(0,-1)}return H}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=z[z.length-1],z.toString("utf16le",N,z.length-1)}function M(z){var N=z&&z.length?this.write(z):"";if(this.lastNeed){var H=this.lastTotal-this.lastNeed;return N+this.lastChar.toString("utf16le",0,H)}return N}function k(z,N){var H=(z.length-N)%3;if(H===0)return z.toString("base64",N);if(this.lastNeed=3-H,this.lastTotal=3,H===1)this.lastChar[0]=z[z.length-1];else this.lastChar[0]=z[z.length-2],this.lastChar[1]=z[z.length-1];return z.toString("base64",N,z.length-H)}function f(z){var N=z&&z.length?this.write(z):"";if(this.lastNeed)return N+this.lastChar.toString("base64",0,3-this.lastNeed);return N}function L(z){return z.toString(this.encoding)}function D(z){return z&&z.length?this.write(z):""}}),f7=h0(($,q)=>{var Q=O1().codes.ERR_STREAM_PREMATURE_CLOSE;function K(W){var B=!1;return function(){if(B)return;B=!0;for(var V=arguments.length,U=Array(V),w=0;w{var Q;function K(v,j,n){if(j=J(j),j in v)Object.defineProperty(v,j,{value:n,enumerable:!0,configurable:!0,writable:!0});else v[j]=n;return v}function J(v){var j=Z(v,"string");return typeof j==="symbol"?j:String(j)}function Z(v,j){if(typeof v!=="object"||v===null)return v;var n=v[Symbol.toPrimitive];if(n!==void 0){var d=n.call(v,j||"default");if(typeof d!=="object")return d;throw TypeError("@@toPrimitive must return a primitive value.")}return(j==="string"?String:Number)(v)}var G=f7(),W=Symbol("lastResolve"),B=Symbol("lastReject"),V=Symbol("error"),U=Symbol("ended"),w=Symbol("lastPromise"),F=Symbol("handlePromise"),M=Symbol("stream");function k(v,j){return{value:v,done:j}}function f(v){var j=v[W];if(j!==null){var n=v[M].read();if(n!==null)v[w]=null,v[W]=null,v[B]=null,j(k(n,!1))}}function L(v){process.nextTick(f,v)}function D(v,j){return function(n,d){v.then(function(){if(j[U]){n(k(void 0,!0));return}j[F](n,d)},d)}}var z=Object.getPrototypeOf(function(){}),N=Object.setPrototypeOf((Q={get stream(){return this[M]},next:function(){var v=this,j=this[V];if(j!==null)return Promise.reject(j);if(this[U])return Promise.resolve(k(void 0,!0));if(this[M].destroyed)return new Promise(function(X,P){process.nextTick(function(){if(v[V])P(v[V]);else X(k(void 0,!0))})});var n=this[w],d;if(n)d=new Promise(D(n,this));else{var _=this[M].read();if(_!==null)return Promise.resolve(k(_,!1));d=new Promise(this[F])}return this[w]=d,d}},K(Q,Symbol.asyncIterator,function(){return this}),K(Q,"return",function(){var v=this;return new Promise(function(j,n){v[M].destroy(null,function(d){if(d){n(d);return}j(k(void 0,!0))})})}),Q),z),H=function(v){var j,n=Object.create(N,(j={},K(j,M,{value:v,writable:!0}),K(j,W,{value:null,writable:!0}),K(j,B,{value:null,writable:!0}),K(j,V,{value:null,writable:!0}),K(j,U,{value:v._readableState.endEmitted,writable:!0}),K(j,F,{value:function(d,_){var X=n[M].read();if(X)n[w]=null,n[W]=null,n[B]=null,d(k(X,!1));else n[W]=d,n[B]=_},writable:!0}),j));return n[w]=null,G(v,function(d){if(d&&d.code!=="ERR_STREAM_PREMATURE_CLOSE"){var _=n[B];if(_!==null)n[w]=null,n[W]=null,n[B]=null,_(d);n[V]=d;return}var X=n[W];if(X!==null)n[w]=null,n[W]=null,n[B]=null,X(k(void 0,!0));n[U]=!0}),v.on("readable",L.bind(null,n)),n};q.exports=H}),IW=h0(($,q)=>{function Q(w,F,M,k,f,L,D){try{var z=w[L](D),N=z.value}catch(H){M(H);return}if(z.done)F(N);else Promise.resolve(N).then(k,f)}function K(w){return function(){var F=this,M=arguments;return new Promise(function(k,f){var L=w.apply(F,M);function D(N){Q(L,k,f,D,z,"next",N)}function z(N){Q(L,k,f,D,z,"throw",N)}D(void 0)})}}function J(w,F){var M=Object.keys(w);if(Object.getOwnPropertySymbols){var k=Object.getOwnPropertySymbols(w);F&&(k=k.filter(function(f){return Object.getOwnPropertyDescriptor(w,f).enumerable})),M.push.apply(M,k)}return M}function Z(w){for(var F=1;F{q.exports=g;var Q;g.ReadableState=P;var K=(i1(),X0(p1)).EventEmitter,J=function(R,Y){return R.listeners(Y).length},Z=a1(),G=(t0(),X0(K2)).Buffer,W=(typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function B(R){return G.from(R)}function V(R){return G.isBuffer(R)||R instanceof W}var U=(G8(),X0(Z8)),w;if(U&&U.debuglog)w=U.debuglog("stream");else w=function(){};var F=HW(),M=cK(),k=bK(),f=k.getHighWaterMark,L=O1().codes,D=L.ERR_INVALID_ARG_TYPE,z=L.ERR_STREAM_PUSH_AFTER_EOF,N=L.ERR_METHOD_NOT_IMPLEMENTED,H=L.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,v,j,n;x1()(g,Z);var d=M.errorOrDestroy,_=["error","close","destroy","pause","resume"];function X(R,Y,C){if(typeof R.prependListener==="function")return R.prependListener(Y,C);if(!R._events||!R._events[Y])R.on(Y,C);else if(Array.isArray(R._events[Y]))R._events[Y].unshift(C);else R._events[Y]=[C,R._events[Y]]}function P(R,Y,C){if(Q=Q||L6(),R=R||{},typeof C!=="boolean")C=Y instanceof Q;if(this.objectMode=!!R.objectMode,C)this.objectMode=this.objectMode||!!R.readableObjectMode;if(this.highWaterMark=f(this,R,"readableHighWaterMark",C),this.buffer=new F,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=R.emitClose!==!1,this.autoDestroy=!!R.autoDestroy,this.destroyed=!1,this.defaultEncoding=R.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,R.encoding){if(!v)v=EK().StringDecoder;this.decoder=new v(R.encoding),this.encoding=R.encoding}}function g(R){if(Q=Q||L6(),!(this instanceof g))return new g(R);var Y=this instanceof Q;if(this._readableState=new P(R,this,Y),this.readable=!0,R){if(typeof R.read==="function")this._read=R.read;if(typeof R.destroy==="function")this._destroy=R.destroy}Z.call(this)}Object.defineProperty(g.prototype,"destroyed",{enumerable:!1,get:function(){if(this._readableState===void 0)return!1;return this._readableState.destroyed},set:function(R){if(!this._readableState)return;this._readableState.destroyed=R}}),g.prototype.destroy=M.destroy,g.prototype._undestroy=M.undestroy,g.prototype._destroy=function(R,Y){Y(R)},g.prototype.push=function(R,Y){var C=this._readableState,u;if(!C.objectMode){if(typeof R==="string"){if(Y=Y||C.defaultEncoding,Y!==C.encoding)R=G.from(R,Y),Y="";u=!0}}else u=!0;return c(this,R,Y,!1,u)},g.prototype.unshift=function(R){return c(this,R,null,!0,!1)};function c(R,Y,C,u,e){w("readableAddChunk",Y);var r=R._readableState;if(Y===null)r.reading=!1,F0(R,r);else{var s;if(!e)s=x(r,Y);if(s)d(R,s);else if(r.objectMode||Y&&Y.length>0){if(typeof Y!=="string"&&!r.objectMode&&Object.getPrototypeOf(Y)!==G.prototype)Y=B(Y);if(u)if(r.endEmitted)d(R,new H);else h(R,r,Y,!0);else if(r.ended)d(R,new z);else if(r.destroyed)return!1;else if(r.reading=!1,r.decoder&&!C)if(Y=r.decoder.write(Y),r.objectMode||Y.length!==0)h(R,r,Y,!1);else y(R,r);else h(R,r,Y,!1)}else if(!u)r.reading=!1,y(R,r)}return!r.ended&&(r.length=l)R=l;else R--,R|=R>>>1,R|=R>>>2,R|=R>>>4,R|=R>>>8,R|=R>>>16,R++;return R}function Z0(R,Y){if(R<=0||Y.length===0&&Y.ended)return 0;if(Y.objectMode)return 1;if(R!==R)if(Y.flowing&&Y.length)return Y.buffer.head.data.length;else return Y.length;if(R>Y.highWaterMark)Y.highWaterMark=$0(R);if(R<=Y.length)return R;if(!Y.ended)return Y.needReadable=!0,0;return Y.length}g.prototype.read=function(R){w("read",R),R=parseInt(R,10);var Y=this._readableState,C=R;if(R!==0)Y.emittedReadable=!1;if(R===0&&Y.needReadable&&((Y.highWaterMark!==0?Y.length>=Y.highWaterMark:Y.length>0)||Y.ended)){if(w("read: emitReadable",Y.length,Y.ended),Y.length===0&&Y.ended)E(this);else p(this);return null}if(R=Z0(R,Y),R===0&&Y.ended){if(Y.length===0)E(this);return null}var u=Y.needReadable;if(w("need readable",u),Y.length===0||Y.length-R0)e=O(R,Y);else e=null;if(e===null)Y.needReadable=Y.length<=Y.highWaterMark,R=0;else Y.length-=R,Y.awaitDrain=0;if(Y.length===0){if(!Y.ended)Y.needReadable=!0;if(C!==R&&Y.ended)E(this)}if(e!==null)this.emit("data",e);return e};function F0(R,Y){if(w("onEofChunk"),Y.ended)return;if(Y.decoder){var C=Y.decoder.end();if(C&&C.length)Y.buffer.push(C),Y.length+=Y.objectMode?1:C.length}if(Y.ended=!0,Y.sync)p(R);else if(Y.needReadable=!1,!Y.emittedReadable)Y.emittedReadable=!0,W0(R)}function p(R){var Y=R._readableState;if(w("emitReadable",Y.needReadable,Y.emittedReadable),Y.needReadable=!1,!Y.emittedReadable)w("emitReadable",Y.flowing),Y.emittedReadable=!0,process.nextTick(W0,R)}function W0(R){var Y=R._readableState;if(w("emitReadable_",Y.destroyed,Y.length,Y.ended),!Y.destroyed&&(Y.length||Y.ended))R.emit("readable"),Y.emittedReadable=!1;Y.needReadable=!Y.flowing&&!Y.ended&&Y.length<=Y.highWaterMark,b(R)}function y(R,Y){if(!Y.readingMore)Y.readingMore=!0,process.nextTick(i,R,Y)}function i(R,Y){while(!Y.reading&&!Y.ended&&(Y.length1&&K0(u.pipes,R)!==-1)&&!G0)w("false write response, pause",u.awaitDrain),u.awaitDrain++;C.pause()}}function I0(O0){if(w("onerror",O0),q2(),R.removeListener("error",I0),J(R,"error")===0)d(R,O0)}X(R,"error",I0);function m0(){R.removeListener("finish",p0),q2()}R.once("close",m0);function p0(){w("onfinish"),R.removeListener("close",m0),q2()}R.once("finish",p0);function q2(){w("unpipe"),C.unpipe(R)}if(R.emit("pipe",C),!u.flowing)w("pipe resume"),C.resume();return R};function U0(R){return function(){var Y=R._readableState;if(w("pipeOnDrain",Y.awaitDrain),Y.awaitDrain)Y.awaitDrain--;if(Y.awaitDrain===0&&J(R,"data"))Y.flowing=!0,b(R)}}g.prototype.unpipe=function(R){var Y=this._readableState,C={hasUnpiped:!1};if(Y.pipesCount===0)return this;if(Y.pipesCount===1){if(R&&R!==Y.pipes)return this;if(!R)R=Y.pipes;if(Y.pipes=null,Y.pipesCount=0,Y.flowing=!1,R)R.emit("unpipe",this,C);return this}if(!R){var{pipes:u,pipesCount:e}=Y;Y.pipes=null,Y.pipesCount=0,Y.flowing=!1;for(var r=0;r0,u.flowing!==!1)this.resume()}else if(R==="readable"){if(!u.endEmitted&&!u.readableListening){if(u.readableListening=u.needReadable=!0,u.flowing=!1,u.emittedReadable=!1,w("on readable",u.length,u.reading),u.length)p(this);else if(!u.reading)process.nextTick(V0,this)}}return C},g.prototype.addListener=g.prototype.on,g.prototype.removeListener=function(R,Y){var C=Z.prototype.removeListener.call(this,R,Y);if(R==="readable")process.nextTick(m,this);return C},g.prototype.removeAllListeners=function(R){var Y=Z.prototype.removeAllListeners.apply(this,arguments);if(R==="readable"||R===void 0)process.nextTick(m,this);return Y};function m(R){var Y=R._readableState;if(Y.readableListening=R.listenerCount("readable")>0,Y.resumeScheduled&&!Y.paused)Y.flowing=!0;else if(R.listenerCount("data")>0)R.resume()}function V0(R){w("readable nexttick read 0"),R.read(0)}g.prototype.resume=function(){var R=this._readableState;if(!R.flowing)w("resume"),R.flowing=!R.readableListening,w0(this,R);return R.paused=!1,this};function w0(R,Y){if(!Y.resumeScheduled)Y.resumeScheduled=!0,process.nextTick(S,R,Y)}function S(R,Y){if(w("resume",Y.reading),!Y.reading)R.read(0);if(Y.resumeScheduled=!1,R.emit("resume"),b(R),Y.flowing&&!Y.reading)R.read(0)}g.prototype.pause=function(){if(w("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1)w("pause"),this._readableState.flowing=!1,this.emit("pause");return this._readableState.paused=!0,this};function b(R){var Y=R._readableState;w("flow",Y.flowing);while(Y.flowing&&R.read()!==null);}if(g.prototype.wrap=function(R){var Y=this,C=this._readableState,u=!1;R.on("end",function(){if(w("wrapped end"),C.decoder&&!C.ended){var s=C.decoder.end();if(s&&s.length)Y.push(s)}Y.push(null)}),R.on("data",function(s){if(w("wrapped data"),C.decoder)s=C.decoder.write(s);if(C.objectMode&&(s===null||s===void 0))return;else if(!C.objectMode&&(!s||!s.length))return;var T=Y.push(s);if(!T)u=!0,R.pause()});for(var e in R)if(this[e]===void 0&&typeof R[e]==="function")this[e]=function(s){return function(){return R[s].apply(R,arguments)}}(e);for(var r=0;r<_.length;r++)R.on(_[r],this.emit.bind(this,_[r]));return this._read=function(s){if(w("wrapped _read",s),u)u=!1,R.resume()},this},typeof Symbol==="function")g.prototype[Symbol.asyncIterator]=function(){if(j===void 0)j=RW();return j(this)};Object.defineProperty(g.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(g.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(g.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(R){if(this._readableState)this._readableState.flowing=R}}),g._fromList=O,Object.defineProperty(g.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function O(R,Y){if(Y.length===0)return null;var C;if(Y.objectMode)C=Y.buffer.shift();else if(!R||R>=Y.length){if(Y.decoder)C=Y.buffer.join("");else if(Y.buffer.length===1)C=Y.buffer.first();else C=Y.buffer.concat(Y.length);Y.buffer.clear()}else C=Y.buffer.consume(R,Y.decoder);return C}function E(R){var Y=R._readableState;if(w("endReadable",Y.endEmitted),!Y.endEmitted)Y.ended=!0,process.nextTick(a,Y,R)}function a(R,Y){if(w("endReadableNT",R.endEmitted,R.length),!R.endEmitted&&R.length===0){if(R.endEmitted=!0,Y.readable=!1,Y.emit("end"),R.autoDestroy){var C=Y._writableState;if(!C||C.autoDestroy&&C.finished)Y.destroy()}}}if(typeof Symbol==="function")g.from=function(R,Y){if(n===void 0)n=IW();return n(g,R,Y)};function K0(R,Y){for(var C=0,u=R.length;C{q.exports=V;var Q=O1().codes,K=Q.ERR_METHOD_NOT_IMPLEMENTED,J=Q.ERR_MULTIPLE_CALLBACK,Z=Q.ERR_TRANSFORM_ALREADY_TRANSFORMING,G=Q.ERR_TRANSFORM_WITH_LENGTH_0,W=L6();x1()(V,W);function B(F,M){var k=this._transformState;k.transforming=!1;var f=k.writecb;if(f===null)return this.emit("error",new J);if(k.writechunk=null,k.writecb=null,M!=null)this.push(M);f(F);var L=this._readableState;if(L.reading=!1,L.needReadable||L.length{q.exports=K;var Q=mK();x1()(K,Q);function K(J){if(!(this instanceof K))return new K(J);Q.call(this,J)}K.prototype._transform=function(J,Z,G){G(null,J)}}),jW=h0(($,q)=>{var Q;function K(k){var f=!1;return function(){if(f)return;f=!0,k.apply(void 0,arguments)}}var J=O1().codes,Z=J.ERR_MISSING_ARGS,G=J.ERR_STREAM_DESTROYED;function W(k){if(k)throw k}function B(k){return k.setHeader&&typeof k.abort==="function"}function V(k,f,L,D){D=K(D);var z=!1;if(k.on("close",function(){z=!0}),Q===void 0)Q=f7();Q(k,{readable:f,writable:L},function(H){if(H)return D(H);z=!0,D()});var N=!1;return function(H){if(z)return;if(N)return;if(N=!0,B(k))return k.abort();if(typeof k.destroy==="function")return k.destroy();D(H||new G("pipe"))}}function U(k){k()}function w(k,f){return k.pipe(f)}function F(k){if(!k.length)return W;if(typeof k[k.length-1]!=="function")return W;return k.pop()}function M(){for(var k=arguments.length,f=Array(k),L=0;L0;return V(H,j,n,function(d){if(!z)z=d;if(d)N.forEach(U);if(j)return;N.forEach(U),D(z)})});return f.reduce(w)}q.exports=M}),pK=h0(($,q)=>{var Q=a1();$=q.exports=dK(),$.Stream=Q||$,$.Readable=$,$.Writable=nK(),$.Duplex=L6(),$.Transform=mK(),$.PassThrough=CW(),$.finished=f7(),$.pipeline=jW()}),iK=h0(($)=>{var q=_K(),Q=x1(),K=pK(),J=$.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},Z=$.IncomingMessage=function(G,W,B,V){var U=this;if(K.Readable.call(U),U._mode=B,U.headers={},U.rawHeaders=[],U.trailers={},U.rawTrailers=[],U.on("end",function(){process.nextTick(function(){U.emit("close")})}),B==="fetch"){let D=function(){M.read().then(function(z){if(U._destroyed)return;if(V(z.done),z.done){U.push(null);return}U.push(Buffer.from(z.value)),D()}).catch(function(z){if(V(!0),!U._destroyed)U.emit("error",z)})};var w=D;if(U._fetchResponse=W,U.url=W.url,U.statusCode=W.status,U.statusMessage=W.statusText,W.headers.forEach(function(z,N){U.headers[N.toLowerCase()]=z,U.rawHeaders.push(N,z)}),q.writableStream){var F=new WritableStream({write:function(z){return V(!1),new Promise(function(N,H){if(U._destroyed)H();else if(U.push(Buffer.from(z)))N();else U._resumeFetch=N})},close:function(){if(V(!0),!U._destroyed)U.push(null)},abort:function(z){if(V(!0),!U._destroyed)U.emit("error",z)}});try{W.body.pipeTo(F).catch(function(z){if(V(!0),!U._destroyed)U.emit("error",z)});return}catch(z){}}var M=W.body.getReader();D()}else{U._xhr=G,U._pos=0,U.url=G.responseURL,U.statusCode=G.status,U.statusMessage=G.statusText;var k=G.getAllResponseHeaders().split(/\r?\n/);if(k.forEach(function(D){var z=D.match(/^([^:]+):\s*(.*)/);if(z){var N=z[1].toLowerCase();if(N==="set-cookie"){if(U.headers[N]===void 0)U.headers[N]=[];U.headers[N].push(z[2])}else if(U.headers[N]!==void 0)U.headers[N]+=", "+z[2];else U.headers[N]=z[2];U.rawHeaders.push(z[1],z[2])}}),U._charset="x-user-defined",!q.overrideMimeType){var f=U.rawHeaders["mime-type"];if(f){var L=f.match(/;\s*charset=([^;])(;|$)/);if(L)U._charset=L[1].toLowerCase()}if(!U._charset)U._charset="utf-8"}}};Q(Z,K.Readable),Z.prototype._read=function(){var G=this,W=G._resumeFetch;if(W)G._resumeFetch=null,W()},Z.prototype._onXHRProgress=function(G){var W=this,B=W._xhr,V=null;switch(W._mode){case"text":if(V=B.responseText,V.length>W._pos){var U=V.substr(W._pos);if(W._charset==="x-user-defined"){var w=Buffer.alloc(U.length);for(var F=0;FW._pos)W.push(Buffer.from(new Uint8Array(M.result.slice(W._pos)))),W._pos=M.result.byteLength},M.onload=function(){G(!0),W.push(null)},M.readAsArrayBuffer(V);break}if(W._xhr.readyState===J.DONE&&W._mode!=="ms-stream")G(!0),W.push(null)}}),gW=h0(($,q)=>{var Q=_K(),K=x1(),J=iK(),Z=pK(),G=J.IncomingMessage,W=J.readyStates;function B(F,M){if(Q.fetch&&M)return"fetch";else if(Q.mozchunkedarraybuffer)return"moz-chunked-arraybuffer";else if(Q.msstream)return"ms-stream";else if(Q.arraybuffer&&F)return"arraybuffer";else return"text"}var V=q.exports=function(F){var M=this;if(Z.Writable.call(M),M._opts=F,M._body=[],M._headers={},F.auth)M.setHeader("Authorization","Basic "+Buffer.from(F.auth).toString("base64"));Object.keys(F.headers).forEach(function(L){M.setHeader(L,F.headers[L])});var k,f=!0;if(F.mode==="disable-fetch"||"requestTimeout"in F&&!Q.abortController)f=!1,k=!0;else if(F.mode==="prefer-streaming")k=!1;else if(F.mode==="allow-wrong-content-type")k=!Q.overrideMimeType;else if(!F.mode||F.mode==="default"||F.mode==="prefer-fast")k=!0;else throw Error("Invalid value for opts.mode");M._mode=B(k,f),M._fetchTimer=null,M._socketTimeout=null,M._socketTimer=null,M.on("finish",function(){M._onFinish()})};K(V,Z.Writable),V.prototype.setHeader=function(F,M){var k=this,f=F.toLowerCase();if(w.indexOf(f)!==-1)return;k._headers[f]={name:F,value:M}},V.prototype.getHeader=function(F){var M=this._headers[F.toLowerCase()];if(M)return M.value;return null},V.prototype.removeHeader=function(F){var M=this;delete M._headers[F.toLowerCase()]},V.prototype._onFinish=function(){var F=this;if(F._destroyed)return;var M=F._opts;if("timeout"in M&&M.timeout!==0)F.setTimeout(M.timeout);var k=F._headers,f=null;if(M.method!=="GET"&&M.method!=="HEAD")f=new Blob(F._body,{type:(k["content-type"]||{}).value||""});var L=[];if(Object.keys(k).forEach(function(H){var v=k[H].name,j=k[H].value;if(Array.isArray(j))j.forEach(function(n){L.push([v,n])});else L.push([v,j])}),F._mode==="fetch"){var D=null;if(Q.abortController){var z=new AbortController;if(D=z.signal,F._fetchAbortController=z,"requestTimeout"in M&&M.requestTimeout!==0)F._fetchTimer=globalThis.setTimeout(function(){if(F.emit("requestTimeout"),F._fetchAbortController)F._fetchAbortController.abort()},M.requestTimeout)}globalThis.fetch(F._opts.url,{method:F._opts.method,headers:L,body:f||void 0,mode:"cors",credentials:M.withCredentials?"include":"same-origin",signal:D}).then(function(H){F._fetchResponse=H,F._resetTimers(!1),F._connect()},function(H){if(F._resetTimers(!0),!F._destroyed)F.emit("error",H)})}else{var N=F._xhr=new globalThis.XMLHttpRequest;try{N.open(F._opts.method,F._opts.url,!0)}catch(H){process.nextTick(function(){F.emit("error",H)});return}if("responseType"in N)N.responseType=F._mode;if("withCredentials"in N)N.withCredentials=!!M.withCredentials;if(F._mode==="text"&&"overrideMimeType"in N)N.overrideMimeType("text/plain; charset=x-user-defined");if("requestTimeout"in M)N.timeout=M.requestTimeout,N.ontimeout=function(){F.emit("requestTimeout")};if(L.forEach(function(H){N.setRequestHeader(H[0],H[1])}),F._response=null,N.onreadystatechange=function(){switch(N.readyState){case W.LOADING:case W.DONE:F._onXHRProgress();break}},F._mode==="moz-chunked-arraybuffer")N.onprogress=function(){F._onXHRProgress()};N.onerror=function(){if(F._destroyed)return;F._resetTimers(!0),F.emit("error",Error("XHR error"))};try{N.send(f)}catch(H){process.nextTick(function(){F.emit("error",H)});return}}};function U(F){try{var M=F.status;return M!==null&&M!==0}catch(k){return!1}}V.prototype._onXHRProgress=function(){var F=this;if(F._resetTimers(!1),!U(F._xhr)||F._destroyed)return;if(!F._response)F._connect();F._response._onXHRProgress(F._resetTimers.bind(F))},V.prototype._connect=function(){var F=this;if(F._destroyed)return;F._response=new G(F._xhr,F._fetchResponse,F._mode,F._resetTimers.bind(F)),F._response.on("error",function(M){F.emit("error",M)}),F.emit("response",F._response)},V.prototype._write=function(F,M,k){var f=this;f._body.push(F),k()},V.prototype._resetTimers=function(F){var M=this;if(globalThis.clearTimeout(M._socketTimer),M._socketTimer=null,F)globalThis.clearTimeout(M._fetchTimer),M._fetchTimer=null;else if(M._socketTimeout)M._socketTimer=globalThis.setTimeout(function(){M.emit("timeout")},M._socketTimeout)},V.prototype.abort=V.prototype.destroy=function(F){var M=this;if(M._destroyed=!0,M._resetTimers(!0),M._response)M._response._destroyed=!0;if(M._xhr)M._xhr.abort();else if(M._fetchAbortController)M._fetchAbortController.abort();if(F)M.emit("error",F)},V.prototype.end=function(F,M,k){var f=this;if(typeof F==="function")k=F,F=void 0;Z.Writable.prototype.end.call(f,F,M,k)},V.prototype.setTimeout=function(F,M){var k=this;if(M)k.once("timeout",M);k._socketTimeout=F,k._resetTimers(!1)},V.prototype.flushHeaders=function(){},V.prototype.setNoDelay=function(){},V.prototype.setSocketKeepAlive=function(){};var w=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"]}),AW=h0(($,q)=>{q.exports=K;var Q=Object.prototype.hasOwnProperty;function K(){var J={};for(var Z=0;Z{q.exports=(I7(),X0(R7)).STATUS_CODES}),yW=h0(($)=>{var q=gW(),Q=iK(),K=AW(),J=XW(),Z=(v7(),X0(H7)),G=$;G.request=function(W,B){if(typeof W==="string")W=Z.parse(W);else W=K(W);var V=globalThis.location.protocol.search(/^https?:$/)===-1?"http:":"",U=W.protocol||V,w=W.hostname||W.host,F=W.port,M=W.path||"/";if(w&&w.indexOf(":")!==-1)w="["+w+"]";W.url=(w?U+"//"+w:"")+(F?":"+F:"")+M,W.method=(W.method||"GET").toUpperCase(),W.headers=W.headers||{};var k=new q(W);if(B)k.on("response",B);return k},G.get=function(W,B){var V=G.request(W,B);return V.end(),V},G.ClientRequest=q,G.IncomingMessage=Q.IncomingMessage,G.Agent=function(){},G.Agent.defaultMaxSockets=4,G.globalAgent=new G.Agent,G.STATUS_CODES=J,G.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"]}),oK=DW(yW(),1),{request:hW,get:xW,ClientRequest:OW,IncomingMessage:PW,Agent:TW,globalAgent:uW,STATUS_CODES:SW,METHODS:EW}=oK.default,_W=oK.default});var rK={};c1(rK,{validateHeaderValue:()=>GB,validateHeaderName:()=>ZB,setMaxIdleHTTPParsers:()=>UB,request:()=>VB,maxHeaderSize:()=>JB,globalAgent:()=>KB,get:()=>qB,default:()=>WB,createServer:()=>QB,ServerResponse:()=>$B,Server:()=>eW,STATUS_CODES:()=>tW,OutgoingMessage:()=>sW,METHODS:()=>rW,IncomingMessage:()=>lW,ClientRequest:()=>aW,Agent:()=>oW});var cW,bW,aK,nW,dW,mW=($,q,Q)=>{Q=$!=null?cW(bW($)):{};let K=q||!$||!$.__esModule?aK(Q,"default",{value:$,enumerable:!0}):Q;for(let J of nW($))if(!dW.call(K,J))aK(K,J,{get:()=>$[J],enumerable:!0});return K},pW=($,q)=>()=>(q||$((q={exports:{}}).exports,q),q.exports),iW,lK,oW,aW,lW,rW,sW,tW,eW,$B,QB,qB,KB,JB,VB,UB,ZB,GB,WB;var sK=b1(()=>{cW=Object.create,{getPrototypeOf:bW,defineProperty:aK,getOwnPropertyNames:nW}=Object,dW=Object.prototype.hasOwnProperty,iW=pW(($,q)=>{var Q=(I7(),X0(R7)),K=(v7(),X0(H7)),J=$;for(Z in Q)if(Q.hasOwnProperty(Z))J[Z]=Q[Z];var Z;J.request=function(W,B){return W=G(W),Q.request.call(this,W,B)},J.get=function(W,B){return W=G(W),Q.get.call(this,W,B)};function G(W){if(typeof W==="string")W=K.parse(W);if(!W.protocol)W.protocol="https:";if(W.protocol!=="https:")throw Error('Protocol "'+W.protocol+'" not supported. Expected "https:"');return W}}),lK=mW(iW(),1),{Agent:oW,ClientRequest:aW,IncomingMessage:lW,METHODS:rW,OutgoingMessage:sW,STATUS_CODES:tW,Server:eW,ServerResponse:$B,createServer:QB,get:qB,globalAgent:KB,maxHeaderSize:JB,request:VB,setMaxIdleHTTPParsers:UB,validateHeaderName:ZB,validateHeaderValue:GB}=lK,WB=lK});var J9=globalThis;if(typeof J9.global>"u")J9.global=globalThis;t0();var Qz=q9(y9(),1);var _7=q9(LK(),1);function W2($,q,Q,K){function J(Z){return Z instanceof Q?Z:new Q(function(G){G(Z)})}return new(Q||(Q=Promise))(function(Z,G){function W(U){try{V(K.next(U))}catch(w){G(w)}}function B(U){try{V(K.throw(U))}catch(w){G(w)}}function V(U){U.done?Z(U.value):J(U.value).then(W,B)}V((K=K.apply($,q||[])).next())})}var L0=914400,w8=12700,n0=`\r -`,BB=2147483649,C7=/^[0-9a-fA-F]{6}$/,zB=1.67,FB=27,H6={type:"solid",color:"666666",pt:1},KJ=[0.05,0.1,0.05,0.1],v6={color:"363636",pt:1},u1={color:"888888",style:"solid",size:1,cap:"flat"},Q2="000000",k2=12,MB=18,f6="LAYOUT_16x9",h7="DEFAULT",JJ="333333",P1={type:"outer",blur:3,offset:1.811023622047244,angle:90,color:"000000",opacity:0.35,rotateWithShape:!0},M8=[0.5,0.5,0.5,0.5],tK={color:"000000"},wB={size:8,color:"FFFFFF",opacity:0.75},o2="2094734552",N5="2094734553",B8="2094734554",x7="2094734555",VJ="2094734556",W8="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),z8=["C0504D","4F81BD","9BBB59","8064A2","4BACC6","F79646","628FC6","C86360","C0504D","4F81BD","9BBB59","8064A2","4BACC6","F79646","628FC6","C86360"],NB=["5DA5DA","FAA43A","60BD68","F17CB0","B2912F","B276B2","DECF3F","F15854","A7A7A7","5DA5DA","FAA43A","60BD68","F17CB0","B2912F","B276B2","DECF3F","F15854","A7A7A7"],R6;(function($){$.left="left",$.center="center",$.right="right",$.justify="justify"})(R6||(R6={}));var I6;(function($){$.b="b",$.ctr="ctr",$.t="t"})(I6||(I6={}));var UJ="{F7021451-1387-4CA6-816F-3879F97B5CBC}",O7;(function($){$.arraybuffer="arraybuffer",$.base64="base64",$.binarystring="binarystring",$.blob="blob",$.nodebuffer="nodebuffer",$.uint8array="uint8array"})(O7||(O7={}));var P7;(function($){$.area="area",$.bar="bar",$.bar3d="bar3D",$.bubble="bubble",$.bubble3d="bubble3D",$.doughnut="doughnut",$.line="line",$.pie="pie",$.radar="radar",$.scatter="scatter"})(P7||(P7={}));var T7;(function($){$.accentBorderCallout1="accentBorderCallout1",$.accentBorderCallout2="accentBorderCallout2",$.accentBorderCallout3="accentBorderCallout3",$.accentCallout1="accentCallout1",$.accentCallout2="accentCallout2",$.accentCallout3="accentCallout3",$.actionButtonBackPrevious="actionButtonBackPrevious",$.actionButtonBeginning="actionButtonBeginning",$.actionButtonBlank="actionButtonBlank",$.actionButtonDocument="actionButtonDocument",$.actionButtonEnd="actionButtonEnd",$.actionButtonForwardNext="actionButtonForwardNext",$.actionButtonHelp="actionButtonHelp",$.actionButtonHome="actionButtonHome",$.actionButtonInformation="actionButtonInformation",$.actionButtonMovie="actionButtonMovie",$.actionButtonReturn="actionButtonReturn",$.actionButtonSound="actionButtonSound",$.arc="arc",$.bentArrow="bentArrow",$.bentUpArrow="bentUpArrow",$.bevel="bevel",$.blockArc="blockArc",$.borderCallout1="borderCallout1",$.borderCallout2="borderCallout2",$.borderCallout3="borderCallout3",$.bracePair="bracePair",$.bracketPair="bracketPair",$.callout1="callout1",$.callout2="callout2",$.callout3="callout3",$.can="can",$.chartPlus="chartPlus",$.chartStar="chartStar",$.chartX="chartX",$.chevron="chevron",$.chord="chord",$.circularArrow="circularArrow",$.cloud="cloud",$.cloudCallout="cloudCallout",$.corner="corner",$.cornerTabs="cornerTabs",$.cube="cube",$.curvedDownArrow="curvedDownArrow",$.curvedLeftArrow="curvedLeftArrow",$.curvedRightArrow="curvedRightArrow",$.curvedUpArrow="curvedUpArrow",$.custGeom="custGeom",$.decagon="decagon",$.diagStripe="diagStripe",$.diamond="diamond",$.dodecagon="dodecagon",$.donut="donut",$.doubleWave="doubleWave",$.downArrow="downArrow",$.downArrowCallout="downArrowCallout",$.ellipse="ellipse",$.ellipseRibbon="ellipseRibbon",$.ellipseRibbon2="ellipseRibbon2",$.flowChartAlternateProcess="flowChartAlternateProcess",$.flowChartCollate="flowChartCollate",$.flowChartConnector="flowChartConnector",$.flowChartDecision="flowChartDecision",$.flowChartDelay="flowChartDelay",$.flowChartDisplay="flowChartDisplay",$.flowChartDocument="flowChartDocument",$.flowChartExtract="flowChartExtract",$.flowChartInputOutput="flowChartInputOutput",$.flowChartInternalStorage="flowChartInternalStorage",$.flowChartMagneticDisk="flowChartMagneticDisk",$.flowChartMagneticDrum="flowChartMagneticDrum",$.flowChartMagneticTape="flowChartMagneticTape",$.flowChartManualInput="flowChartManualInput",$.flowChartManualOperation="flowChartManualOperation",$.flowChartMerge="flowChartMerge",$.flowChartMultidocument="flowChartMultidocument",$.flowChartOfflineStorage="flowChartOfflineStorage",$.flowChartOffpageConnector="flowChartOffpageConnector",$.flowChartOnlineStorage="flowChartOnlineStorage",$.flowChartOr="flowChartOr",$.flowChartPredefinedProcess="flowChartPredefinedProcess",$.flowChartPreparation="flowChartPreparation",$.flowChartProcess="flowChartProcess",$.flowChartPunchedCard="flowChartPunchedCard",$.flowChartPunchedTape="flowChartPunchedTape",$.flowChartSort="flowChartSort",$.flowChartSummingJunction="flowChartSummingJunction",$.flowChartTerminator="flowChartTerminator",$.folderCorner="folderCorner",$.frame="frame",$.funnel="funnel",$.gear6="gear6",$.gear9="gear9",$.halfFrame="halfFrame",$.heart="heart",$.heptagon="heptagon",$.hexagon="hexagon",$.homePlate="homePlate",$.horizontalScroll="horizontalScroll",$.irregularSeal1="irregularSeal1",$.irregularSeal2="irregularSeal2",$.leftArrow="leftArrow",$.leftArrowCallout="leftArrowCallout",$.leftBrace="leftBrace",$.leftBracket="leftBracket",$.leftCircularArrow="leftCircularArrow",$.leftRightArrow="leftRightArrow",$.leftRightArrowCallout="leftRightArrowCallout",$.leftRightCircularArrow="leftRightCircularArrow",$.leftRightRibbon="leftRightRibbon",$.leftRightUpArrow="leftRightUpArrow",$.leftUpArrow="leftUpArrow",$.lightningBolt="lightningBolt",$.line="line",$.lineInv="lineInv",$.mathDivide="mathDivide",$.mathEqual="mathEqual",$.mathMinus="mathMinus",$.mathMultiply="mathMultiply",$.mathNotEqual="mathNotEqual",$.mathPlus="mathPlus",$.moon="moon",$.noSmoking="noSmoking",$.nonIsoscelesTrapezoid="nonIsoscelesTrapezoid",$.notchedRightArrow="notchedRightArrow",$.octagon="octagon",$.parallelogram="parallelogram",$.pentagon="pentagon",$.pie="pie",$.pieWedge="pieWedge",$.plaque="plaque",$.plaqueTabs="plaqueTabs",$.plus="plus",$.quadArrow="quadArrow",$.quadArrowCallout="quadArrowCallout",$.rect="rect",$.ribbon="ribbon",$.ribbon2="ribbon2",$.rightArrow="rightArrow",$.rightArrowCallout="rightArrowCallout",$.rightBrace="rightBrace",$.rightBracket="rightBracket",$.round1Rect="round1Rect",$.round2DiagRect="round2DiagRect",$.round2SameRect="round2SameRect",$.roundRect="roundRect",$.rtTriangle="rtTriangle",$.smileyFace="smileyFace",$.snip1Rect="snip1Rect",$.snip2DiagRect="snip2DiagRect",$.snip2SameRect="snip2SameRect",$.snipRoundRect="snipRoundRect",$.squareTabs="squareTabs",$.star10="star10",$.star12="star12",$.star16="star16",$.star24="star24",$.star32="star32",$.star4="star4",$.star5="star5",$.star6="star6",$.star7="star7",$.star8="star8",$.stripedRightArrow="stripedRightArrow",$.sun="sun",$.swooshArrow="swooshArrow",$.teardrop="teardrop",$.trapezoid="trapezoid",$.triangle="triangle",$.upArrow="upArrow",$.upArrowCallout="upArrowCallout",$.upDownArrow="upDownArrow",$.upDownArrowCallout="upDownArrowCallout",$.uturnArrow="uturnArrow",$.verticalScroll="verticalScroll",$.wave="wave",$.wedgeEllipseCallout="wedgeEllipseCallout",$.wedgeRectCallout="wedgeRectCallout",$.wedgeRoundRectCallout="wedgeRoundRectCallout"})(T7||(T7={}));var G2;(function($){$.text1="tx1",$.text2="tx2",$.background1="bg1",$.background2="bg2",$.accent1="accent1",$.accent2="accent2",$.accent3="accent3",$.accent4="accent4",$.accent5="accent5",$.accent6="accent6"})(G2||(G2={}));var u7;(function($){$.left="left",$.center="center",$.right="right",$.justify="justify"})(u7||(u7={}));var S7;(function($){$.top="top",$.middle="middle",$.bottom="bottom"})(S7||(S7={}));var B1;(function($){$.ACTION_BUTTON_BACK_OR_PREVIOUS="actionButtonBackPrevious",$.ACTION_BUTTON_BEGINNING="actionButtonBeginning",$.ACTION_BUTTON_CUSTOM="actionButtonBlank",$.ACTION_BUTTON_DOCUMENT="actionButtonDocument",$.ACTION_BUTTON_END="actionButtonEnd",$.ACTION_BUTTON_FORWARD_OR_NEXT="actionButtonForwardNext",$.ACTION_BUTTON_HELP="actionButtonHelp",$.ACTION_BUTTON_HOME="actionButtonHome",$.ACTION_BUTTON_INFORMATION="actionButtonInformation",$.ACTION_BUTTON_MOVIE="actionButtonMovie",$.ACTION_BUTTON_RETURN="actionButtonReturn",$.ACTION_BUTTON_SOUND="actionButtonSound",$.ARC="arc",$.BALLOON="wedgeRoundRectCallout",$.BENT_ARROW="bentArrow",$.BENT_UP_ARROW="bentUpArrow",$.BEVEL="bevel",$.BLOCK_ARC="blockArc",$.CAN="can",$.CHART_PLUS="chartPlus",$.CHART_STAR="chartStar",$.CHART_X="chartX",$.CHEVRON="chevron",$.CHORD="chord",$.CIRCULAR_ARROW="circularArrow",$.CLOUD="cloud",$.CLOUD_CALLOUT="cloudCallout",$.CORNER="corner",$.CORNER_TABS="cornerTabs",$.CROSS="plus",$.CUBE="cube",$.CURVED_DOWN_ARROW="curvedDownArrow",$.CURVED_DOWN_RIBBON="ellipseRibbon",$.CURVED_LEFT_ARROW="curvedLeftArrow",$.CURVED_RIGHT_ARROW="curvedRightArrow",$.CURVED_UP_ARROW="curvedUpArrow",$.CURVED_UP_RIBBON="ellipseRibbon2",$.CUSTOM_GEOMETRY="custGeom",$.DECAGON="decagon",$.DIAGONAL_STRIPE="diagStripe",$.DIAMOND="diamond",$.DODECAGON="dodecagon",$.DONUT="donut",$.DOUBLE_BRACE="bracePair",$.DOUBLE_BRACKET="bracketPair",$.DOUBLE_WAVE="doubleWave",$.DOWN_ARROW="downArrow",$.DOWN_ARROW_CALLOUT="downArrowCallout",$.DOWN_RIBBON="ribbon",$.EXPLOSION1="irregularSeal1",$.EXPLOSION2="irregularSeal2",$.FLOWCHART_ALTERNATE_PROCESS="flowChartAlternateProcess",$.FLOWCHART_CARD="flowChartPunchedCard",$.FLOWCHART_COLLATE="flowChartCollate",$.FLOWCHART_CONNECTOR="flowChartConnector",$.FLOWCHART_DATA="flowChartInputOutput",$.FLOWCHART_DECISION="flowChartDecision",$.FLOWCHART_DELAY="flowChartDelay",$.FLOWCHART_DIRECT_ACCESS_STORAGE="flowChartMagneticDrum",$.FLOWCHART_DISPLAY="flowChartDisplay",$.FLOWCHART_DOCUMENT="flowChartDocument",$.FLOWCHART_EXTRACT="flowChartExtract",$.FLOWCHART_INTERNAL_STORAGE="flowChartInternalStorage",$.FLOWCHART_MAGNETIC_DISK="flowChartMagneticDisk",$.FLOWCHART_MANUAL_INPUT="flowChartManualInput",$.FLOWCHART_MANUAL_OPERATION="flowChartManualOperation",$.FLOWCHART_MERGE="flowChartMerge",$.FLOWCHART_MULTIDOCUMENT="flowChartMultidocument",$.FLOWCHART_OFFLINE_STORAGE="flowChartOfflineStorage",$.FLOWCHART_OFFPAGE_CONNECTOR="flowChartOffpageConnector",$.FLOWCHART_OR="flowChartOr",$.FLOWCHART_PREDEFINED_PROCESS="flowChartPredefinedProcess",$.FLOWCHART_PREPARATION="flowChartPreparation",$.FLOWCHART_PROCESS="flowChartProcess",$.FLOWCHART_PUNCHED_TAPE="flowChartPunchedTape",$.FLOWCHART_SEQUENTIAL_ACCESS_STORAGE="flowChartMagneticTape",$.FLOWCHART_SORT="flowChartSort",$.FLOWCHART_STORED_DATA="flowChartOnlineStorage",$.FLOWCHART_SUMMING_JUNCTION="flowChartSummingJunction",$.FLOWCHART_TERMINATOR="flowChartTerminator",$.FOLDED_CORNER="folderCorner",$.FRAME="frame",$.FUNNEL="funnel",$.GEAR_6="gear6",$.GEAR_9="gear9",$.HALF_FRAME="halfFrame",$.HEART="heart",$.HEPTAGON="heptagon",$.HEXAGON="hexagon",$.HORIZONTAL_SCROLL="horizontalScroll",$.ISOSCELES_TRIANGLE="triangle",$.LEFT_ARROW="leftArrow",$.LEFT_ARROW_CALLOUT="leftArrowCallout",$.LEFT_BRACE="leftBrace",$.LEFT_BRACKET="leftBracket",$.LEFT_CIRCULAR_ARROW="leftCircularArrow",$.LEFT_RIGHT_ARROW="leftRightArrow",$.LEFT_RIGHT_ARROW_CALLOUT="leftRightArrowCallout",$.LEFT_RIGHT_CIRCULAR_ARROW="leftRightCircularArrow",$.LEFT_RIGHT_RIBBON="leftRightRibbon",$.LEFT_RIGHT_UP_ARROW="leftRightUpArrow",$.LEFT_UP_ARROW="leftUpArrow",$.LIGHTNING_BOLT="lightningBolt",$.LINE_CALLOUT_1="borderCallout1",$.LINE_CALLOUT_1_ACCENT_BAR="accentCallout1",$.LINE_CALLOUT_1_BORDER_AND_ACCENT_BAR="accentBorderCallout1",$.LINE_CALLOUT_1_NO_BORDER="callout1",$.LINE_CALLOUT_2="borderCallout2",$.LINE_CALLOUT_2_ACCENT_BAR="accentCallout2",$.LINE_CALLOUT_2_BORDER_AND_ACCENT_BAR="accentBorderCallout2",$.LINE_CALLOUT_2_NO_BORDER="callout2",$.LINE_CALLOUT_3="borderCallout3",$.LINE_CALLOUT_3_ACCENT_BAR="accentCallout3",$.LINE_CALLOUT_3_BORDER_AND_ACCENT_BAR="accentBorderCallout3",$.LINE_CALLOUT_3_NO_BORDER="callout3",$.LINE_CALLOUT_4="borderCallout4",$.LINE_CALLOUT_4_ACCENT_BAR="accentCallout3=4",$.LINE_CALLOUT_4_BORDER_AND_ACCENT_BAR="accentBorderCallout4",$.LINE_CALLOUT_4_NO_BORDER="callout4",$.LINE="line",$.LINE_INVERSE="lineInv",$.MATH_DIVIDE="mathDivide",$.MATH_EQUAL="mathEqual",$.MATH_MINUS="mathMinus",$.MATH_MULTIPLY="mathMultiply",$.MATH_NOT_EQUAL="mathNotEqual",$.MATH_PLUS="mathPlus",$.MOON="moon",$.NON_ISOSCELES_TRAPEZOID="nonIsoscelesTrapezoid",$.NOTCHED_RIGHT_ARROW="notchedRightArrow",$.NO_SYMBOL="noSmoking",$.OCTAGON="octagon",$.OVAL="ellipse",$.OVAL_CALLOUT="wedgeEllipseCallout",$.PARALLELOGRAM="parallelogram",$.PENTAGON="homePlate",$.PIE="pie",$.PIE_WEDGE="pieWedge",$.PLAQUE="plaque",$.PLAQUE_TABS="plaqueTabs",$.QUAD_ARROW="quadArrow",$.QUAD_ARROW_CALLOUT="quadArrowCallout",$.RECTANGLE="rect",$.RECTANGULAR_CALLOUT="wedgeRectCallout",$.REGULAR_PENTAGON="pentagon",$.RIGHT_ARROW="rightArrow",$.RIGHT_ARROW_CALLOUT="rightArrowCallout",$.RIGHT_BRACE="rightBrace",$.RIGHT_BRACKET="rightBracket",$.RIGHT_TRIANGLE="rtTriangle",$.ROUNDED_RECTANGLE="roundRect",$.ROUNDED_RECTANGULAR_CALLOUT="wedgeRoundRectCallout",$.ROUND_1_RECTANGLE="round1Rect",$.ROUND_2_DIAG_RECTANGLE="round2DiagRect",$.ROUND_2_SAME_RECTANGLE="round2SameRect",$.SMILEY_FACE="smileyFace",$.SNIP_1_RECTANGLE="snip1Rect",$.SNIP_2_DIAG_RECTANGLE="snip2DiagRect",$.SNIP_2_SAME_RECTANGLE="snip2SameRect",$.SNIP_ROUND_RECTANGLE="snipRoundRect",$.SQUARE_TABS="squareTabs",$.STAR_10_POINT="star10",$.STAR_12_POINT="star12",$.STAR_16_POINT="star16",$.STAR_24_POINT="star24",$.STAR_32_POINT="star32",$.STAR_4_POINT="star4",$.STAR_5_POINT="star5",$.STAR_6_POINT="star6",$.STAR_7_POINT="star7",$.STAR_8_POINT="star8",$.STRIPED_RIGHT_ARROW="stripedRightArrow",$.SUN="sun",$.SWOOSH_ARROW="swooshArrow",$.TEAR="teardrop",$.TRAPEZOID="trapezoid",$.UP_ARROW="upArrow",$.UP_ARROW_CALLOUT="upArrowCallout",$.UP_DOWN_ARROW="upDownArrow",$.UP_DOWN_ARROW_CALLOUT="upDownArrowCallout",$.UP_RIBBON="ribbon2",$.U_TURN_ARROW="uturnArrow",$.VERTICAL_SCROLL="verticalScroll",$.WAVE="wave"})(B1||(B1={}));var q0;(function($){$.AREA="area",$.BAR="bar",$.BAR3D="bar3D",$.BUBBLE="bubble",$.BUBBLE3D="bubble3D",$.DOUGHNUT="doughnut",$.LINE="line",$.PIE="pie",$.RADAR="radar",$.SCATTER="scatter"})(q0||(q0={}));var D5;(function($){$.TEXT1="tx1",$.TEXT2="tx2",$.BACKGROUND1="bg1",$.BACKGROUND2="bg2",$.ACCENT1="accent1",$.ACCENT2="accent2",$.ACCENT3="accent3",$.ACCENT4="accent4",$.ACCENT5="accent5",$.ACCENT6="accent6"})(D5||(D5={}));var W1;(function($){$.chart="chart",$.image="image",$.line="line",$.rect="rect",$.text="text",$.placeholder="placeholder"})(W1||(W1={}));var D0;(function($){$.chart="chart",$.hyperlink="hyperlink",$.image="image",$.media="media",$.online="online",$.placeholder="placeholder",$.table="table",$.tablecell="tablecell",$.text="text",$.notes="notes"})(D0||(D0={}));var F8;(function($){$.title="title",$.body="body",$.image="pic",$.chart="chart",$.table="tbl",$.media="media"})(F8||(F8={}));var C6;(function($){$.DEFAULT="•",$.CHECK="✓",$.STAR="★",$.TRIANGLE="▶"})(C6||(C6={}));var j6="data:image/png;base64,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",YB="data:image/png;base64,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AAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKREkRUAAACwrUpLSwuGDRvWfMCAAS26du3avKysrLiioqKkZcuWzZs1a1bcvHnz0tLS0rJsNtusuLi4ebNmzUoLCgo+8/eijY2N9Zs3b66pra2tqqur21xTU1NdVVVVs2nTptqNGzdWbdiwoeYvf/nL5hUrVlQtWLBgw6xZs6pqamoaJQYAAEDaKYABAACIiIghQ4aUHnTQQW379u3bql27dq3at2/fpkWLFq2bN29eWVpa2qpZs2bNCwsLm2ez2fLCwsLyoqKi8sLCwtKknK+hoaG6vr6+qqGh4S91dXV/aWhoqNq8eXNVTU3NuqqqqvUbNmxYu2rVqjWrV69e99Zbb6177rnnPpgzZ06NTwYAAABJogAGAADIA8OGDWt+xBFHdBwwYECnLl26dGjdunXHFi1adCgtLe1YUlLSvlmzZq0KCgqK07yDwsLCssLCwrKIaPdp/zuNjY21mzdvXrdp06ZVNTU172/YsGHl2rVr31+2bNnKBQsWrHjyySffnzVrVpVPGAAAAE1Fpuexsd9HfaF+ZcSal0ptCAAAIAE6deqUPf744zvtueeeXbp3796lbdu2XSorKzuXlpZ2KS0t7VBYWFhhSztGQ0PDxpqampU1NTXL169fv+yDDz5Y9s477yybPXv2sj/96U8rVqxYUWdLAAAAbE9t9q6Jog4f/TUFMAAAQEJks9nMt7/97Y4jRozo1bdv397t2rXrXl5e3rWsrKxzcXFx+4gosKUmp7G2tnZVTU3Nso0bNy5btWrV0tdff/2tJ598cvG999672noAAADYFgpgAACAhPne977X6a9Fb/v27Xu1bNmyV1lZWa8kvXOXLauvr9/wl7/8ZdG6desWL1u2bNHChQsX/fGPf1w8derUjbYDAADAliiAAQAAmqhsNps59dRTuxx66KH9+/Tp87n27dv3Ly8v719UVOSRzXlq06ZNKzZu3Pj6+++//8abb775xqOPPvrG3XffvcpmAAAA+CsFMAAAQBNx6qmndvniF784qHfv3v3btWv3uYqKis8VFhaW2wxbUl9fv37Dhg1vfPDBB68vXrz4jccee2z+jTfeuNxmAAAA8pMCGAAAYBc45phjWn/rW9/aq3///kPatGnTv6Kiop9HOLO9NDQ0VG/cuPGtNWvWLFy4cOGcO+6445WHHnporc0AAACknwIYAABgJzjjjDO6f+lLX9qrV69eg1u3bj2orKysR0RkbIadJFddXb103bp18xcvXjz30UcffeXqq69+x1oAAADSRwEMAACwnZWWlhb86le/2u3QQw8d1r17931btmw5qLCwsMxmaEoaGhqqP/zww/nvvPPOzGeeeWbW2LFj36ipqWm0GQAAgGRTAAMAAGwHP/7xj7t+9atf3bdXr15D27Ztu1c2m21jKyRJXV3dmg8++OCVRYsWvfznP/95xh/+8IdltgIAAJA8CmAAAIBtcOKJJ7Y75ZRTDujXr9+w1q1bD81ms61shTSpq6tbt3bt2pfffPPNWbfccsvUe++9d7WtAAAANH0KYAAAgE+hoqKi4IILLhg0YsSI/bp27bpfy5YtB2YymUKbIR/kcrmGDz/8cP6777474/nnn59x4YUXvrZx40aPiwYAAGiCFMAAAAAf4/jjj2/7/e9//8D+/fsf2Lp1630KCgpKbAUiGhsbN61fv37eW2+9NeWGG2545u67715lKwAAAE2DAhgAAOB/ZLPZzAUXXPC5I4888sDu3bsfWFFRsVtEFNgMbFl1dfWSd999d8qsWbNmnnvuuS+vW7euwVYAAAB2DQUwAACQ10pLSwsuvfTSQYcccsjBXbt2HVFWVtbDVmDb1dbWrnr//fdfmDp16uRf/vKXL65evbreVgAAAHYeBTAAAJB3Bg0aVHrBBRd8fs899zywQ4cOBxQVFbWwFdj+Ghsba9euXTtrzpw5T59//vmTX3755WpbAQAA2LEUwAAAQF4YNmxY8/POO+/gIUOGHOZ9vrDz/W0ZfNFFFz07a9asKlsBAADY/hTAAABAarVq1arwyiuv3HfEiBEjO3TocFBhYWGZrcCu19DQUP3+++8/O2XKlIk/+clPZm7cuLHRVgAAALYPBTAAAJAqrVq1Kvztb3+7/3777Xd4x44dRxQWFpbbCjRdDQ0NG99///0pM2bMeOqHP/zhC8pgAACAz0YBDAAApMJZZ53V45vf/OaRvXr1GllaWtrVRiB5ampq3l28ePHEO++8c9LVV1/9jo0AAABsPQUwAACQWMOHDy+/6KKLvjB48OCjW7RoMdBGID0+/PDDV+fNmzfhvPPOe3L69Ol/sREAAIBPRwEMAAAkSqtWrQpvuOGGQ/bbb79/atOmzX6ZTCZrK5BeuVyubs2aNTNmzJjx2JgxYyavW7euwVYAAAA+ngIYAABIhB//+Mddv/e9732lZ8+e/1RcXNzWRiD/1NbWfvD2228/dssttzz029/+9l0bAQAA+L8UwAAAQJNVUVFRcO21137+4IMPPrZ169b7ZTKZAlsBIqJxzZo1M59//vnxp5122hR3BQMAAPx/CmAAAKDJOeWUUzqefvrpx/bu3ftL2Wy2jY0AH6e+vn7j0qVLH/vd7373x+uvv36ZjQAAAPlOAQwAADQJ2Ww2c+uttx5wyCGHnNC6deu9I8LdvsDWaFy7du1L06ZN+/OPfvSjZ1evXl1vJQAAQD5SAAMAALtU//79S6655pp/2nPPPY8tLy/vayPAZ1VTU7NswYIF488999wHp06dutFGAACAfKIABgAAdomf//znPU855ZQTu3btemRhYWGZjQDbW2NjY92KFSuevOWWW+689NJLF9kIAACQDxTAAADATuMxz8Cusn79+rlPP/30f5188slT6+rqcjYCAACklQIYAADY4fr27Vv8hz/84a+Pee5nI8CuUlNT8+68efPu/8EPfvDgwoULN9kIAACQNgpgAABghxkyZEjpNddc89XBgwefWFxc3MFGgKaitrZ21dy5c+/5yU9+8uc5c+bU2AgAAJAWWyqAPYoNAADYJqNHj+4wb968n06ZMuXRYcOGnaH8BZqa4uLi9sOGDTtjypQpj86bN++nJ510UntbAQAA0s4dwAAAwFY599xze33/+9//dufOnY/IZDJZGwGSIpfL1S1fvvzJG2644fbLLrvsbRsBAACSyiOgAQCAz+y8887r+53vfOfbHTt2PDyTyRTaCJBUuVyuYcWKFU/cdNNN//XrX/96sY0AAABJowAGAAC22WWXXTboG9/4xg9at249zDaAtFm7du2su++++9pzzjnnNdsAAACSQgEMAABsNcUvkE8UwQAAQJIogAEAgE9N8Qvks7Vr18665557rvv5z38+3zYAAICmaksFcGHlwOj6UV9orIqoWZG1PQAAyBO/+MUvet9xxx3nHHrooT8pLS3tYiNAPiotLe2y7777HvP973+/X1lZ2ZIpU6assxUAAKCpKetcHwXlH/01BTAAAOS5M844o/u99957zpe//OWflZeX94qIjK0AeS5TXl7e8+CDDx71/e9/v3dEvDVjxowPrQUAAGgqFMAAAMD/ceKJJ7a77777fjJq1Kh/KS8v7xOKX4B/lCkvL+99+OGHj/rWt77VfvXq1Qvnz59fbS0AAMCutqUC2DuAAQAgzwwdOrTs+uuvP6l///4nFRYWltkI20NjY2Ns2rQpqquro6amJurr62PTpk2xefPmqK+vj+rq6qivr4/NmzfHpk2boqGhYZv/fxUWFkZJSUk0a9YsioqKoqysLIqKiqJZs2ZRUlISRUVFUVpa+r9/FRQUCIjtoqGhoeq11167a8yYMffMmTOnxkYAAIBdZUvvAFYAAwBAnujUqVP2nnvuGbXXXnudnM1mK22Ej9PQ0BAbN26MDRs2/J+/Nm7cGBs3boyamprYtGlTbNq0KWpqaqK2trbJnqe4uDhKSkqitLT0f/9eUVERFRUV0aJFi//zV0VFRRQWFvog8LHq6urWvvjii7eceOKJf169enW9jQAAADubAhgAAPLcXXfdddAXv/jF00tLS7vZRn7L5XKxYcOGWLt2baxbty7Wrl37d3+tW7cuNmzYkPd7atGiRbRu3TpatWoVrVu3jjZt2vzvf27dunW0aNHCh4morq5e+sgjj1zzne98Z6ptAAAAO5MCGAAA8tTVV189+MQTTzyzoqJioG3kj8bGxli5cmUsX748Pvjgg1i9evX//n3t2rXR2NhoSZ9RYWFhtGrVKtq1axdt27b937937tw5OnTo4LHTeWbDhg3z77333qvOPPPMebYBAADsDApgAADIM1/72tfaXHrppad27979qIjQRKVUQ0NDrFq1KlasWBHvv//+//595cqVTfqRzGlXXFwcHTp0iI4dO0bnzp2jY8eO0alTp2jXrp1HS6dYLpdrfOeddx76+c9/fv2ECRPW2QgAALAjKYABACBP9OrVq9ldd931jT322OM7hYWFZTaSHh9++GG88847sXTp0njvvfdixYoVsXr16mhoaLCchCgsLIz27dtHp06dolu3btG9e/fo3r27x0mnTENDQ9W8efNu++Y3v/nHJUuWbLYRAABgR1AAAwBAHrjrrrtG/NM//dOZJSUlXWwj2davXx9Lly6Nd955539L3w8//NBiUqqysvJ/y+C//tWqVSuLSbiamppljz322G9Gjx49xTYAAIDtTQEMAAAp9qtf/arPD3/4w5+1atVqL9tIno0bN8aSJUvirbfeikWLFsV7770XmzZtspg8V1JSEl27do0+ffpE3759o3fv3lFeXm4xCbRu3bqXr7322ivGjh27yDYAAIDtRQEMAAApNGjQoNI77rjju7vttttJBQUFWRtJhtWrV8ebb74ZixcvjiVLlsTy5cujsbHRYtiigoKC6Ny5c/Tu3Tt69+4d/fr1i7Zt21pMQjQ2Nta98cYbd33rW9+6ff78+TU2AgAAfFYKYAAASJHS0tKCBx988Jj99tvvn7PZbBsbaboaGhri7bffjrfeeisWLFgQS5YscXcv201FRUX06tUr+vbtG3379o2ePXtGYWGhxTRhdXV1a2bMmHHjV77ylYdqamr85gcAALDNFMAAAJASp59+erdf/vKX51ZWVu5jG03T6tWr47XXXouFCxfGm2++GRs3brQUdooWLVpE3759Y8CAATFw4EB3CDdh69evf/E//uM//vPqq69+xzYAAIBtoQAGAICEGzRoUOm99977w969ex+byWTc4teErF+/PubNmxcLFiyIN954Q+FLk9GiRYvo169fDBgwIPbYY4+orKy0lCYkl8s1LF68eNyJJ554rcdCAwAAW0sBDAAACXbNNdcMOemkk35RVlbWyzZ2vVwuF++++27MnTs3XnvttViyZIl3+NLkFRQURK9evWLQoEExePDg6Natm6U0EdXV1UvuvvvuX//kJz+ZYxsAAMCnpQAGAIAEOuqoo1r99re//VmHDh0Ot41da9OmTTF79uyYO3duLFy4MKqqqiyFRGvevHn0798/Bg8eHHvuuWeUlJRYyi62cuXKp04//fTLJ0yYsM42AACAT6IABgCAhBk3btwRRxxxxFnZbLaNbewaVVVVMXfu3Jg7d27Mnz8/amtrLYVUKi4ujoEDB8bgwYNj8ODBUV5ebim7SF1d3ZqnnnrqqlGjRj1hGwAAwJYogAEAICFOOeWUjhdddNEvW7duvZ9t7HwrV66MWbNmxdy5c+Odd96JXC5nKeSdzp07x9577x3Dhg2LDh06WMgusHbt2hnnnXfepbfccsv7tgEAAHwUBTAAADRxpaWlBU899dQ3Bw8e/L2CggLPYt2JVqxYES+99FK89NJLsXz5cguBv/HXMnjvvfeOTp06WchO1NjYuGnu3Lk3H3744XfV1NR40TgAAPB3FMAAANCEjR49usOll176yzZt2gy3jZ1j/fr18eKLL8bMmTNj6dKlFgKfQs+ePWPfffeNYcOGRYsWLSxkJ1mzZs0L55577q/vvvvuVbYBAAD8lQIYAACaoIqKioKJEyd+c/Dgwd8vKCgotpEda8OGDfHiiy/G9OnTlb7wGfXo0SOGDx8ew4YNi4qKCgvZwdwNDAAA/CMFMAAANDGnnHJKx7Fjx/5rZWXlMNvYcerr6+PVV1+NGTNmxLx586Kurs5SYDvKZrMxZMiQ2HfffWP33XePwsJCS9mB1q5dO+MXv/jFv995550rbQMAAPKbAhgAAJqIbDabeeKJJ47fZ599fuSu3x0jl8vFwoULY/r06TF79uzYtGmTpcBOUFpaGkOGDInhw4fHgAEDLGQHaWhoqJ42bdo1Rx555J9tAwAA8pcCGAAAmoDjjz++7ZVXXvmr1q1be9fvDrBmzZqYNm1azJw5M1audHMc7EodO3aMz3/+87H//vt7X/CO+3fetDPPPPOScePGfWAbAACQfxTAAACwi9100037HXvssf9WXFzc1ja2n1wuF6+99lo8//zzMW/evKivr7cUaEKKiopizz33jBEjRsTnPve5yGQylrId1dbWrvrjH/948Q9+8INZtgEAAPlFAQwAALvIkCFDSu+///5zunTp8k+2sf2sXbs2Jk+eHNOnT48PP/zQQiABKisrY8SIEXHIIYdEeXm5hWxHy5Yte+zrX//6f86ZM6fGNgAAID9sqQAurBwYXT/qC41VETUrsrYHAADb6IILLtjt97///VVt2rQZZhvbx+LFi2P8+PFx9913xxtvvBG1tbWWAgmxadOmeOONN+LZZ5+NtWvXRps2bTweejtp0aJFv5NOOumg0tLSuc8+++xaGwEAgPQr61wfBR/zu7XuAAYAgO0sm81mJk2a9PVhw4b9pKCgwG9VfkZ1dXUxY8aMeOaZZ+K9996zEEiRfv36xSGHHBJDhw6NgoICC/mMGhsbN8+YMeOaL37xi+Pq6upyNgIAAOnlEdAAALCTHH/88W2vuuqqCyorK/exjc9mzZo18dRTT8XUqVNj06ZNFgIpVlFREZ///OfjsMMOi8rKSgv5jNavXz/r9NNPv3DcuHEf2AYAAKSTAhgAAHaC22677fNf+9rXzstms5W2se0WLVoUjz/+eMybNy9yOTewQT4pKiqKIUOGxBFHHBG9e/e2kM+grq5u3QMPPHDRySefPM02AAAgfRTAAACwA1VUVBQ8/fTTpwwcOPCUTCbjGabbIJfLxauvvhpPPvlkLFy40EIgz2UymRgwYEAcccQRMWjQIAvZ9n+3Ns6fP/+Www8//JaNGzc22ggAAKTHlgrgwsqB0fWjvtBYFVGzwuvKAABgS0488cR2EyZMuLx79+5fzmQyGRvZOo2NjTFr1qy49dZb48knn4wPPvC0UuC/rV69OmbMmBFz5syJ0tLS6NSpU/jX7NbJZDKZ9u3bD/3+978/dPny5TNfffXValsBAIB0KOtcHwXlH/O9gDuAAQBg29x66637H3vssRcWFRW1sI2tU1NTE0899VQ8++yzsWHDBgsBPlGLFi3i4IMPjsMPPzxKS/28YmvV19d/OG7cuPNPPvnk6bYBAADJ5xHQAACwHWWz2cyzzz77rSFDhvzAI5+3zqZNm2Ly5Mnx1FNPKX6BbdKiRYs47LDD4pBDDlEEb6VcLtfwyiuvXHfooYfeWVdX5yXrAACQYApgAADYTo455pjW11133cWVlZV728ant2HDhnj88cdjypQpUVtbayHAZ1ZcXBwHHnhgfPGLX4wWLTyIYWusWbNm2re//e3zn3nmGb+JAwAACeUdwAAAsB1cfvnlu1900UW/LS8v72cbn05VVVVMmDAhbrnllnjzzTejoaHBUoDtoqGhIZYsWRLPPfdc1NTURI8ePSKb9XOMT6OsrKzb17/+9SPbtm0774knnlhtIwAAkMDreu8ABgCAz+bhhx/+8qGHHnpOQUFBsW18sk2bNsUzzzwTTzzxRFRVVVkIsMOVl5fHkUceGYccckgUF/tX9afR2Ni46emnn/71Mccc87htAABAsngENAAAbKN27doVTZ48+YxevXodZxufrK6uLp5++umYOHGi4hfYJSoqKuKLX/xiHHzwwe4I/pQWLVr0x4MOOuiadevWeUwDAAAkhEdAAwDANjj22GPbPvzww7/p2LHjobaxZXV1dfHkk0/GddddF3Pnzo26ujpLAXaJzZs3x2uvvRbPPfdcRET06NEjCgsLLWYLWrduvfv3vve9fd9+++1pCxYsqLYRAABo+rb0CGgFMAAAfITLL7989wsuuOB3zZs372UbH6+xsTGmTJkS119/fbzyyiuKX6DJ2Lx5cyxYsCCmT58excXF0a1bt8hkMhbzMUpKSjp8+ctfPrJt27ZzvBcYAACaPu8ABgCArTB+/Pgjv/CFL/xLQUFBiW18vAULFsT48eNj6dKllgE0eT169IivfOUrMWjQIMvYgsbGxpqJEydecuyxxz5pGwAA0HR5BzAAAHwK7dq1K3ruued+1qNHj6/axsdbtGhR3H///bF48WLLABKnV69ecdxxx0WfPn0sYwuWLl3654MOOujy1atX19sGAAA0Pd4BDAAAn2DYsGHNn3766V936tTpC7bx0TZs2BD33Xdf/PGPf4y1a9daCJBI69evj2nTpsW6deuiZ8+eUVLiYQ8fpbKysv+3v/3t/lOmTJmyfPlyz/cHAIAmxjuAAQBgC372s5/1uP76669t0aKF54J+hJqamhg/fnzcfPPN8fbbb0cul7MUINFyuVy888478cwzz0RVVVX07t07slk/A/lHZWVl3U488cTD6+rqZkyfPv1DGwEAgCZ0va4ABgCAj3bFFVfscdZZZ11dXFzcwTb+Xi6XixkzZsR1110XCxYsiMbGRksBUqWxsTGWLFkSM2bMiPLy8ujSpUtkMhmL+RvZbLbFQQcddHibNm1mP/HEE6ttBAAAmoYtFcDeAQwAQN6aNGnSqAMOOODsTCZTaBt/b9GiRXHPPffEu+++axlA3ujWrVucdNJJ0bt3b8v4B7lcrm7y5Mm//vKXv/yIbQAAwK63pXcAK4ABAMg7paWlBTNnzjyzT58+x9vG39uwYUOMGzcuZsyY4VHPQF7KZDKx3377xde//vWoqKiwkH+waNGiP+27775X1dTUeCwEAADsQgpgAAD4H926dctOnjz5V506dRppG/9fLpeLqVOnxp///OfYuHGjhQB5r6KiIkaNGhX777+/x0L/g+XLlz9+6KGHXvLuu+/W2QYAAOwaWyqAvQMYAIC8MXz48PInnnjiynbt2o2wjf/vnXfeiWuvvTaee+652Lx5s4UARMTmzZtjzpw58dprr0XPnj2jRYsWlvI/Kioq+n7rW98aMnXq1Ofee+89f3AAAMAusKV3ACuAAQDIC9/+9rc73n777X9o0aLFANv4b1VVVXHXXXfFvffeG+vXr7cQgI+wbt26eP7552P9+vWx2267RVFRkaVERElJSefjjjvuoA8++GDKK6+88hcbAQCAnUsBDABAXjv//PP7XXzxxX8oKSnpbBv/bfr06XHttdfGokWLLAPgU3jnnXdi2rRp0bp16+jc2R8nERHZbLbyC1/4whElJSUvTp48eY2NAADAzqMABgAgb/3ud7/b60c/+tFVRUVFrWwjYs2aNXHzzTfHpEmTora21kIAtkJtbW289NJL8c4770Tfvn2jtLQ073dSWFhYNnz48C/26dNn4UMPPbTMpwQAAHYOBTAAAHnp1ltv3f+b3/zmfxYWFjbP913kcrl4/vnn4/rrr4/ly5f7cAB8BitXroxp06ZFRUVFdOvWLTKZTF7vo6CgIDto0KBDBw0atOiBBx54xycEAAB2vC0VwJmex8Z+H/WF+pURa17ym6wAACTTww8//KXDDjvsXzKZTN6/rPGDDz6I22+/Pd544w0fDIDtbMCAAfGtb30r2rRpk/e7yOVyjVOmTPn1yJEjH/LJAACAHavN3jVR1OGjv6YABgAgdV555ZXTPve5z30r3/fQ0NAQjz32WDz++ONRV1fngwGwg2Sz2Tj66KPjC1/4QhQUFOT9Pl5//fU79tprr9/7ZAAAwI6jAAYAIC9ks9nMyy+/fFafPn2Oz/ddvPvuu3HbbbfFe++954MBsJN069YtvvOd70S3bt3yfhdLliy5f5999rmypqam0ScDAAC2PwUwAACpV1paWjBr1qyzevfufVw+7yGXy8WTTz4ZDz74oLt+AXaBbDYbxxxzTBxxxBF5fzfw0qVLHxg6dOjlSmAAANj+FMAAAKRar169mk2ePHlsu3btDsrnPaxcuTJuueWWePvtt30oAHaxnj17ximnnBIdOnTI6z2sXr16yiGHHPIvS5Ys2exTAQAA28+WCuDCyoHR9aO+0FgVUbMia3sAADRpQ4cOLXvqqacub9Omzf75uoNcLhfPPPNMXH/99bF27VofCoAmYP369TFlypQoKSmJnj17RiaTycs9NG/evPtJJ500ZPLkyc+sWLHCoykAAGA7KetcHwXlH/01BTAAAIk1ZMiQ0kceeeSKVq1a7Z2vO6iuro7bb789nnjiiWhs9IRNgKaksbEx5s+fH++//34MGDAgstn8/DlLaWlpp6997WuDn3rqqadXrlxZ75MBAACfnQIYAIDUOfTQQ1s8+OCDv2/ZsuUe+bqDOXPmxNVXX+2RzwBN3PLly+OFF16Ijh075u0joUtLSzudcMIJ+7/00ktPv/3227U+FQAA8NkogAEASJVhw4Y1v++++37TsmXLQfl4/vr6+hg/fnz88Y9/jNpaP0MHSILNmzfHiy++GJs3b47ddtstCgoK8m4HxcXFbY866qg9n3vuuaeXL1/ucdAAAPAZKIABAEiNI488snLcuHG/b9GixcB8PP97770XV111VcyZM8eHASCBFi1aFC+//HL069cvWrRokXfnLykp6XDcccftP2fOnGcWLVq0yScCAAC2jQIYAIBUOPLIIyvvvPPO35aXl++Wj+d/+umn48Ybb4wPP/zQhwEgwf7yl7/ECy+8ECUlJdGrV6+8O3+zZs3aHHXUUfspgQEAYNspgAEASLxjjz227W233faH5s2b98m3s1dVVcXNN98cTz31VDQ2NvowAKRAY2NjzJ8/P5YtWxYDBgyIZs2a5dX5mzVr1uaYY4458M0333xm4cKFNT4RAACwdRTAAAAk2qGHHtritttuuzofy9+33347rrnmmli8eLEPAkAKvf/++/HKK69Enz59orKyMq/Ons1mK4888sh9Zs6c+dTSpUs3+zQAAMCnpwAGACCxjjjiiJb33nvvteXl5f3y6dy5XC4mTZoUN998c1RVVfkgAKRYVVVVTJ06NbLZbPTp0ycymUzenL24uLjtV7/61c+/8sorTy1evLjWpwEAAD4dBTAAAIl06KGHtrj33nt/l2/lb3V1ddx0000xefLkyOVyPggAeSCXy8WCBQvi3Xffjd133z2y2fz5mUyzZs1aH3300fvNmDHjSXcCAwDAp6MABgAgcYYOHVo2fvz4qysqKgbk07mXLVsWV111lUc+A+SplStXxiuvvBKf+9znoqKiIm/O3axZszZHH3300GeeeebJFStW1PkkAADAlimAAQBIlCFDhpQ++uij17Rs2XL3fDr31KlT49prr42NGzf6EADksaqqqpg+fXq0bds2unTpkjfnLikpaT9q1KihTz755JMrV66s90kAAICPt6UCuMB6AABoSjp16pSdMGHCv1dWVu6RL2dubGyMcePGxR133BF1dW56AiCitrY2br755hg/fnw0NjbmzbkrKyv3mDBhwr9369bNXQkAALCNFMAAADQZrVq1Kpw+ffolbdq02T9fzlxdXR2/+93vYtKkSd73C8DfyeVy8fjjj8fvf//7qK6uzptzt2nTZv8pU6Zc0qpVq0KfAgAA2HoKYAAAmoSKioqC2bNnX9KuXbuD8uXMS5cujYsuuijmz5/vAwDAx3r11VfjoosuiqVLl+bNmdu1a3fQ7Nmz/72iosLPrgAAYCu5iAYAoEmYOXPmz9q1a3dIvpz35ZdfjiuuuCLWrVsnfAA+0bp16+KKK66Il19+OW/O3K5du4Nnzpz5M+kDAMDWUQADALDLvfjii2N69OgxKh/Omsvl4oEHHogbbrghamtrhQ/Ap1ZbWxs33HBDPPDAA3nz2oAePXqMevHFF8dIHwAAPj0FMAAAu9SkSZO+NnDgwFPy4ax1dXVx8803x8SJE73vF4BtksvlYuLEiXHLLbdEXV1dXpx54MCBJ0+aNOlr0gcAgE9HAQwAwC7z6KOPHnXggQeekw9nXbduXfz617+OWbNmCR6Az2zmzJnx61//Ol9eJZA58MADz3n00UePkjwAAHyywsqB0fWjvtBYFVGzImtDAADsEDfeeOO+Rx999EWZTKYw7Wddvnx5XHXVVbFy5UrBA7DdbNiwIWbPnh0DBw6MioqKtB8307179/179uz56sMPP7xc+gAA5LuyzvVRUP7RX1MAAwCw011xxRV7fPe7372qoKCgWdrPOmfOnPjtb38bGzduFDwA2111dXVMmzYtOnfuHB07dkz1WTOZTOHuu+9+eJs2bV6aNGnSKukDAJDPFMAAADQZZ5xxRvef/exnvy0sLCxP+1knTJgQd999d9TX1wsegB2moaEhXnrppchms9G3b99UnzWTyRTttddeB/3lL395dubMmRukDwBAvlIAAwDQJBx00EEVf/jDH64pLi7ulOZz5nK5eOCBB+Kxxx4TOgA77c+eBQsWRF1dXfTv3z8ymUxqz1pQUFBywAEHDJs+ffqkpUuXbpY+AAD5aEsFcIH1AACwMwwaNKj0vvvuu7qsrKxXms9ZV1cX1113XUyaNEnoAOx0EydOjOuvvz7q6upSfc6ysrJef/rTn67u379/idQBAODvKYABANjhKioqCh577LGLKyoqBqb5nNXV1XHNNdfE7NmzhQ7ALvPKK6/ElVdeGVVVVak+Z4sWLQZOnDhxbEVFhZ9vAQDA33CBDADADjdz5syftW3b9sA0n3HdunVx2WWXxRtvvCFwAHa5xYsXx2WXXRZr165N9TnbtWt34MyZM38mcQAA+P8UwAAA7FBPPvnkqB49eoxK8xlXrVoVV1xxRSxfvlzgADQZK1asiCuuuCJWrlyZ6nP26NFj1KRJk0ZJHAAA/lth5cDo+lFfaKyKqFmRtSEAALbZjTfeuO+XvvSlCzOZTGp/8fDdd9+NK6+8MtatWydwAJqc6urqmDVrVvTv3z8qKytTe85u3boN79mz57yHH37Yb2MBAJAXyjrXR0H5R39NAQwAwA5x3nnn9T311FOvLigoKE7rGV977bW45pprorq6WuAANFmbN2+OGTNmRI8ePaJ9+/apPGMmkykYNGjQIYWFhVOee+45v5UFAEDqKYABANipjjrqqFb/8R//8YdmzZq1SusZX3755bj++uujrq5O4AA0eQ0NDfHSSy9Fp06dolOnTqk8Y0FBQXbYsGGfnz9//qQ33nhjk9QBAEizLRXA3gEMAMB21a1bt+wNN9zwnyUlJR3TesYpU6bEjTfeGPX19QIHIDHq6+vjxhtvjKlTp6b2jCUlJZ1uuOGG/+jWrZu7GgAAyFsKYAAAtqunn376XyorK/dI6/kmTZoUd955ZzQ2NgobgMRpbGyMO+64I5588snUnrGysnLw008//UtpAwCQrxTAAABsN88///w3unTp8k9pPd/EiRNj3LhxkcvlhA1AYuVyubj//vtTXQJ36dLlS88+++yJ0gYAIB95BzAAANvFTTfdNPzII488L5PJZNJ4vsceeyzGjx8vaABS47XXXotmzZpF3759U3m+zp0779urV695Dz/88DJpAwCQNlt6B7ACGACAz+wXv/hF7x/+8IdXFxQUNEvj+R544IF45JFHBA1A6ixYsCDq6upiwIABqTtbJpPJDBo06ODGxsbnpk6dul7aAACkiQIYAIAd5oADDqj43e9+99tmzZq1TeP5xo0bF5MmTRI0AKm1aNGi2Lx5cwwcODB1ZysoKMjut99+w5577rnH33vvvc3SBgAgLbZUAHsHMAAA2yybzWbuvPPOfyktLe2exvNNmDBB+QtAXpg0aVI89NBDqTxbaWlpj3vuuedfstlsRtIAAOQDBTAAANvs+eef/06HDh0OTePZHn744Xj44YeFDEDeeOSRR+LPf/5zKs/WoUOHw5599tlvSxkAgHygAAYAYJvcd999hw8ePPjUNJ7t/vvvjwkTJggZgLzz2GOPxX333ZfKs+25554/+NOf/nSYlAEASDvvAAYAYKudccYZ3ceMGXN5QUFBcdrONnHixHjkkUeEDEDeWrx4cWSz2ejbt2/ajpbp06fPvn/5y18mz5w5c4OkAQBIsi29A1gBDADAVhk2bFjzG2+88Q/NmjVrl7azPfroo6l99CUAbI2FCxdGUVFR9OvXL1XnKigoKD7wwAP3e/LJJx9dsWJFnaQBAEiqLRXAHgENAMBWuffee39ZWlraPW3nevzxx+PBBx8UMAD8jz//+c8xceLE1J2rtLS0x3333fdLCQMAkFYKYAAAPrVJkyaN6tSp0xEpPFeMHz9ewADwD8aPHx+TJ09O3bk6der0hUmTJn1VwgAApJFHQAMA8Kmcd955fU888cR/z2QyRWk618yZM+Puu+8WMAB8jNdeey06duwYnTt3TtW5unbtuk9BQcHzzz333DopAwCQNN4BDADAZ3LEEUe0vOKKK67NZrOVaTrXyy+/HDfffHPkcjkhA8DHyOVyMXv27OjSpUt06tQpNefKZDJF++yzz/CpU6c+9u67726WNAAASeIdwAAAbLNsNpu55ZZb/q2kpKRjms61YMGCuPnmm6OxsVHIAPAJGhsb4+abb44333wzVecqLS3tcvfdd5+fzWYzUgYAIC0UwAAAbNGkSZO+3rZt2wPTdKZly5bFDTfcEPX19QIGgE+prq4urr322li+fHmqztWuXbsDH3/88VESBgAgLTwCGgCAj3XZZZcN+upXvzo2k8mk5hcH33///bjyyiujqqpKwACwlerq6uLll1+OIUOGRHl5eWrO1aVLl31LS0unPvPMM2ukDABAEngENAAAW61///4lJ5988q8ymUxRWs60YcOG+P3vfx8bN24UMABso40bN8bvfve7VP15WlBQkP3hD394ft++fYslDABA4q9vrQAAgI/y4IMPnl1WVtYrLeeprq6O3/zmN7Fq1SrhAsBntGrVqrjyyiujuro6NWcqKyvr8/DDD58lXQAAkk4BDADA/zF+/Pgju3XrdnRazlNfX5/KdxYCwK60fPnyuO6666K+vj41Z+rRo8dXx40bd4R0AQBIMgUwAAB/53vf+16nI4444py0nCeXy8Vtt90Wb7zxhnABYDt7/fXX47bbbotcLpeaMx155JHnfvvb3+4oXQAAkkoBDADA/6qoqCi4+OKLLywsLCxPy5nGjx8fs2bNEi4A7CCzZs2Khx56KDXnKSwsrPj1r399QUVFhZ+bAQCQSC5kAQD4XxMnThxdWVk5OC3nef7552PixImCBYAd7LHHHosXXnghNeeprKzc89FHHz1RsgAAJFFh5cDo+lFfaKyKqFmRtSEAgDxxwQUX7DZq1KgLM5lMYRrO8+qrr8Ytt9ySqkdSAkBT/7O3d+/e0a5du1Scp2PHjkNzudxzU6ZMWSddAACamrLO9VHwMc/wcwcwAADRt2/f4h//+McXZzKZVPwG4HvvvRc33HBDNDY2ChcAdpKGhoa47rrrYtmyZak4T0FBQfbss88e27dv32LpAgCQqGtZKwAAYPz48T8qKyvrkYazbNiwIX7/+99HbW2tYAFgJ9u0aVP8/ve/j40bN6biPGVlZb3GjRs3RrIAACSJAhgAIM/ddNNNw/v06XN8Gs5SX18f1157baxdu1awALCLrFmzJq699tqor69PxXn69ev3jd///vdDJQsAQFIogAEA8thBBx1Uceyxx/5rRGTScJ477rgjFi9eLFgA2MUWLVoUd955Z1qOU/CNb3zj34YNG9ZcsgAAJOIC1goAAPLXzTfffFZxcXG7NJxl4sSJMX36dKECQBMxbdq0mDRpUirOUlJS0unOO+88Q6oAACSBAhgAIE/913/914FdunT5UhrO8tprr8Wf//xnoQJAEzN+/PhYsGBBKs7SrVu3o2+66abhUgUAoKlTAAMA5KEvfelLlV/5yld+lYazrFixIq6//vpobGwULAA0MY2NjXHdddfFihUr0nCczHHHHfergw46qEKyAAA0ZQpgAIA8dPXVV5+ezWYrk36OmpqauPbaa2PTpk1CBYAmatOmTXHttddGTU1N4s+SzWbb3njjjT+RKgAATZkCGAAgz9x6663Du3Tp8uWknyOXy8Utt9wSK1euFCoANHErV66MW2+9NXK5XOLP4lHQAAA0dQpgAIA8MnTo0LKvfvWrv0jDWSZMmBBz584VKgAkxJw5c+Kxxx5LxVlGjRr1i6FDh5ZJFQCApkgBDACQR+64444fFRcXd0z6OV5++eV45JFHBAoACfPQQw+l4he4SkpKOt5xxx0/lCgAAE2RAhgAIE9cfvnlu/fs2XNU0s/xwQcfxB133JGKR0gCQL7J5XJx2223xZo1axJ/lp49ex57+eWX7y5VAACaGgUwAEAe6NatW/a73/3uv2YymURf/9XX18cNN9wQ1dXVQgWAhKqqqoobb7wx6uvrE32OTCZT8N3vfvdX3bp1y0oVAICmRAEMAJAHxo8ff0pZWVmvpJ/jnnvuiaVLlwoUABJuyZIlcd999yX+HGVlZT3Hjx9/ikQBAGhKFMAAACn385//vOeAAQNGJ/0c06dPjylTpggUAFJi8uTJMWPGjMSfY8CAAaN//vOf95QoAABNhQIYACDFstls5qyzzjo3k8kk+tGEK1asiLvvvlugAJAyd911V6xYsSLRZ8hkMtmzzjrr3Gw2m5EoAABNgQIYACDFxo0b98XKysq9knyG2trauOGGG6K2tlagAJAyf/1zfvPmzYk+R2Vl5V7jxo0bKVEAAJoCBTAAQEoNHz68/OCDDz4t6ee4//77Y/ny5QIFgJRavnx5jBs3LvHnGDFixI+HDRvWXKIAAOxqCmAAgJS69dZbT8tms22TfIYZM2bEc889J0wASLnJkyfHzJkzE32G4uLitrfffvtp0gQAYFdTAAMApNBVV121R48ePb6S5DOsXLky7rrrLmECQJ64++6744MPPkj0GXr27PnVK664Yg9pAgCwKymAAQBSprS0tOAb3/jGT5N8rdfY2Bi333679/4CQB6pqamJ2267LRobG5N8jIJvfvObZ5aWlvqZGwAAu+6i1AoAANJlwoQJX6uoqBiQ5DOMHz8+Fi1aJEwAyDNvvvlmPPjgg4k+Q4sWLQY9+OCDx0gTAIBdRQEMAJAiRx55ZOWwYcN+kOQzzJ07N5544glhAkCemjhxYixYsCDRZxg+fPiPjjjiiJbSBABgV1AAAwCkyBVXXHFyUVFRRVLnr6qqijvvvDNyuZwwASBP5XK5uP3226O6ujqxZygqKmrxm9/85mRpAgCwKyiAAQBS4vzzz+/Xu3fv45J8httvvz0+/PBDYQJAnlu3bl3cfvvtiT5D7969jz///PP7SRMAgJ1NAQwAkALZbDZz6qmn/jyTyST2+m769OkxZ84cYQIAERExe/bsmDFjRmLnz2QyBaeeeurPs9lsRpoAAOxMCmAAgBT44x//eERlZeXgpM6/du3auPfeewUJAPyde+65J9atW5fY+SsrKwf/6U9/+oIkAQDYmRTAAAAJ17dv3+JDDjnkR0k+w9133x01NTXCBAD+Tk1NTdx9992JPsPBBx/8o759+xZLEwCAnUUBDACQcHfdddc3S0pKOiV1/smTJ8e8efMECQB8pLlz58azzz6b2PlLSko63nPPPd+SJAAAO4sCGAAgwb70pS9VDhw48KSkzr9mzZoYP368IAGALXrggQdizZo1iZ2/f//+Jx111FGtJAkAwM6gAAYASLArrrji1MLCwvIkzp7L5eK2226LTZs2CRIA2KJNmzbFbbfdFrlcLpHzFxYWll1++eU/kCQAADuDAhgAIKF+8Ytf9O7evftXkjr/s88+G2+88YYgAYBP5Y033ojnn38+sfN369bt6F/96ld9JAkAwI6mAAYASKgf/vCHP8pkMom8nvvggw/igQceECIAsFXGjRsX69atS+TsmUym4NRTT/2xFAEA2NEUwAAACXTdddcNa9eu3YFJnD2Xy8Udd9wRtbW1ggQAtsqmTZvizjvvTOz8bdq02f+mm27aT5IAAOxICmAAgIQpLS0t+NrXvnZ6Uud/4YUXYuHChYIEALbJq6++GjNmzEjs/Mccc8zpFRUVfiYHAMAO42ITACBhbr/99oMrKip2S+LsGzZsiHHjxgkRAPhM7r///qiqqkrk7OXl5X3/67/+6wgpAgCwoyiAAQASpKKiouCwww47Nanz33vvvYn9YS0A0HRs2LAh7r///sTOf9BBB/1zq1atCiUJAMCOoAAGAEiQ+++//+iysrKeSZx9zpw58dJLLwkRANguXnjhhViwYEEiZy8tLe32xz/+8StSBABgR1AAAwAkRN++fYv33Xfff07i7LW1tXHvvfcKEQDYru6+++6oq6tL5Oz77bffKf379y+RIgAA25sCGAAgIW6++eZRxcXFbZM4+yOPPBJr164VIgCwXa1atSoee+yxRM6ezWbb3njjjV+TIgAA25sCGAAgAYYOHVq21157fSeJs7/33nvxxBNPCBEA2CEmTpwYK1asSOTsQ4YM+c7QoUPLpAgAwPakAAYASIBrr732xKKiosqkzZ3L5eKee+6JxsZGIQIAO0R9fX3cddddkcvlEjd7UVFR5bXXXnuCFAEA2J4UwAAATdwBBxxQMWDAgG8kcfYZM2bEW2+9JUQAYId6880348UXX0zk7AMGDPjG8OHDy6UIAMD2ogAGAGjirrrqqhOKiooqkjb3pk2b4oEHHhAgALBT3H///VFbW5u4uYuKilpcffXV7gIGAGC7UQADADRhBx10UEX//v0Teffvww8/HB9++KEQAYCdYv369TFhwoREzj5w4MBvHHDAARVSBABge1AAAwA0Yf/5n/95bGFhYfOkzb1q1aqYPHmyAAGAnerpp5+O1atXJ27uwsLC8ssuu2yUBAEA2B4UwAAATdQBBxxQMWjQoNFJnP3uu++O+vp6IQIAO1V9fX3cddddiZx99913/+bQoUPLpAgAwGelAAYAaKIuv/zyYwsLC8uTNvfcuXNjwYIFAgQAdokFCxbE3LlzEzd3UVFRi9/97ndflyAAAJ+VAhgAoAkaOnRo2aBBgxL37t+6urr405/+JEAAYJf605/+FHV1dYmbe/fdd//mkCFDSiUIAMBnoQAGAGiCfvOb33ylqKioZdLmfu655xL53j0AIF1Wr14dzz33XOLmLioqann11VcfLUEAAD4LBTAAQBPTq1evZoMHD/5m0uaurq6ORx55RIAAQJPwyCOPRHV1deLmHjJkyLe6deuWlSAAANtKAQwA0MTcdNNNxxQXF7dN2twTJkyIqqoqAQIATUJVVVUifzmtuLi43a233uouYAAAtpkCGACgCWnVqlXhXnvtdVLS5l61alU8++yzAgQAmpTJkyfHqlWrEjf30KFDR7dq1apQggAAbAsFMABAE3LLLbccXlJS0jlpcz/44INRX18vQACgSamvr48HH3wwcXOXlJR0vummmw6VIAAA20IBDADQRGSz2cwBBxzw7aTNvWjRonjppZcECAA0SS+99FIsXrw4cXOPGDHiO9lsNiNBAAC2lgIYAKCJuOaaa/YuLy/vm7S5H3roocjlcgIEAJqkXC6XyLuAy8vL+1111VV7SRAAgK2lAAYAaCK+8pWvfDdpM8+bNy8WLlwoPACgSVu4cGG8+uqrrg8BAMgLCmAAgCbgsssuG1RZWblPkmbO5XIxfvx44QEAifDAAw8k7qklrVu33veSSy7pLz0AALaGAhgAoAkYNWrUCUmbefbs2bFs2TLhAQCJsGzZsnjllVcSN/cJJ5xwovQAANgaCmAAgF3sn//5nzt37NjxiCTN3NjYGA888IDwAIBEGT9+fDQ0NCRq5k6dOn1h9OjRHaQHAMCnpQAGANjFfvSjH30tk8kk6rps2rRpsWrVKuEBAImyatWqeOGFFxI1cyaTKfzpT386SnoAAHxaCmAAgF1o0KBBpX369Plqkmaur6+PCRMmCA8ASKQJEyZEXV1dombu27fvV/r27VssPQAAPg0FMADALnTZZZcdXlRUVJGkmadOnRpr164VHgCQSOvXr48pU6YkauaioqLK3/zmN0dIDwCAT0MBDACwi2Sz2cy+++57UpJmrqurc/cvAJB4jz76aOLuAt5///1PymazGekBAPBJFMAAALvI1VdfPbSsrKx3kmaeMmVKbNiwQXgAQKJt2LAhnn/++UTNXFZW1ueqq67aS3oAAHwSBTAAwC7y5S9/+bgkzVtfXx8TJ04UHACQCo8//nji7gL+0pe+dLzkAAD4JApgAIBdYPTo0R3atm07IkkzT5s2LdatWyc8ACAVPvzww5g+fXqiZm7fvv2I0aNHd5AeAABbogAGANgFfvrTn47KZDKFSZm3vr4+HnnkEcEBAKnyyCOPRH19fWLmzWQyhT/96U+/JjkAALZEAQwAsJN16tQp26dPn6OTNLO7fwGANFq3bl1MmzYtUTP36dPnmE6dOmWlBwDAx1EAAwDsZFddddUB2Wy2dVLmbWxsjEmTJgmOVOvYsWN06OCJmgD5aNKkSdHY2JiYebPZbOurrrrqAMkBAPBxFMAAADvZiBEjvp6keV988cVYtWqV4Ei1Ll26xIUXXhinnXZadO3a1UIA8siqVavipZdecj0JAEBqKIABAHaiM844o3tlZeXeSZk3l8vFxIkTBUdeyGQyMXjw4PjVr34VY8aMcUcwQB55/PHHI5fLJWbeysrKvc8444zukgMA4KMogAEAdqJTTjnlqxGRScq8CxYsiPfee09w5JVMJhN77713XHjhhTFmzJho3769pQCk3HvvvRcLFy5M1B9X/3NdCQAA/4cCGABgJ+nVq1ezXr16fTlJM3v3L/nsr0XwBRdcECeffHK0bdvWUgBSLGnXPb169fpyr169mkkOAIB/pAAGANhJrrjiioOLiopaJmXeBN4JAztEYWFhDB8+PC688MIYPXp0VFZWWgpACi1YsCCWLVuWmHmLiopaXnnllYdIDgCAf6QABgDYSYYPH/6VJM2btHfhwY5WVFQUI0aMiEsuuSRGjx4dLVu2tBSAFMnlcvH4448naub99tvvK5IDAOAfKYABAHaC0aNHd6isrByalHnXrl0bL7/8suDgI/y1CL744ovjhBNOiBYtWlgKQEq89NJLsW7dusTMW1lZudfo0aM7SA4AgL+lAAYA2AlOP/30o5J07fXMM89EQ0OD4GALiouL47DDDouxY8fGqFGjoqyszFIAEq6hoSGeeeaZJI1c8D/XmQAA8P8vEq0AAGDHymazmX79+n05KfPW1tbGlClTBAefUnFxcYwcOTIuvfTSGDVqVJSWlloKQII9//zzUVtbm5h5+/Xr9+VsNpuRHAAAf6UABgDYwX7zm9/sWVJS0jkp886YMSOqq6sFB1uppKQkRo4cGZdcckkcffTRUVJSYikACVRdXR0zZ85M0p8/na+44orBkgMA4K8UwAAAO9gXvvCFLyVl1lwuF08//bTQ4DNo3rx5HHXUUXHJJZfEyJEjI5vNWgpAwjz11FORy+USM++RRx75ZakBAPBXCmAAgB1oyJAhpZ07dz4iKfO+/vrrsWLFCsHBdlBeXh6jRo2KSy+9VBEMkDArVqyI119/PTHzdunS5fD+/ft79AQAABGhAAYA2KHGjh17aGFhYWJeCOruX9j+KioqYtSoUXHxxRfH4YcfHkVFRZYC4LpouyosLGz+H//xHwdLDQCACAUwAMAOteeeex6ZlFnXrl0b8+bNExrsIK1atYrjjz8+LrroohgxYkQUFPh2DKApmzdvXqxZsyYx8+61115HSg0AgAgFMADADnPMMce0bt269b5Jmfe5556LxsZGwcEO1qZNmxg9enRcfPHFimCAJqyxsTGee+65JP35MvyYY45pLTkAAPykAQBgBznzzDMPz2Qyibje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FpafffbZvaQFAJA+CmAAgE9p//3375+EOV9//XVhAXmjvLw8Ro0aFf/+7/8eI0eOjGw2aymA67FP6fOf//xAaQEApI8CGADgU+rRo8fuTX3G2traePvtt4UF5J2KiooYNWpUXHzxxXH44Yc3+XdvAum2ePHiRLySo1evXoOkBQCQPgpgAIBPqXXr1k3+DoklS5ZEQ0ODsIC81apVqzj++OPj4osvjhEjRkRBgW97gZ2voaEhlixZ0uTnbNOmjQIYACCFfCcMAPApDBkypLR58+a9m/qcb775prAAIqJ169YxevToGDt2rCIYcF32MZo3b95n0KBBpdICAEgX3wEDAHwKp556av9MJtPkr53eeustYQH8jTZt2sTo0aPjvPPOi+HDhyuCAddlfyOTyRT84Ac/+Jy0AADSxXe+AACfwuDBg5v84/Hq6+tj0aJFwgL4CJ06dYqTTz45/u3f/i323nvvyGQylgLsUIsXL07Eqzn23HPPgdICAEgXBTAAwKfQpUuXAU19xnfeeSfq6uqEBbAFnTt3jjFjxiiCgR2utrY23n333SRc53oPMABAyiiAAQA+hZYtW/Zv6jN6/DPAp9elS5cYM2ZMnHvuuTF48GALAfL2+iwJ17kAAGwdBTAAwCcYPnx4eUlJSeemPqfHPwNsvV69esVpp50W55xzTvTvrwMB8u/6rLS0tPPw4cPLpQUAkB4KYACAT/Ctb31rt4ho8s8IXbx4sbAAtlGfPn3irLPOinPOOSd22203CwG2i4T8gl7m29/+dj9pAQCkhwIYAOAT7L777k2+CVi7dm1s2LBBWACfUZ8+feLss8+OM888M3r27GkhwGfy4Ycfxrp165r8nAMHDlQAAwCkSJEVAABsWadOnZr8D8TefvttQQFsRwMGDIgBAwbEggULYvz48bF06VJLAbb5Oq1Vq1audwEA2GkUwAAAn6CyslIBDJCnBgwYEP3794958+bFQw89FO+++66lAFtlyZIlsddeezX1613PvgcASBEFMADAFnTq1CnbvHnzXk19ziVLlggLYAfJZDIxePDg2GOPPeLll1+OBx98MFauXGkxQGqu05o3b967Xbt2RatXr66XGABA8nkHMADAFowZM6ZnJpPJNuUZGxsbPZoUYCfIZDKx9957x4UXXhhjxoyJ9u3bWwrwiZYuXRqNjY1NesaCgoLsqaee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k8nE7NmzY+LEibFmzRoNAXif/VNSzJo161kTAwBongTAAAC70O233/7KOeecszU/P78022sdMGBAtG/f3tWu0My9+uqrMWnSpFi1apVmALyPjh07xgEHHJCIWhsbG6u/8Y1v/NXUAACaJwEwAMAutHLlyob169fP6tat2+hsrzWVSsXhhx8ekyZNMjhohubMmROTJ0+OJUuWaAbAh3D44YdHKpVKRK3r16+fVVFR0WhqAADNU54WAADsWq+++mpirts77LDDDAyamTfffDP+/d//PX7yk58IfwE+pFQqFSNGjEhMva+88sozpgYA0Hw5AQwAsIvddNNNz5166qnV+fn5rbO91m7dukX//v1j4cKFBgc5btmyZfHYY4/F/PnzNQPgIzrggAOic+fOiai1sbFxy4033jjL1AAAmi8BMADALrZy5cqG8vLyGT179vx0Euo9+uijBcCQw5YvXx7jxo0T/AJ8wv1SUpSXlz9TXl7eYGoAAM2XABgAYDeYMWPGUxdccEEiAuAhQ4ZE69ato7q62uAgh6xcuTImTJgQc+fOjUwmoyEAH1ObNm3i0EMPTUy9zz777FOmBgDQvPkGMADAbvDVr371lYaGhk1JqLWgoCCOOOIIQ4McsW7duvj5z38ed955Z8yZM0f4C/AJjRw5MvLz8xNRa0NDw8abbrrpVVMDAGjenAAGANgNKisrm1atWjW9T58+5ySh3qOPPjqefPJJQREk2Pr16+Oxxx6L2bNn+3cZYBdJpVIxatSoxNS7cuXKadXV1WmTAwBo3pwABgDYTaZNm5aY6/c6duwYAwYMMDRIoA0bNsSvf/3r+Nd//dd49dVXhb8Au9CAAQOiY8eOian36aefftLUAAAQAAMA7CZf+9rX5tTX11ckpd6jjjrK0CBBqqqq4v77749vf/vb8eKLL0ZTU5OmAOxiRx55ZGJqra+vX/eNb3zjdVMDAMAV0AAAu0ltbW16xYoVT++///6fT0K9hx56aLRt2zaqqqoMD7LYli1bYsqUKfHcc8/F9u3bNQRgN2nbtm0MGTIkMfUuX778qdraWtc/AwDgBDAAwO70xz/+cUJSas3Pz4/jjjvO0CBL1dTUxKOPPhq33XZb/OUvfxH+Auxmxx57bOTn5yel3Myvf/3rCaYGAECEABgAYLe66667llZXV89PSr1HH310tGjRwuAgi7wd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qATAAABZ4umnn968fPnyxF3xN3r06GjXrp0BAgBZqUOHDnH88ccnru5ly5ZNmD59+hYTBADgoxIAAwBkkbvvvvtPmUymKUk1FxYWxumnn254AEBWOvPMMxP3yYpMJtN41113/dH0AAD4OATAAABZ5Be/+MWatWvXTkta3UcccUT06tXLAAGArNK7d+847LDDEld3eXn5X+6///51JggAwMchAAYAyDIPP/zwn5JWcyqVijPPPNPwAICsMmbMmEilUomr+8EHH/yT6QEA8HEJgAEAsszXv/71NzZs2DAraXUPHDgwDj74YAMEALLCoEGDYsCAAYmru6KiYuatt966wAQBAPi4BMAAAFlo3Lhxv01i3WPGjIm8PFtMAGDvysvLizFjxiSy9j//+c+/NUEAAD7RflgLAACyz/XXXz+nqqrqr0mru1evXnHUUUcZIACwVx1zzDHRvXv3xNW9adOmV2666aa5JggAwCchAAYAyFJ/+tOf7k1i3WPGjInS0lIDBAD2ijZt2sRZZ52VyNofeOCBe00QAIBPSgAMAJClbrrpprlJPAVcXFwcZ555pgECAHvFWWedFS1btkxc3Zs2bXrl5ptvnmeCAAB8UgJgAIAsNm7cuF8lse5Ro0ZF7969DRAA2KP69OkTI0eOTGTtjz322K9MEACAXUEADACQxcaOHTu7qqrqb0mrO5VKxfnnnx+pVMoQAYA9tv/4/Oc/n8j9R2Vl5d+uueaav5kiAAC7ggAYACDLTZ069bdJrLtv374xZMgQAwQA9ojDDjsssTeQTJ48+TcmCADAriIABgDIcpdeeumLVVVVryax9s9//vNRXFxsiADAblVaWhrnn39+Imuvqqr66+WXX/6SKQIAsKsIgAEAEuChhx76WRLrLisri9NPP90AAYDd6qyzzoqSkpIklp753e9+91MTBABgVxIAAwAkwA033DB3w4YNs5JY+3HHHRd9+vQxRABgt+jbt28cddRRiay9oqJi1te//vU3TBEAgF1JAAwAkBA///nPfxoR6aTVnUql4vOf/3zk5dl6AgC7Vn5+flx00UWRSqWSWH76F7/4xX+bIgAAu5q3cAAACXHHHXe8tW7duulJrL13795xzDHHGCIAsEudcMIJ0b1790TWXl5e/pc77rjjLVMEAGBXEwADACTI3XfffW8mk2lKYu1nnXVWtG3b1hAB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onv37vEv//IvccABBzSrdWcymaYnnnji9s997nPPeAoAAODDEQADAJBYDz/88NJjjjlmY+/evY+KiGZzFKq0tDSGDx8eq1evjvXr13sQAHLcwIED45prrol27do1t6VnZsyY8YOzzjprqqcAAAA+PAEwAACJdv/99795zDHHVO6zzz5HRDMKgVu0aBGHHXZYtGzZMhYuXBjpdNrDAJBjCgoK4pxzzonzzz8/WrRo0dyWn37uuefuOuWUUyZ4EgAA4KMRAAMAkHi///3v5w8bNmxF3759j2lO10GnUqno27dvDB06NBYvXhxbtmzxMADkiJ49e8YNN9wQgwcPblbf+434x7XPU6ZM+fbpp58+2ZMAAAAfnQAYAICc8OCDDy4ZNmzYin79+jWrEDgionXr1nHEEUdEfX19LF261MMAkGCpVCpOOOGEuOKKK6JNmzbNbv07wt9vnXPOOX/xNAAAwMcjAAYAIGc89NBDS4YNG7a8X79+xza3EDg/Pz8OPvjg6NWrV8yfPz8aGho8EAAJU1JSEpdffnmccMIJkZ+f3+zWn8lkGp944olvffazn53maQAAgI9PAAwAQE556KGHlo4cOXJdnz59RqWa252ZEdG1a9cYNmxYLFu2LCorKz0QAAnRt2/fuO6662K//fZrluvPZDLpp59++rvnnHPO054GAAD4ZATAAADknD/96U+LDj300KX7779/s7sOOiKiuLg4jjzyyCgpKYk333wz0um0hwIgSxUUFMRnP/vZuPDCC6OkpKRZ9iCdTjc88sgjt5x//vnTPREAAPDJCYABAMhJDz/88NId3wQelUqlmt09mqlUKvr06RMHH3xwLFy4MLZt2+ahAMgynTt3jrFjx8bQoUOjGV5aERH/CH+feOKJ2y+88MLnPBEAALBrCIABAMhZDz300JIePXq8NmjQoGPz8vJaNMcetG3bNkaNGhVNTU2xZMkSDwVAFkilUjF69Oi48soro0OHDs22D01NTdt++9vf/stll132oqcCAAB2HQEwAAA5bdKkSeXdu3efM3jw4GYbAufn58eAAQOiV69esWDBgti+fbsHA2Avad26dVx66aVx/PHHR35+frPtQ2NjY/WvfvWrf7nuuute81QAAMCuJQAGACDnTZ48eW1jY+OMI4444uiCgoKS5tqHrl27xqhRo2Lbtm2xcuVKDwbAHpRKpWLUqFExduzY6NWrV7PuRX19/fo77rjjK9/61rcWejIAAGDXEwADANAsPP/881UbNmx45rjjjjuqsLCwrLn2obCwMAYNGhT77bdfLF68OGpraz0cALtZ+/bt44orrogTTzwxCgub9/uU2tralTfffPPVP/nJT1Z7MgAAYPcQAAMA0Gz87W9/27p27doZJ5xwwsjCwsK2zbkXnTp1ipEjR0Z1dbXTwAC70ciRI+Pqq6+OHj16NPte1NTULL/hhhuu/e1vf7vOkwEAALuPABgAgGbltdde2zpv3rynTznllKFFRUWdmnMvCgsL49BDD4399tsvFi1a5DQwwC709qnfk08+udmf+o2I2Lx587yLL774unHjxm30dAAAwO71fgFwat9zYsTOftC4LmLjq610DwCAxOrVq1fhs88++69du3Y9QTciGhoaYurUqTF58uRobGzUEICPqaCgIE499dQYPXq04HeH8vLyp4499tjvrly5skE3AABg9+swrDYKuuz8ZwJgAAByWuvWrfNeeumlm/fdd9+zdeMfVq9eHffff38sWbJEMwA+ov322y8uuugi1z2/w8KFC38/fPjwnzY0NGR0AwAA9gwBMAAAzd7zzz9/8aGHHnp1RKR0IyKTycTMmTPjz3/+c9TV1WkIwAcoKSmJ8847L0aMGBGplL9Kdki//PLL9xx77LEPagUAAOxZ7xcA+wYwAADNwn333Tfn+OOP39yrV6/DQwgcqVQqevfuHcOHD49169ZFRUWFhwTgPRxyyCExduzY6N+/v/B3h0wm0/jMM8/828knnzxONwAAYM97v28AC4ABAGg2fve7370xePDgJf369Ts6lUrl60hEcXFxjBgxInr06BFLly6N2tpaTQHYoUOHDvGFL3whzjzzzCguLtaQHZqammoeeOCBWz73uc9N1w0AANg7BMAAALDDww8/vKygoOC54cOHH1FQUFCqI//QrVu3OO6446K0tDQWL14cTU1NmgI0Wy1btoxzzjknLr300ujevbuGvENtbe2K22677arbbrvtDd0AAIC9RwAMAADv8Oyzz25avHjx0yeddNKQoqKiTjryD3l5edGnT58YOXJkbN26NVatWqUpQLNz+OGHx1e+8pUYMGBA5OXlacg7VFVV/e3CCy+8/oEHHvDdAAAA2MsEwAAA8C7z58+vefbZZ58+44wz+hcX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OigOOOCAKCoq0pQs0djYuGXmzJk/PvPMMyc2NDS4XgAAAPjQBMAAAJADjjzyyNY/+9nPrujbt++5EZGnI9mluro6Fi5cGPPnz4958+ZFZWWlprBXtGvXLg455JAYMGBA9O/fP1q39nsjWSj91ltv/fmqq676xaxZs6q1AwAA+KgEwAAAkEN++ctfjhgzZsyNrVq16q0b2SmdTsfKlStj0aJFsXDhwli8eHFs27ZNY9gtSkpKol+/ftG/f//Yf//9o1evXpGX53dEslVNTc3yRx999EdXXnnlK7oBAAB8XAJgAADIMd26dSt8+OGHPzd48ODL8vPzbdyzXCaTiTVr1sTChQtj0aJFsWjRotiyZYvG8LGUlZVF//79/xn6du/ePVKplMZkuaampprXXnvtV2PGjHmgoqKiUUcAAIBPQgAMAAA56rjjjiv7r//6r8tdC508mzdvjuXLl8eKFSti+fLlsXjx4qipqdEY/pfi4uLo169f9O7dO/bZZ5/Yd999o6ysTGMSJJPJpJcsWfLn66677pfTp0/3mx8AAMAuIQAGAIAc99Of/nTIueeee3NpaWlf3UimxsbGWLlyZSxdujSWLVsWy5cvj3Xr1kUmk9GcZiKVSkWXLl1in332iT59+kSfPn2iV69eUVBQoDkJtXXr1sUPPvjgj6699tq/6wYAALArCYABAKAZaNeuXf64cePOGTp06BUFBQWtdST56uvrY+XKlf88KbxixYpYu3ZtpNNpzUm4vLy86Nq1a+yzzz7//KdXr17RsmVLzckBjY2NW/7617/+4pxzznm0srKySUcAAIBdTQAMAADNyIknntjmnnvuuXzfffcdk0qlHB3MMdu3b481a9bEmjVrYu3atbF27dooLy+PDRs2CIazUF5eXnTs2DG6desWXbt2jW7dukW3bt2iR48eUVhYqEE5JpPJNC5ZsuRR1z0DAAC7mwAYAACaoa9+9av7Xnfdddd16NDhCN3IfY2Njf8MhNetWxfr1q2LioqKWLduXWzbtk2DdrPS0tLo3LnzP//p0qVLdO3aNbp27eoK52Ziw4YNM//rv/7rxz/60Y+W6wYAALC7CYABAKAZ++UvfznirLPOuq64uNj3gZupmpqaWL9+/T//qaioiMrKyqisrIxNmzZFY2OjJn2AgoKCaN++fbRr1y7at28fHTt2jC5dukSnTp2ic+fOUVxcrEnN1NatW98aP378PVdcccXLugEAAOwpAmAAAGjm2rVrl//ggw+eOWLEiCsLCwvb6gjvtHnz5n+GwZs2bYrKysqorq6OLVu2xJYtW6K6ujqqq6sjk8nk3NpTqVS0bt06WrduHWVlZdGmTZsoLS39X2Fvu3btok2bNh4U/peGhobKl1566efnnHPO+OrqavevAwAAe5QAGAAAiIiIoUOHFt97770XHHjggRfk5+c7ssiHlk6n/xkEV1dXR01Nzfv+k8lkora2NtLpdNTX10dTU1PU1dXt0u8U5+XlRcuWLSM/Pz+KiooiLy8vWrVqFalUKoqLi3f6T0lJSbRq1eqfgW9paWnk5eUZMB9aU1NTzYIFC/745S9/+Y+zZ8+u0REAAGBvEAADAAD/y2mnndb2rrvuurRPnz5n5+XlFeoIe9LbgfDbtm/f/r7XUBcUFESLFi3++b/fDnxhT8pkMg1LliwZd8stt/xq0qRJVToCAADsTQJgAABgp0477bS2d95554X777//5wTBAP9XJpNpWLhw4QO33nrrHwS/AABAtni/ADi/7UHRc2c/SG+LqC33/gcAAHLZokWL6u69995X0un0swcddFCnkpKS3roC8A8VFRUz/7//7/+77aKLLpq6aNGiOh0BAACyRXH3xsgr3fnPBMAAAEDMnDmz8u67736qqalpWr9+/Ypbt27dN5VKpXQGaG4ymUx6zZo1U+65555/Peeccx6cOXNmpa4AAADZRgAMAAB8KDNnzqz88Y9//Gw6nZ4uCAaak7eD37vvvvtfzz///McEvwAAQDYTAAMAAB+JIBhoLgS/AABAEgmAAQCAj+XtILisrOyFvn37diwuLu4VEYJgIBdkKioqnrv33nu/PWbMmEcEvwAAQJK8XwCc2vecGLGzHzSui9j4aivdAwAA/unqq6/u8ZWvfOX8Pn36nJWXl9dCR4CkSafT9UuXLh3/X//1Xw/84he/WKMjAABAEnUYVhsFXXb+MwEwAADwkZ1xxhntb7/99rMPPPDA8/Pz81vrCJDtmpqaqhcsWPDgd77znUcmTpzotC8AAJBoAmAAAGC3GD58eMkPf/jDzwwePPjioqKijjoCZJv6+voNr7322u9vvPHGx2fPnl2jIwAAQC4QAAMAALvV0KFDi++5556zDjnkkPOKioq66giwt9XV1a19/fXXH7z++uvHC34BAIBcIwAGAAD2iFatWuXdc889w0455ZTzO3bseJSOAHtYZsOGDbOmTJny4PXXX/9qbW1tWksAAIBcJAAGAAD2uH/913/tf/7555/dq1ev0/Ly8lroCLC7pNPp+pUrV05+4IEHHvnOd76zSEcAAIBcJwAGAAD2mjPOOKP97bfffvYBBxzw2YKCgjY6AuwqjY2NVW+++eafv/e97z06YcKETToCAAA0FwJgAABgrxs+fHjJ97///dGDBg0aU1paur+OAB9XdXX1wtdee+3Rr371q1Nfe+21Wh0BAACaGwEwAACQVb761a/ue8EFF3y6b9++ZxUUFLTWEeCDNDY2bnnrrbfG/+EPf5j4ox/9aLmOAAAAzZkAGAAAyEpDhw4t/sEPfnDy4MGDz27dunV/HQHerbq6+s2XX375weuuu+7ppUuXbtcRAAAAATAAAJDlCgsLU3ffffeQ0aNHn9G1a9fj8vLyinQFmq90Ol1XXl4+bcqUKROuvfbav+sIAADA/yYABgAAEqNPnz4t/v3f/33UyJEjz2rfvv2nIiKlK9AsZDZt2vTXF1544bGvfe1rzzntCwAA8N4EwAAAQCJddNFFXa6++uqTDzzwwLNbtmzZTUcg99TV1a1ZsGDBuJ/+9KdP3n///et0BAAA4IMJgAEAgETr1q1b4d13333k4YcffmqHDh2OyMvLK9QVSK50Ot2wcePGWbNmzZp8/fXXz6qoqGjUFQAAgA9PAAwAAOSMo48+uvWtt956/CGHHHJKu3btBkdEnq5AIqQrKytfmzdv3uQ777xz+owZM6q1BAAA4OMRAAMAADnpuOOOK/vGN75x/CGHHHJa27ZtB4bvBUO2yVRVVc2dN2/epO9///vTpk+fvkVLAAAAPjkBMAAAkPNuu+22vmedddZJffr0Oa5Vq1a9dQT2ntra2uXLly+f/uijjz51xx13vKUjAAAAu5YAGAAAaFa+9KUvdbv44ouP7t+//wlOBsMekamqqpq7cOHCv/z+97+fcd9995VrCQAAwO4jAAYAAJqtSy65pOtll112jDAYdrl0VVXVvIULF/7lV7/61bO/+93v1moJAADAniEABgAAiIirr766x/nnnz9q//33P7JNmzZDUqlUga7Ah5fJZBoqKyv/vnjx4uf+9Kc/zbr33ntX6woAAMCeJwAGAAB4l379+hV97WtfGzRy5MhRPXv2PLaoqKizrsD/VV9fv37VqlXPvPDCC8/9+7//+5zFixfX6woAAMDeJQAGAAB4H61bt8678847Bx599NFHde/efURpaen+4apomq/M1q1bF69Zs+bF5557btY3v/nNOdXV1WltAQAAyB4CYAAAgI9g8ODBrcaOHXvI8OHDD+vevfvw1q1bHxACYXJXprq6+s01a9a88sorr7z8k5/8ZN5rr71Wqy0AAADZSwAMAADwCVx//fX7nHHGGYf169dvePv27Yfm5+e31hWSrLGxsXrjxo2vvvXWWy+PHz/+lR//+McrdQUAACA5BMAAAAC70Je//OUe55xzzvA+ffoM7tix45CioqKuukI2q6+vX7t27doXFy9ePGfixImv3Xvvvat1BQAAILkEwAAAALvRl7/85R6f+cxnBvfr129Qly5dDm/ZsqVAmL2qrq5u7bp16wS+AAAAOUoADAAAsIe0atUq75prrtnn2GOPPXi//fY7uH379oeUlpb2TaVS+brDbpKuqalZtnHjxnlvvfXW3GeffXbef/3Xfy2vra1Naw0AAEBuEgADAADsRQceeGDLq6+++oAhQ4Yc3LNnz4Pbtm17sGuj+biampqqq6qqXi8vL583Z86ceb/85S/nvfjii1t1BgAAoPkQAAMAAGSZoUOHFn/xi1/cf9CgQQf26NHjwHbt2h3YqlWr3qlUKk932CFdU1OzvLKycsHq1asXzJkzZ8Gf//znJTNmzKjWGgAAgOZNAAwAAJAAxx13XNkFF1xw4MEHH3xA165dDywtLd23pKRkn1QqVag7uS2TyTRs27ZtRXV19dJ169YtfOONNxZOmDBh4YQJEzbpDgAAAO8mAAYAAEiw8847r+OJJ57Yp3///vt16dKlT5s2bfZr3bp1v/z8/GLdSZampqaa6urqxZs3b16ybt26pQsXLlzy9NNPL33ooYc26A4AAAAflgAYAAAgx7Rr1y7/kksu6TFkyJCe++67b89OnTr1Kisr61VcXNyzZcuW3VKpVL4u7R2ZTKaprq6uvKamZtWWLVtWVlRUrFy6dOnK2bNnr7r//vvXVFZWNukSAAAAn4QAGAAAoBnp1KlTwec+97luQ4cO7bnPPvv0aNeuXafWrVt3Li4u7tqyZcvORUVFnfLy8lro1MeTTqe319fXr6+rq6uoqalZW11dvb6y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AACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoMY3JP//9K8My551lzpAk293a7QAAAAAAAAD8iIw3r+SL7TpPxuSt4/ibJJuz20QDBgAAAAAAAHhzrJPp6NvHYcyyjLl7dJTPbl/Jp6sPLufSsM+5ec7q5YOrF0OeP/SVaAAAAAAAAIA3weH7u6zfm79dWDIMSw6225w785vsx3XyzasOby5ssz69c4sAAAAAAAAAr9n69C6bC9sT93a7rKdnORin5Otxynzi1JQcfiwCAwAAAAAAALxO69O7HH68TaaT98cp85R8vbp3Nfszv8q0LHn7xMF1sjk/ZzUPmZ/MmWefhAYAAAAAAAD4oayPdjn7223Gn7x6ZrXPnetX8mBKkpv3cufDd/Pufn5FL56SzcVtNheT3dNt8tQlAwAAAAAAAHyv1sm0ySv/9XtsNWZ3I/lHkgzHi7/4XY7WYz5yiwAAAAAAAAA/Ivtcv/3nPEyS1fHa42t5+vNLyX7JoRsCAAAAAAAAePPt1/nbV3/KvePn1Xc371/NYxEYAAAAAAAA4M0yTHk2rvNo2WdzvHZqzN9v/SF3vju3evng/at5fPDLPDu1yuGyZHSVAAAAAAAAAK/XOGe4ueSvZ4e8M8xZbVe5ceuPufvy3Oqkw4+v5emDX+fuuTlLhhwsEYIBAAAAAAAAXpclGR8OuXP0TR4cPM/9z/+SRyfNDf/1TZezOp/87KdjzizJZkhO7edMy/w/nAUAAAAAAADg/zaMWcZkP8/ZLsmLacr2/MV8+cnvs/tP5/4FmLjAq1ifcioAAAAASUVORK5CYII=";function H0($,q,Q){if(typeof $==="string"&&!isNaN(Number($)))$=Number($);if(typeof $==="number"&&$<100)return v0($);if(typeof $==="number"&&$>=100)return $;if(typeof $==="string"&&$.includes("%")){if(q&&q==="X")return Math.round(parseFloat($)/100*Q.width);if(q&&q==="Y")return Math.round(parseFloat($)/100*Q.height);return Math.round(parseFloat($)/100*Q.width)}return 0}function Y5($){return $.replace(/[xy]/g,function(q){let Q=Math.random()*16|0;return(q==="x"?Q:Q&3|8).toString(16)})}function k0($){if(typeof $>"u"||$==null)return"";return $.toString().replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function v0($){if(typeof $==="number"&&$>100)return $;if(typeof $==="string")$=Number($.replace(/in*/gi,""));return Math.round(L0*$)}function Y0($){let q=Number($)||0;return isNaN(q)?0:Math.round(q*w8)}function S1($){return $=$||0,Math.round(($>360?$-360:$)*60000)}function j7($){let q=$.toString(16);return q.length===1?"0"+q:q}function g7($,q,Q){return(j7($)+j7(q)+j7(Q)).toUpperCase()}function R0($,q){let Q=($||"").replace("#","");if(!C7.test(Q)&&Q!==G2.background1&&Q!==G2.background2&&Q!==G2.text1&&Q!==G2.text2&&Q!==G2.accent1&&Q!==G2.accent2&&Q!==G2.accent3&&Q!==G2.accent4&&Q!==G2.accent5&&Q!==G2.accent6)console.warn(`"${Q}" is not a valid scheme color or hex RGB! "${Q2}" used instead. Only provide 6-digit RGB or 'pptx.SchemeColor' values!`),Q=Q2;let K=C7.test(Q)?"srgbClr":"schemeClr",J='val="'+(C7.test(Q)?Q.toUpperCase():Q)+'"';return q?`${q}`:``}function kB($,q){let Q="",K=Object.assign(Object.assign({},q),$),J=Math.round(K.size*w8),Z=K.color,G=Math.round(K.opacity*1e5);return Q+=``,Q+=R0(Z,``),Q+="",Q}function B2($){let q="solid",Q="",K="",J="";if($){if(typeof $==="string")Q=$;else{if($.type)q=$.type;if($.color)Q=$.color;if($.alpha)K+=``;if($.transparency)K+=``}switch(q){case"solid":J+=`${R0(Q,K)}`;break;default:J+="";break}}return J}function a2($){return $._rels.length+$._relsChart.length+$._relsMedia.length+1}function c7($){if(!$||typeof $!=="object")return;if($.type!=="outer"&&$.type!=="inner"&&$.type!=="none")console.warn("Warning: shadow.type options are `outer`, `inner` or `none`."),$.type="outer";if($.angle){if(isNaN(Number($.angle))||$.angle<0||$.angle>359)console.warn("Warning: shadow.angle can only be 0-359"),$.angle=270;$.angle=Math.round(Number($.angle))}if($.opacity){if(isNaN(Number($.opacity))||$.opacity<0||$.opacity>1)console.warn("Warning: shadow.opacity can only be 0-1"),$.opacity=0.75;$.opacity=Number($.opacity)}if($.color){if($.color.startsWith("#"))console.warn('Warning: shadow.color should not include hash (#) character, , e.g. "FF0000"'),$.color=$.color.replace("#","")}return $}function DB($,q,Q){var K,J;let Z=2.3+(((K=$.options)===null||K===void 0?void 0:K.autoPageCharWeight)?$.options.autoPageCharWeight:0),G=Math.floor(q/w8*L0)/((((J=$.options)===null||J===void 0?void 0:J.fontSize)?$.options.fontSize:k2)/Z),W=[],B=[],V=[],U=[];if($.text&&$.text.toString().trim().length===0)B.push({_type:D0.tablecell,text:" "});else if(typeof $.text==="number"||typeof $.text==="string")B.push({_type:D0.tablecell,text:($.text||"").toString().trim()});else if(Array.isArray($.text))B=$.text;let w=[];return B.forEach((F)=>{var M;if(typeof F.text==="string"){if(F.text.split(` + `)+" "+Q[1];return Q[0]+q+" "+$.join(", ")+" "+Q[1]}function vK($){return Array.isArray($)}function z7($){return typeof $==="boolean"}function z5($){return $===null}function qW($){return $==null}function fK($){return typeof $==="number"}function F5($){return typeof $==="string"}function KW($){return typeof $==="symbol"}function N6($){return $===void 0}function Z5($){return Y6($)&&F7($)==="[object RegExp]"}function Y6($){return typeof $==="object"&&$!==null}function W7($){return Y6($)&&F7($)==="[object Date]"}function G5($){return Y6($)&&(F7($)==="[object Error]"||$ instanceof Error)}function W5($){return typeof $==="function"}function JW($){return $===null||typeof $==="boolean"||typeof $==="number"||typeof $==="string"||typeof $==="symbol"||typeof $>"u"}function VW($){return $ instanceof Buffer}function F7($){return Object.prototype.toString.call($)}function Z7($){return $<10?"0"+$.toString(10):$.toString(10)}function ZW(){var $=new Date,q=[Z7($.getHours()),Z7($.getMinutes()),Z7($.getSeconds())].join(":");return[$.getDate(),UW[$.getMonth()],q].join(" ")}function RK(...$){console.log("%s - %s",ZW(),B7.apply(null,$))}function IK($,q){if(q)$.super_=q,$.prototype=Object.create(q.prototype,{constructor:{value:$,enumerable:!1,writable:!0,configurable:!0}})}function M7($,q){if(!q||!Y6(q))return $;var Q=Object.keys(q),K=Q.length;while(K--)$[Q[K]]=q[Q[K]];return $}function CK($,q){return Object.prototype.hasOwnProperty.call($,q)}function w7($,q){if(!$){var Q=Error("Promise was rejected with a falsy value");Q.reason=$,$=Q}return q($)}function gK($){if(typeof $!=="function")throw TypeError('The "original" argument must be of type Function');function q(...Q){var K=Q.pop();if(typeof K!=="function")throw TypeError("The last argument must be of type Function");var J=this,Z=function(...G){return K.apply(J,...G)};$.apply(this,Q).then(function(G){process.nextTick(Z.bind(null,null,G))},function(G){process.nextTick(w7.bind(null,G,Z))})}return Object.setPrototypeOf(q,Object.getPrototypeOf($)),Object.defineProperties(q,Object.getOwnPropertyDescriptors($)),q}var iG,aG,h1,QW=()=>{},UW,jK,AK,XK,GW;var G8=b1(()=>{iG=/%[sdj%]/g;aG=(($={},q={},Q)=>((Q=typeof process<"u"&&!1)&&(Q=Q.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase()),q=new RegExp("^"+Q+"$","i"),(K)=>{if(K=K.toUpperCase(),!$[K])if(q.test(K))$[K]=function(...J){console.error("%s: %s",K,pid,B7.apply(null,...J))};else $[K]=function(){};return $[K]}))(),h1=(($)=>($.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},$.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},$.custom=Symbol.for("nodejs.util.inspect.custom"),$))(function($,q,...Q){var K={seen:[],stylize:rG};if(Q.length>=1)K.depth=Q[0];if(Q.length>=2)K.colors=Q[1];if(z7(q))K.showHidden=q;else if(q)M7(K,q);if(N6(K.showHidden))K.showHidden=!1;if(N6(K.depth))K.depth=2;if(N6(K.colors))K.colors=!1;if(K.colors)K.stylize=lG;return B5(K,$,K.depth)});UW=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];jK=(($)=>($.custom=Symbol.for("nodejs.util.promisify.custom"),$))(function($){if(typeof $!=="function")throw TypeError('The "original" argument must be of type Function');if(kCustomPromisifiedSymbol&&$[kCustomPromisifiedSymbol]){var q=$[kCustomPromisifiedSymbol];if(typeof q!=="function")throw TypeError('The "nodejs.util.promisify.custom" argument must be of type Function');return Object.defineProperty(q,kCustomPromisifiedSymbol,{value:q,enumerable:!1,writable:!1,configurable:!0}),q}function q(...Q){var K,J,Z=new Promise(function(G,W){K=G,J=W});Q.push(function(G,W){if(G)J(G);else K(W)});try{$.apply(this,Q)}catch(G){J(G)}return Z}if(Object.setPrototypeOf(q,Object.getPrototypeOf($)),kCustomPromisifiedSymbol)Object.defineProperty(q,kCustomPromisifiedSymbol,{value:q,enumerable:!1,writable:!1,configurable:!0});return Object.defineProperties(q,Object.getOwnPropertyDescriptors($))});({TextEncoder:AK,TextDecoder:XK}=globalThis),GW={TextEncoder:AK,TextDecoder:XK,promisify:jK,log:RK,inherits:IK,_extend:M7,callbackifyOnRejected:w7,callbackify:gK}});var H7={};c1(H7,{resolveObject:()=>SK,resolve:()=>uK,parse:()=>D6,format:()=>TK,default:()=>DW,Url:()=>Z2,URLSearchParams:()=>OK,URL:()=>D7});function L7($){return typeof $==="string"}function PK($){return typeof $==="object"&&$!==null}function M5($){return $===null}function WW($){return $==null}function Z2(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function D6($,q,Q){if($&&PK($)&&$ instanceof Z2)return $;var K=new Z2;return K.parse($,q,Q),K}function TK($){if(L7($))$=D6($);if(!($ instanceof Z2))return Z2.prototype.format.call($);return $.format()}function uK($,q){return D6($,!1,!0).resolve(q)}function SK($,q){if(!$)return q;return D6($,!1,!0).resolveObject(q)}var D7,OK,BW,zW,FW,MW,wW,N7,yK,hK,NW=255,xK,YW,kW,Y7,k6,k7,DW;var v7=b1(()=>{({URL:D7,URLSearchParams:OK}=globalThis);BW=/^([a-z0-9.+-]+:)/i,zW=/:[0-9]*$/,FW=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,MW=["<",">",'"',"`"," ","\r",` +`,"\t"],wW=["{","}","|","\\","^","`"].concat(MW),N7=["'"].concat(wW),yK=["%","/","?",";","#"].concat(N7),hK=["/","?","#"],xK=/^[+a-z0-9A-Z_-]{0,63}$/,YW=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,kW={javascript:!0,"javascript:":!0},Y7={javascript:!0,"javascript:":!0},k6={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},k7={parse($){var q=decodeURIComponent;return($+"").replace(/\+/g," ").split("&").filter(Boolean).reduce(function(Q,K,J){var Z=K.split("="),G=q(Z[0]||""),W=q(Z[1]||""),B=Q[G];return Q[G]=B===void 0?W:[].concat(B,W),Q},{})},stringify($){var q=encodeURIComponent;return Object.keys($||{}).reduce(function(Q,K){return[].concat($[K]).forEach(function(J){Q.push(q(K)+"="+q(J))}),Q},[]).join("&").replace(/\s/g,"+")}};Z2.prototype.parse=function($,q,Q){if(!L7($))throw TypeError("Parameter 'url' must be a string, not "+typeof $);var K=$.indexOf("?"),J=K!==-1&&K<$.indexOf("#")?"?":"#",Z=$.split(J),G=/\\/g;Z[0]=Z[0].replace(G,"/"),$=Z.join(J);var W=$;if(W=W.trim(),!Q&&$.split("#").length===1){var B=FW.exec(W);if(B){if(this.path=W,this.href=W,this.pathname=B[1],B[2])if(this.search=B[2],q)this.query=k7.parse(this.search.substr(1));else this.query=this.search.substr(1);else if(q)this.search="",this.query={};return this}}var V=BW.exec(W);if(V){V=V[0];var U=V.toLowerCase();this.protocol=U,W=W.substr(V.length)}if(Q||V||W.match(/^\/\/[^@\/]+@[^@\/]+/)){var w=W.substr(0,2)==="//";if(w&&!(V&&Y7[V]))W=W.substr(2),this.slashes=!0}if(!Y7[V]&&(w||V&&!k6[V])){var F=-1;for(var M=0;M127)v+="x";else v+=H[j];if(!v.match(xK)){var d=z.slice(0,M),_=z.slice(M+1),X=H.match(YW);if(X)d.push(X[1]),_.unshift(X[2]);if(_.length)W="/"+_.join(".")+W;this.hostname=d.join(".");break}}}}if(this.hostname.length>NW)this.hostname="";else this.hostname=this.hostname.toLowerCase();if(!D)this.hostname=new D7(`https://${this.hostname}`).hostname;var P=this.port?":"+this.port:"",g=this.hostname||"";if(this.host=g+P,this.href+=this.host,D){if(this.hostname=this.hostname.substr(1,this.hostname.length-2),W[0]!=="/")W="/"+W}}if(!kW[U])for(var M=0,N=N7.length;M0?Q.host.split("@"):!1;if(v)Q.auth=v.shift(),Q.host=Q.hostname=v.shift()}if(Q.search=$.search,Q.query=$.query,!M5(Q.pathname)||!M5(Q.search))Q.path=(Q.pathname?Q.pathname:"")+(Q.search?Q.search:"");return Q.href=Q.format(),Q}if(!z.length){if(Q.pathname=null,Q.search)Q.path="/"+Q.search;else Q.path=null;return Q.href=Q.format(),Q}var j=z.slice(-1)[0],n=(Q.host||$.host||z.length>1)&&(j==="."||j==="..")||j==="",d=0;for(var _=z.length;_>=0;_--)if(j=z[_],j===".")z.splice(_,1);else if(j==="..")z.splice(_,1),d++;else if(d)z.splice(_,1),d--;if(!L&&!D)for(;d--;d)z.unshift("..");if(L&&z[0]!==""&&(!z[0]||z[0].charAt(0)!=="/"))z.unshift("");if(n&&z.join("/").substr(-1)!=="/")z.push("");var X=z[0]===""||z[0]&&z[0].charAt(0)==="/";if(H){Q.hostname=Q.host=X?"":z.length?z.shift():"";var v=Q.host&&Q.host.indexOf("@")>0?Q.host.split("@"):!1;if(v)Q.auth=v.shift(),Q.host=Q.hostname=v.shift()}if(L=L||Q.host&&z.length,L&&!X)z.unshift("");if(!z.length)Q.pathname=null,Q.path=null;else Q.pathname=z.join("/");if(!M5(Q.pathname)||!M5(Q.search))Q.path=(Q.pathname?Q.pathname:"")+(Q.search?Q.search:"");return Q.auth=$.auth||Q.auth,Q.slashes=Q.slashes||$.slashes,Q.href=Q.format(),Q};Z2.prototype.parseHost=function(){var $=this.host,q=zW.exec($);if(q){if(q=q[0],q!==":")this.port=q.substr(1);$=$.substr(0,$.length-q.length)}if($)this.hostname=$};DW={parse:D6,resolve:uK,resolveObject:SK,format:TK,Url:Z2,URL:D7,URLSearchParams:OK}});var R7={};c1(R7,{request:()=>_W,globalAgent:()=>mW,get:()=>cW,default:()=>oW,STATUS_CODES:()=>pW,METHODS:()=>iW,IncomingMessage:()=>nW,ClientRequest:()=>bW,Agent:()=>dW});function RW($){return this[$]}var LW,HW,EK,vW,fW,IW,CW,jW=($,q,Q)=>{var K=$!=null&&typeof $==="object";if(K){var J=q?IW??=new WeakMap:CW??=new WeakMap,Z=J.get($);if(Z)return Z}Q=$!=null?LW(HW($)):{};let G=q||!$||!$.__esModule?EK(Q,"default",{value:$,enumerable:!0}):Q;for(let W of vW($))if(!fW.call(G,W))EK(G,W,{get:RW.bind($,W),enumerable:!0});if(K)J.set($,G);return G},h0=($,q)=>()=>(q||$((q={exports:{}}).exports,q),q.exports),cK,gW,x1,AW,bK,O1,nK,XW,dK,L6,yW,_K,f7,hW,xW,mK,pK,OW,PW,iK,oK,TW,uW,SW,EW,aK,_W,cW,bW,nW,dW,mW,pW,iW,oW;var I7=b1(()=>{LW=Object.create,{getPrototypeOf:HW,defineProperty:EK,getOwnPropertyNames:vW}=Object,fW=Object.prototype.hasOwnProperty;cK=h0(($)=>{$.fetch=J(globalThis.fetch)&&J(globalThis.ReadableStream),$.writableStream=J(globalThis.WritableStream),$.abortController=J(globalThis.AbortController);var q;function Q(){if(q!==void 0)return q;if(globalThis.XMLHttpRequest){q=new globalThis.XMLHttpRequest;try{q.open("GET",globalThis.XDomainRequest?"/":"https://example.com")}catch(Z){q=null}}else q=null;return q}function K(Z){var G=Q();if(!G)return!1;try{return G.responseType=Z,G.responseType===Z}catch(W){}return!1}$.arraybuffer=$.fetch||K("arraybuffer"),$.msstream=!$.fetch&&K("ms-stream"),$.mozchunkedarraybuffer=!$.fetch&&K("moz-chunked-arraybuffer"),$.overrideMimeType=$.fetch||(Q()?J(Q().overrideMimeType):!1);function J(Z){return typeof Z==="function"}q=null}),gW=h0(($,q)=>{if(typeof Object.create==="function")q.exports=function(Q,K){if(K)Q.super_=K,Q.prototype=Object.create(K.prototype,{constructor:{value:Q,enumerable:!1,writable:!0,configurable:!0}})};else q.exports=function(Q,K){if(K){Q.super_=K;var J=function(){};J.prototype=K.prototype,Q.prototype=new J,Q.prototype.constructor=Q}}}),x1=h0(($,q)=>{try{if(Q=(G8(),X0(Z8)),typeof Q.inherits!=="function")throw"";q.exports=Q.inherits}catch(K){q.exports=gW()}var Q}),AW=h0(($,q)=>{function Q(L,D){var z=Object.keys(L);if(Object.getOwnPropertySymbols){var N=Object.getOwnPropertySymbols(L);D&&(N=N.filter(function(H){return Object.getOwnPropertyDescriptor(L,H).enumerable})),z.push.apply(z,N)}return z}function K(L){for(var D=1;D0)this.tail.next=z;else this.head=z;this.tail=z,++this.length}},{key:"unshift",value:function(D){var z={data:D,next:this.head};if(this.length===0)this.tail=z;this.head=z,++this.length}},{key:"shift",value:function(){if(this.length===0)return;var D=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;return--this.length,D}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(D){if(this.length===0)return"";var z=this.head,N=""+z.data;while(z=z.next)N+=D+z.data;return N}},{key:"concat",value:function(D){if(this.length===0)return w.alloc(0);var z=w.allocUnsafe(D>>>0),N=this.head,H=0;while(N)f(N.data,z,H),H+=N.data.length,N=N.next;return z}},{key:"consume",value:function(D,z){var N;if(Dv.length?v.length:D;if(j===v.length)H+=v;else H+=v.slice(0,D);if(D-=j,D===0){if(j===v.length)if(++N,z.next)this.head=z.next;else this.head=this.tail=null;else this.head=z,z.data=v.slice(j);break}++N}return this.length-=N,H}},{key:"_getBuffer",value:function(D){var z=w.allocUnsafe(D),N=this.head,H=1;N.data.copy(z),D-=N.data.length;while(N=N.next){var v=N.data,j=D>v.length?v.length:D;if(v.copy(z,z.length-D,0,j),D-=j,D===0){if(j===v.length)if(++H,N.next)this.head=N.next;else this.head=this.tail=null;else this.head=N,N.data=v.slice(j);break}++H}return this.length-=H,z}},{key:k,value:function(D,z){return M(this,K(K({},z),{},{depth:0,customInspect:!1}))}}]),L}()}),bK=h0(($,q)=>{function Q(B,V){var U=this,w=this._readableState&&this._readableState.destroyed,F=this._writableState&&this._writableState.destroyed;if(w||F){if(V)V(B);else if(B){if(!this._writableState)process.nextTick(G,this,B);else if(!this._writableState.errorEmitted)this._writableState.errorEmitted=!0,process.nextTick(G,this,B)}return this}if(this._readableState)this._readableState.destroyed=!0;if(this._writableState)this._writableState.destroyed=!0;return this._destroy(B||null,function(M){if(!V&&M)if(!U._writableState)process.nextTick(K,U,M);else if(!U._writableState.errorEmitted)U._writableState.errorEmitted=!0,process.nextTick(K,U,M);else process.nextTick(J,U);else if(V)process.nextTick(J,U),V(M);else process.nextTick(J,U)}),this}function K(B,V){G(B,V),J(B)}function J(B){if(B._writableState&&!B._writableState.emitClose)return;if(B._readableState&&!B._readableState.emitClose)return;B.emit("close")}function Z(){if(this._readableState)this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1;if(this._writableState)this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1}function G(B,V){B.emit("error",V)}function W(B,V){var{_readableState:U,_writableState:w}=B;if(U&&U.autoDestroy||w&&w.autoDestroy)B.destroy(V);else B.emit("error",V)}q.exports={destroy:Q,undestroy:Z,errorOrDestroy:W}}),O1=h0(($,q)=>{var Q={};function K(B,V,U){if(!U)U=Error;function w(M,k,f){if(typeof V==="string")return V;else return V(M,k,f)}class F extends U{constructor(M,k,f){super(w(M,k,f))}}F.prototype.name=U.name,F.prototype.code=B,Q[B]=F}function J(B,V){if(Array.isArray(B)){let U=B.length;if(B=B.map((w)=>String(w)),U>2)return`one of ${V} ${B.slice(0,U-1).join(", ")}, or `+B[U-1];else if(U===2)return`one of ${V} ${B[0]} or ${B[1]}`;else return`of ${V} ${B[0]}`}else return`of ${V} ${String(B)}`}function Z(B,V,U){return B.substr(!U||U<0?0:+U,V.length)===V}function G(B,V,U){if(U===void 0||U>B.length)U=B.length;return B.substring(U-V.length,U)===V}function W(B,V,U){if(typeof U!=="number")U=0;if(U+V.length>B.length)return!1;else return B.indexOf(V,U)!==-1}K("ERR_INVALID_OPT_VALUE",function(B,V){return'The value "'+V+'" is invalid for option "'+B+'"'},TypeError),K("ERR_INVALID_ARG_TYPE",function(B,V,U){let w;if(typeof V==="string"&&Z(V,"not "))w="must not be",V=V.replace(/^not /,"");else w="must be";let F;if(G(B," argument"))F=`The ${B} ${w} ${J(V,"type")}`;else{let M=W(B,".")?"property":"argument";F=`The "${B}" ${M} ${w} ${J(V,"type")}`}return F+=`. Received type ${typeof U}`,F},TypeError),K("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),K("ERR_METHOD_NOT_IMPLEMENTED",function(B){return"The "+B+" method is not implemented"}),K("ERR_STREAM_PREMATURE_CLOSE","Premature close"),K("ERR_STREAM_DESTROYED",function(B){return"Cannot call "+B+" after a stream was destroyed"}),K("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),K("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),K("ERR_STREAM_WRITE_AFTER_END","write after end"),K("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),K("ERR_UNKNOWN_ENCODING",function(B){return"Unknown encoding: "+B},TypeError),K("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),$.codes=Q}),nK=h0(($,q)=>{var Q=O1().codes.ERR_INVALID_OPT_VALUE;function K(Z,G,W){return Z.highWaterMark!=null?Z.highWaterMark:G?Z[W]:null}function J(Z,G,W,B){var V=K(G,B,W);if(V!=null){if(!(isFinite(V)&&Math.floor(V)===V)||V<0){var U=B?W:"highWaterMark";throw new Q(U,V)}return Math.floor(V)}return Z.objectMode?16:16384}q.exports={getHighWaterMark:J}}),XW=h0(($,q)=>{q.exports=(G8(),X0(Z8)).deprecate}),dK=h0(($,q)=>{q.exports=X;function Q(S){var b=this;this.next=null,this.entry=null,this.finish=function(){w0(b,S)}}var K;X.WritableState=d;var J={deprecate:XW()},Z=a1(),G=(t0(),X0(K2)).Buffer,W=(typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function B(S){return G.from(S)}function V(S){return G.isBuffer(S)||S instanceof W}var U=bK(),w=nK(),F=w.getHighWaterMark,M=O1().codes,k=M.ERR_INVALID_ARG_TYPE,f=M.ERR_METHOD_NOT_IMPLEMENTED,L=M.ERR_MULTIPLE_CALLBACK,D=M.ERR_STREAM_CANNOT_PIPE,z=M.ERR_STREAM_DESTROYED,N=M.ERR_STREAM_NULL_VALUES,H=M.ERR_STREAM_WRITE_AFTER_END,v=M.ERR_UNKNOWN_ENCODING,j=U.errorOrDestroy;x1()(X,Z);function n(){}function d(S,b,O){if(K=K||L6(),S=S||{},typeof O!=="boolean")O=b instanceof K;if(this.objectMode=!!S.objectMode,O)this.objectMode=this.objectMode||!!S.writableObjectMode;this.highWaterMark=F(this,S,"writableHighWaterMark",O),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var E=S.decodeStrings===!1;this.decodeStrings=!E,this.defaultEncoding=S.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){Z0(b,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=S.emitClose!==!1,this.autoDestroy=!!S.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new Q(this)}d.prototype.getBuffer=function(){var S=this.bufferedRequest,b=[];while(S)b.push(S),S=S.next;return b},function(){try{Object.defineProperty(d.prototype,"buffer",{get:J.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(S){}}();var _;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function")_=Function.prototype[Symbol.hasInstance],Object.defineProperty(X,Symbol.hasInstance,{value:function(S){if(_.call(this,S))return!0;if(this!==X)return!1;return S&&S._writableState instanceof d}});else _=function(S){return S instanceof this};function X(S){K=K||L6();var b=this instanceof K;if(!b&&!_.call(X,this))return new X(S);if(this._writableState=new d(S,this,b),this.writable=!0,S){if(typeof S.write==="function")this._write=S.write;if(typeof S.writev==="function")this._writev=S.writev;if(typeof S.destroy==="function")this._destroy=S.destroy;if(typeof S.final==="function")this._final=S.final}Z.call(this)}X.prototype.pipe=function(){j(this,new D)};function P(S,b){var O=new H;j(S,O),process.nextTick(b,O)}function g(S,b,O,E){var a;if(O===null)a=new N;else if(typeof O!=="string"&&!b.objectMode)a=new k("chunk",["string","Buffer"],O);if(a)return j(S,a),process.nextTick(E,a),!1;return!0}X.prototype.write=function(S,b,O){var E=this._writableState,a=!1,K0=!E.objectMode&&V(S);if(K0&&!G.isBuffer(S))S=B(S);if(typeof b==="function")O=b,b=null;if(K0)b="buffer";else if(!b)b=E.defaultEncoding;if(typeof O!=="function")O=n;if(E.ending)P(this,O);else if(K0||g(this,E,S,O))E.pendingcb++,a=h(this,E,K0,S,b,O);return a},X.prototype.cork=function(){this._writableState.corked++},X.prototype.uncork=function(){var S=this._writableState;if(S.corked){if(S.corked--,!S.writing&&!S.corked&&!S.bufferProcessing&&S.bufferedRequest)W0(this,S)}},X.prototype.setDefaultEncoding=function(S){if(typeof S==="string")S=S.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((S+"").toLowerCase())>-1))throw new v(S);return this._writableState.defaultEncoding=S,this},Object.defineProperty(X.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function c(S,b,O){if(!S.objectMode&&S.decodeStrings!==!1&&typeof b==="string")b=G.from(b,O);return b}Object.defineProperty(X.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function h(S,b,O,E,a,K0){if(!O){var R=c(b,E,a);if(E!==R)O=!0,a="buffer",E=R}var Y=b.objectMode?1:E.length;b.length+=Y;var C=b.length{var Q=Object.keys||function(w){var F=[];for(var M in w)F.push(M);return F};q.exports=B;var K=mK(),J=dK();x1()(B,K);{Z=Q(J.prototype);for(W=0;W{/*! safe-buffer. MIT License. Feross Aboukhadijeh */var Q=(t0(),X0(K2)),K=Q.Buffer;function J(G,W){for(var B in G)W[B]=G[B]}if(K.from&&K.alloc&&K.allocUnsafe&&K.allocUnsafeSlow)q.exports=Q;else J(Q,$),$.Buffer=Z;function Z(G,W,B){return K(G,W,B)}Z.prototype=Object.create(K.prototype),J(K,Z),Z.from=function(G,W,B){if(typeof G==="number")throw TypeError("Argument must not be a number");return K(G,W,B)},Z.alloc=function(G,W,B){if(typeof G!=="number")throw TypeError("Argument must be a number");var V=K(G);if(W!==void 0)if(typeof B==="string")V.fill(W,B);else V.fill(W);else V.fill(0);return V},Z.allocUnsafe=function(G){if(typeof G!=="number")throw TypeError("Argument must be a number");return K(G)},Z.allocUnsafeSlow=function(G){if(typeof G!=="number")throw TypeError("Argument must be a number");return Q.SlowBuffer(G)}}),_K=h0(($)=>{var q=yW().Buffer,Q=q.isEncoding||function(z){switch(z=""+z,z&&z.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function K(z){if(!z)return"utf8";var N;while(!0)switch(z){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return z;default:if(N)return;z=(""+z).toLowerCase(),N=!0}}function J(z){var N=K(z);if(typeof N!=="string"&&(q.isEncoding===Q||!Q(z)))throw Error("Unknown encoding: "+z);return N||z}$.StringDecoder=Z;function Z(z){this.encoding=J(z);var N;switch(this.encoding){case"utf16le":this.text=F,this.end=M,N=4;break;case"utf8":this.fillLast=V,N=4;break;case"base64":this.text=k,this.end=f,N=3;break;default:this.write=L,this.end=D;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=q.allocUnsafe(N)}Z.prototype.write=function(z){if(z.length===0)return"";var N,H;if(this.lastNeed){if(N=this.fillLast(z),N===void 0)return"";H=this.lastNeed,this.lastNeed=0}else H=0;if(H>5===6)return 2;else if(z>>4===14)return 3;else if(z>>3===30)return 4;return z>>6===2?-1:-2}function W(z,N,H){var v=N.length-1;if(v=0){if(j>0)z.lastNeed=j-1;return j}if(--v=0){if(j>0)z.lastNeed=j-2;return j}if(--v=0){if(j>0)if(j===2)j=0;else z.lastNeed=j-3;return j}return 0}function B(z,N,H){if((N[0]&192)!==128)return z.lastNeed=0,"�";if(z.lastNeed>1&&N.length>1){if((N[1]&192)!==128)return z.lastNeed=1,"�";if(z.lastNeed>2&&N.length>2){if((N[2]&192)!==128)return z.lastNeed=2,"�"}}}function V(z){var N=this.lastTotal-this.lastNeed,H=B(this,z,N);if(H!==void 0)return H;if(this.lastNeed<=z.length)return z.copy(this.lastChar,N,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);z.copy(this.lastChar,N,0,z.length),this.lastNeed-=z.length}function U(z,N){var H=W(this,z,N);if(!this.lastNeed)return z.toString("utf8",N);this.lastTotal=H;var v=z.length-(H-this.lastNeed);return z.copy(this.lastChar,0,v),z.toString("utf8",N,v)}function w(z){var N=z&&z.length?this.write(z):"";if(this.lastNeed)return N+"�";return N}function F(z,N){if((z.length-N)%2===0){var H=z.toString("utf16le",N);if(H){var v=H.charCodeAt(H.length-1);if(v>=55296&&v<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=z[z.length-2],this.lastChar[1]=z[z.length-1],H.slice(0,-1)}return H}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=z[z.length-1],z.toString("utf16le",N,z.length-1)}function M(z){var N=z&&z.length?this.write(z):"";if(this.lastNeed){var H=this.lastTotal-this.lastNeed;return N+this.lastChar.toString("utf16le",0,H)}return N}function k(z,N){var H=(z.length-N)%3;if(H===0)return z.toString("base64",N);if(this.lastNeed=3-H,this.lastTotal=3,H===1)this.lastChar[0]=z[z.length-1];else this.lastChar[0]=z[z.length-2],this.lastChar[1]=z[z.length-1];return z.toString("base64",N,z.length-H)}function f(z){var N=z&&z.length?this.write(z):"";if(this.lastNeed)return N+this.lastChar.toString("base64",0,3-this.lastNeed);return N}function L(z){return z.toString(this.encoding)}function D(z){return z&&z.length?this.write(z):""}}),f7=h0(($,q)=>{var Q=O1().codes.ERR_STREAM_PREMATURE_CLOSE;function K(W){var B=!1;return function(){if(B)return;B=!0;for(var V=arguments.length,U=Array(V),w=0;w{var Q;function K(v,j,n){if(j=J(j),j in v)Object.defineProperty(v,j,{value:n,enumerable:!0,configurable:!0,writable:!0});else v[j]=n;return v}function J(v){var j=Z(v,"string");return typeof j==="symbol"?j:String(j)}function Z(v,j){if(typeof v!=="object"||v===null)return v;var n=v[Symbol.toPrimitive];if(n!==void 0){var d=n.call(v,j||"default");if(typeof d!=="object")return d;throw TypeError("@@toPrimitive must return a primitive value.")}return(j==="string"?String:Number)(v)}var G=f7(),W=Symbol("lastResolve"),B=Symbol("lastReject"),V=Symbol("error"),U=Symbol("ended"),w=Symbol("lastPromise"),F=Symbol("handlePromise"),M=Symbol("stream");function k(v,j){return{value:v,done:j}}function f(v){var j=v[W];if(j!==null){var n=v[M].read();if(n!==null)v[w]=null,v[W]=null,v[B]=null,j(k(n,!1))}}function L(v){process.nextTick(f,v)}function D(v,j){return function(n,d){v.then(function(){if(j[U]){n(k(void 0,!0));return}j[F](n,d)},d)}}var z=Object.getPrototypeOf(function(){}),N=Object.setPrototypeOf((Q={get stream(){return this[M]},next:function(){var v=this,j=this[V];if(j!==null)return Promise.reject(j);if(this[U])return Promise.resolve(k(void 0,!0));if(this[M].destroyed)return new Promise(function(X,P){process.nextTick(function(){if(v[V])P(v[V]);else X(k(void 0,!0))})});var n=this[w],d;if(n)d=new Promise(D(n,this));else{var _=this[M].read();if(_!==null)return Promise.resolve(k(_,!1));d=new Promise(this[F])}return this[w]=d,d}},K(Q,Symbol.asyncIterator,function(){return this}),K(Q,"return",function(){var v=this;return new Promise(function(j,n){v[M].destroy(null,function(d){if(d){n(d);return}j(k(void 0,!0))})})}),Q),z),H=function(v){var j,n=Object.create(N,(j={},K(j,M,{value:v,writable:!0}),K(j,W,{value:null,writable:!0}),K(j,B,{value:null,writable:!0}),K(j,V,{value:null,writable:!0}),K(j,U,{value:v._readableState.endEmitted,writable:!0}),K(j,F,{value:function(d,_){var X=n[M].read();if(X)n[w]=null,n[W]=null,n[B]=null,d(k(X,!1));else n[W]=d,n[B]=_},writable:!0}),j));return n[w]=null,G(v,function(d){if(d&&d.code!=="ERR_STREAM_PREMATURE_CLOSE"){var _=n[B];if(_!==null)n[w]=null,n[W]=null,n[B]=null,_(d);n[V]=d;return}var X=n[W];if(X!==null)n[w]=null,n[W]=null,n[B]=null,X(k(void 0,!0));n[U]=!0}),v.on("readable",L.bind(null,n)),n};q.exports=H}),xW=h0(($,q)=>{function Q(w,F,M,k,f,L,D){try{var z=w[L](D),N=z.value}catch(H){M(H);return}if(z.done)F(N);else Promise.resolve(N).then(k,f)}function K(w){return function(){var F=this,M=arguments;return new Promise(function(k,f){var L=w.apply(F,M);function D(N){Q(L,k,f,D,z,"next",N)}function z(N){Q(L,k,f,D,z,"throw",N)}D(void 0)})}}function J(w,F){var M=Object.keys(w);if(Object.getOwnPropertySymbols){var k=Object.getOwnPropertySymbols(w);F&&(k=k.filter(function(f){return Object.getOwnPropertyDescriptor(w,f).enumerable})),M.push.apply(M,k)}return M}function Z(w){for(var F=1;F{q.exports=g;var Q;g.ReadableState=P;var K=(i1(),X0(p1)).EventEmitter,J=function(R,Y){return R.listeners(Y).length},Z=a1(),G=(t0(),X0(K2)).Buffer,W=(typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function B(R){return G.from(R)}function V(R){return G.isBuffer(R)||R instanceof W}var U=(G8(),X0(Z8)),w;if(U&&U.debuglog)w=U.debuglog("stream");else w=function(){};var F=AW(),M=bK(),k=nK(),f=k.getHighWaterMark,L=O1().codes,D=L.ERR_INVALID_ARG_TYPE,z=L.ERR_STREAM_PUSH_AFTER_EOF,N=L.ERR_METHOD_NOT_IMPLEMENTED,H=L.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,v,j,n;x1()(g,Z);var d=M.errorOrDestroy,_=["error","close","destroy","pause","resume"];function X(R,Y,C){if(typeof R.prependListener==="function")return R.prependListener(Y,C);if(!R._events||!R._events[Y])R.on(Y,C);else if(Array.isArray(R._events[Y]))R._events[Y].unshift(C);else R._events[Y]=[C,R._events[Y]]}function P(R,Y,C){if(Q=Q||L6(),R=R||{},typeof C!=="boolean")C=Y instanceof Q;if(this.objectMode=!!R.objectMode,C)this.objectMode=this.objectMode||!!R.readableObjectMode;if(this.highWaterMark=f(this,R,"readableHighWaterMark",C),this.buffer=new F,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=R.emitClose!==!1,this.autoDestroy=!!R.autoDestroy,this.destroyed=!1,this.defaultEncoding=R.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,R.encoding){if(!v)v=_K().StringDecoder;this.decoder=new v(R.encoding),this.encoding=R.encoding}}function g(R){if(Q=Q||L6(),!(this instanceof g))return new g(R);var Y=this instanceof Q;if(this._readableState=new P(R,this,Y),this.readable=!0,R){if(typeof R.read==="function")this._read=R.read;if(typeof R.destroy==="function")this._destroy=R.destroy}Z.call(this)}Object.defineProperty(g.prototype,"destroyed",{enumerable:!1,get:function(){if(this._readableState===void 0)return!1;return this._readableState.destroyed},set:function(R){if(!this._readableState)return;this._readableState.destroyed=R}}),g.prototype.destroy=M.destroy,g.prototype._undestroy=M.undestroy,g.prototype._destroy=function(R,Y){Y(R)},g.prototype.push=function(R,Y){var C=this._readableState,u;if(!C.objectMode){if(typeof R==="string"){if(Y=Y||C.defaultEncoding,Y!==C.encoding)R=G.from(R,Y),Y="";u=!0}}else u=!0;return c(this,R,Y,!1,u)},g.prototype.unshift=function(R){return c(this,R,null,!0,!1)};function c(R,Y,C,u,e){w("readableAddChunk",Y);var r=R._readableState;if(Y===null)r.reading=!1,F0(R,r);else{var s;if(!e)s=x(r,Y);if(s)d(R,s);else if(r.objectMode||Y&&Y.length>0){if(typeof Y!=="string"&&!r.objectMode&&Object.getPrototypeOf(Y)!==G.prototype)Y=B(Y);if(u)if(r.endEmitted)d(R,new H);else h(R,r,Y,!0);else if(r.ended)d(R,new z);else if(r.destroyed)return!1;else if(r.reading=!1,r.decoder&&!C)if(Y=r.decoder.write(Y),r.objectMode||Y.length!==0)h(R,r,Y,!1);else y(R,r);else h(R,r,Y,!1)}else if(!u)r.reading=!1,y(R,r)}return!r.ended&&(r.length=l)R=l;else R--,R|=R>>>1,R|=R>>>2,R|=R>>>4,R|=R>>>8,R|=R>>>16,R++;return R}function Z0(R,Y){if(R<=0||Y.length===0&&Y.ended)return 0;if(Y.objectMode)return 1;if(R!==R)if(Y.flowing&&Y.length)return Y.buffer.head.data.length;else return Y.length;if(R>Y.highWaterMark)Y.highWaterMark=$0(R);if(R<=Y.length)return R;if(!Y.ended)return Y.needReadable=!0,0;return Y.length}g.prototype.read=function(R){w("read",R),R=parseInt(R,10);var Y=this._readableState,C=R;if(R!==0)Y.emittedReadable=!1;if(R===0&&Y.needReadable&&((Y.highWaterMark!==0?Y.length>=Y.highWaterMark:Y.length>0)||Y.ended)){if(w("read: emitReadable",Y.length,Y.ended),Y.length===0&&Y.ended)E(this);else p(this);return null}if(R=Z0(R,Y),R===0&&Y.ended){if(Y.length===0)E(this);return null}var u=Y.needReadable;if(w("need readable",u),Y.length===0||Y.length-R0)e=O(R,Y);else e=null;if(e===null)Y.needReadable=Y.length<=Y.highWaterMark,R=0;else Y.length-=R,Y.awaitDrain=0;if(Y.length===0){if(!Y.ended)Y.needReadable=!0;if(C!==R&&Y.ended)E(this)}if(e!==null)this.emit("data",e);return e};function F0(R,Y){if(w("onEofChunk"),Y.ended)return;if(Y.decoder){var C=Y.decoder.end();if(C&&C.length)Y.buffer.push(C),Y.length+=Y.objectMode?1:C.length}if(Y.ended=!0,Y.sync)p(R);else if(Y.needReadable=!1,!Y.emittedReadable)Y.emittedReadable=!0,W0(R)}function p(R){var Y=R._readableState;if(w("emitReadable",Y.needReadable,Y.emittedReadable),Y.needReadable=!1,!Y.emittedReadable)w("emitReadable",Y.flowing),Y.emittedReadable=!0,process.nextTick(W0,R)}function W0(R){var Y=R._readableState;if(w("emitReadable_",Y.destroyed,Y.length,Y.ended),!Y.destroyed&&(Y.length||Y.ended))R.emit("readable"),Y.emittedReadable=!1;Y.needReadable=!Y.flowing&&!Y.ended&&Y.length<=Y.highWaterMark,b(R)}function y(R,Y){if(!Y.readingMore)Y.readingMore=!0,process.nextTick(i,R,Y)}function i(R,Y){while(!Y.reading&&!Y.ended&&(Y.length1&&K0(u.pipes,R)!==-1)&&!G0)w("false write response, pause",u.awaitDrain),u.awaitDrain++;C.pause()}}function I0(O0){if(w("onerror",O0),q2(),R.removeListener("error",I0),J(R,"error")===0)d(R,O0)}X(R,"error",I0);function m0(){R.removeListener("finish",p0),q2()}R.once("close",m0);function p0(){w("onfinish"),R.removeListener("close",m0),q2()}R.once("finish",p0);function q2(){w("unpipe"),C.unpipe(R)}if(R.emit("pipe",C),!u.flowing)w("pipe resume"),C.resume();return R};function U0(R){return function(){var Y=R._readableState;if(w("pipeOnDrain",Y.awaitDrain),Y.awaitDrain)Y.awaitDrain--;if(Y.awaitDrain===0&&J(R,"data"))Y.flowing=!0,b(R)}}g.prototype.unpipe=function(R){var Y=this._readableState,C={hasUnpiped:!1};if(Y.pipesCount===0)return this;if(Y.pipesCount===1){if(R&&R!==Y.pipes)return this;if(!R)R=Y.pipes;if(Y.pipes=null,Y.pipesCount=0,Y.flowing=!1,R)R.emit("unpipe",this,C);return this}if(!R){var{pipes:u,pipesCount:e}=Y;Y.pipes=null,Y.pipesCount=0,Y.flowing=!1;for(var r=0;r0,u.flowing!==!1)this.resume()}else if(R==="readable"){if(!u.endEmitted&&!u.readableListening){if(u.readableListening=u.needReadable=!0,u.flowing=!1,u.emittedReadable=!1,w("on readable",u.length,u.reading),u.length)p(this);else if(!u.reading)process.nextTick(V0,this)}}return C},g.prototype.addListener=g.prototype.on,g.prototype.removeListener=function(R,Y){var C=Z.prototype.removeListener.call(this,R,Y);if(R==="readable")process.nextTick(m,this);return C},g.prototype.removeAllListeners=function(R){var Y=Z.prototype.removeAllListeners.apply(this,arguments);if(R==="readable"||R===void 0)process.nextTick(m,this);return Y};function m(R){var Y=R._readableState;if(Y.readableListening=R.listenerCount("readable")>0,Y.resumeScheduled&&!Y.paused)Y.flowing=!0;else if(R.listenerCount("data")>0)R.resume()}function V0(R){w("readable nexttick read 0"),R.read(0)}g.prototype.resume=function(){var R=this._readableState;if(!R.flowing)w("resume"),R.flowing=!R.readableListening,w0(this,R);return R.paused=!1,this};function w0(R,Y){if(!Y.resumeScheduled)Y.resumeScheduled=!0,process.nextTick(S,R,Y)}function S(R,Y){if(w("resume",Y.reading),!Y.reading)R.read(0);if(Y.resumeScheduled=!1,R.emit("resume"),b(R),Y.flowing&&!Y.reading)R.read(0)}g.prototype.pause=function(){if(w("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1)w("pause"),this._readableState.flowing=!1,this.emit("pause");return this._readableState.paused=!0,this};function b(R){var Y=R._readableState;w("flow",Y.flowing);while(Y.flowing&&R.read()!==null);}if(g.prototype.wrap=function(R){var Y=this,C=this._readableState,u=!1;R.on("end",function(){if(w("wrapped end"),C.decoder&&!C.ended){var s=C.decoder.end();if(s&&s.length)Y.push(s)}Y.push(null)}),R.on("data",function(s){if(w("wrapped data"),C.decoder)s=C.decoder.write(s);if(C.objectMode&&(s===null||s===void 0))return;else if(!C.objectMode&&(!s||!s.length))return;var T=Y.push(s);if(!T)u=!0,R.pause()});for(var e in R)if(this[e]===void 0&&typeof R[e]==="function")this[e]=function(s){return function(){return R[s].apply(R,arguments)}}(e);for(var r=0;r<_.length;r++)R.on(_[r],this.emit.bind(this,_[r]));return this._read=function(s){if(w("wrapped _read",s),u)u=!1,R.resume()},this},typeof Symbol==="function")g.prototype[Symbol.asyncIterator]=function(){if(j===void 0)j=hW();return j(this)};Object.defineProperty(g.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(g.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(g.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(R){if(this._readableState)this._readableState.flowing=R}}),g._fromList=O,Object.defineProperty(g.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function O(R,Y){if(Y.length===0)return null;var C;if(Y.objectMode)C=Y.buffer.shift();else if(!R||R>=Y.length){if(Y.decoder)C=Y.buffer.join("");else if(Y.buffer.length===1)C=Y.buffer.first();else C=Y.buffer.concat(Y.length);Y.buffer.clear()}else C=Y.buffer.consume(R,Y.decoder);return C}function E(R){var Y=R._readableState;if(w("endReadable",Y.endEmitted),!Y.endEmitted)Y.ended=!0,process.nextTick(a,Y,R)}function a(R,Y){if(w("endReadableNT",R.endEmitted,R.length),!R.endEmitted&&R.length===0){if(R.endEmitted=!0,Y.readable=!1,Y.emit("end"),R.autoDestroy){var C=Y._writableState;if(!C||C.autoDestroy&&C.finished)Y.destroy()}}}if(typeof Symbol==="function")g.from=function(R,Y){if(n===void 0)n=xW();return n(g,R,Y)};function K0(R,Y){for(var C=0,u=R.length;C{q.exports=V;var Q=O1().codes,K=Q.ERR_METHOD_NOT_IMPLEMENTED,J=Q.ERR_MULTIPLE_CALLBACK,Z=Q.ERR_TRANSFORM_ALREADY_TRANSFORMING,G=Q.ERR_TRANSFORM_WITH_LENGTH_0,W=L6();x1()(V,W);function B(F,M){var k=this._transformState;k.transforming=!1;var f=k.writecb;if(f===null)return this.emit("error",new J);if(k.writechunk=null,k.writecb=null,M!=null)this.push(M);f(F);var L=this._readableState;if(L.reading=!1,L.needReadable||L.length{q.exports=K;var Q=pK();x1()(K,Q);function K(J){if(!(this instanceof K))return new K(J);Q.call(this,J)}K.prototype._transform=function(J,Z,G){G(null,J)}}),PW=h0(($,q)=>{var Q;function K(k){var f=!1;return function(){if(f)return;f=!0,k.apply(void 0,arguments)}}var J=O1().codes,Z=J.ERR_MISSING_ARGS,G=J.ERR_STREAM_DESTROYED;function W(k){if(k)throw k}function B(k){return k.setHeader&&typeof k.abort==="function"}function V(k,f,L,D){D=K(D);var z=!1;if(k.on("close",function(){z=!0}),Q===void 0)Q=f7();Q(k,{readable:f,writable:L},function(H){if(H)return D(H);z=!0,D()});var N=!1;return function(H){if(z)return;if(N)return;if(N=!0,B(k))return k.abort();if(typeof k.destroy==="function")return k.destroy();D(H||new G("pipe"))}}function U(k){k()}function w(k,f){return k.pipe(f)}function F(k){if(!k.length)return W;if(typeof k[k.length-1]!=="function")return W;return k.pop()}function M(){for(var k=arguments.length,f=Array(k),L=0;L0;return V(H,j,n,function(d){if(!z)z=d;if(d)N.forEach(U);if(j)return;N.forEach(U),D(z)})});return f.reduce(w)}q.exports=M}),iK=h0(($,q)=>{var Q=a1();$=q.exports=mK(),$.Stream=Q||$,$.Readable=$,$.Writable=dK(),$.Duplex=L6(),$.Transform=pK(),$.PassThrough=OW(),$.finished=f7(),$.pipeline=PW()}),oK=h0(($)=>{var q=cK(),Q=x1(),K=iK(),J=$.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},Z=$.IncomingMessage=function(G,W,B,V){var U=this;if(K.Readable.call(U),U._mode=B,U.headers={},U.rawHeaders=[],U.trailers={},U.rawTrailers=[],U.on("end",function(){process.nextTick(function(){U.emit("close")})}),B==="fetch"){let D=function(){M.read().then(function(z){if(U._destroyed)return;if(V(z.done),z.done){U.push(null);return}U.push(Buffer.from(z.value)),D()}).catch(function(z){if(V(!0),!U._destroyed)U.emit("error",z)})};var w=D;if(U._fetchResponse=W,U.url=W.url,U.statusCode=W.status,U.statusMessage=W.statusText,W.headers.forEach(function(z,N){U.headers[N.toLowerCase()]=z,U.rawHeaders.push(N,z)}),q.writableStream){var F=new WritableStream({write:function(z){return V(!1),new Promise(function(N,H){if(U._destroyed)H();else if(U.push(Buffer.from(z)))N();else U._resumeFetch=N})},close:function(){if(V(!0),!U._destroyed)U.push(null)},abort:function(z){if(V(!0),!U._destroyed)U.emit("error",z)}});try{W.body.pipeTo(F).catch(function(z){if(V(!0),!U._destroyed)U.emit("error",z)});return}catch(z){}}var M=W.body.getReader();D()}else{U._xhr=G,U._pos=0,U.url=G.responseURL,U.statusCode=G.status,U.statusMessage=G.statusText;var k=G.getAllResponseHeaders().split(/\r?\n/);if(k.forEach(function(D){var z=D.match(/^([^:]+):\s*(.*)/);if(z){var N=z[1].toLowerCase();if(N==="set-cookie"){if(U.headers[N]===void 0)U.headers[N]=[];U.headers[N].push(z[2])}else if(U.headers[N]!==void 0)U.headers[N]+=", "+z[2];else U.headers[N]=z[2];U.rawHeaders.push(z[1],z[2])}}),U._charset="x-user-defined",!q.overrideMimeType){var f=U.rawHeaders["mime-type"];if(f){var L=f.match(/;\s*charset=([^;])(;|$)/);if(L)U._charset=L[1].toLowerCase()}if(!U._charset)U._charset="utf-8"}}};Q(Z,K.Readable),Z.prototype._read=function(){var G=this,W=G._resumeFetch;if(W)G._resumeFetch=null,W()},Z.prototype._onXHRProgress=function(G){var W=this,B=W._xhr,V=null;switch(W._mode){case"text":if(V=B.responseText,V.length>W._pos){var U=V.substr(W._pos);if(W._charset==="x-user-defined"){var w=Buffer.alloc(U.length);for(var F=0;FW._pos)W.push(Buffer.from(new Uint8Array(M.result.slice(W._pos)))),W._pos=M.result.byteLength},M.onload=function(){G(!0),W.push(null)},M.readAsArrayBuffer(V);break}if(W._xhr.readyState===J.DONE&&W._mode!=="ms-stream")G(!0),W.push(null)}}),TW=h0(($,q)=>{var Q=cK(),K=x1(),J=oK(),Z=iK(),G=J.IncomingMessage,W=J.readyStates;function B(F,M){if(Q.fetch&&M)return"fetch";else if(Q.mozchunkedarraybuffer)return"moz-chunked-arraybuffer";else if(Q.msstream)return"ms-stream";else if(Q.arraybuffer&&F)return"arraybuffer";else return"text"}var V=q.exports=function(F){var M=this;if(Z.Writable.call(M),M._opts=F,M._body=[],M._headers={},F.auth)M.setHeader("Authorization","Basic "+Buffer.from(F.auth).toString("base64"));Object.keys(F.headers).forEach(function(L){M.setHeader(L,F.headers[L])});var k,f=!0;if(F.mode==="disable-fetch"||"requestTimeout"in F&&!Q.abortController)f=!1,k=!0;else if(F.mode==="prefer-streaming")k=!1;else if(F.mode==="allow-wrong-content-type")k=!Q.overrideMimeType;else if(!F.mode||F.mode==="default"||F.mode==="prefer-fast")k=!0;else throw Error("Invalid value for opts.mode");M._mode=B(k,f),M._fetchTimer=null,M._socketTimeout=null,M._socketTimer=null,M.on("finish",function(){M._onFinish()})};K(V,Z.Writable),V.prototype.setHeader=function(F,M){var k=this,f=F.toLowerCase();if(w.indexOf(f)!==-1)return;k._headers[f]={name:F,value:M}},V.prototype.getHeader=function(F){var M=this._headers[F.toLowerCase()];if(M)return M.value;return null},V.prototype.removeHeader=function(F){var M=this;delete M._headers[F.toLowerCase()]},V.prototype._onFinish=function(){var F=this;if(F._destroyed)return;var M=F._opts;if("timeout"in M&&M.timeout!==0)F.setTimeout(M.timeout);var k=F._headers,f=null;if(M.method!=="GET"&&M.method!=="HEAD")f=new Blob(F._body,{type:(k["content-type"]||{}).value||""});var L=[];if(Object.keys(k).forEach(function(H){var v=k[H].name,j=k[H].value;if(Array.isArray(j))j.forEach(function(n){L.push([v,n])});else L.push([v,j])}),F._mode==="fetch"){var D=null;if(Q.abortController){var z=new AbortController;if(D=z.signal,F._fetchAbortController=z,"requestTimeout"in M&&M.requestTimeout!==0)F._fetchTimer=globalThis.setTimeout(function(){if(F.emit("requestTimeout"),F._fetchAbortController)F._fetchAbortController.abort()},M.requestTimeout)}globalThis.fetch(F._opts.url,{method:F._opts.method,headers:L,body:f||void 0,mode:"cors",credentials:M.withCredentials?"include":"same-origin",signal:D}).then(function(H){F._fetchResponse=H,F._resetTimers(!1),F._connect()},function(H){if(F._resetTimers(!0),!F._destroyed)F.emit("error",H)})}else{var N=F._xhr=new globalThis.XMLHttpRequest;try{N.open(F._opts.method,F._opts.url,!0)}catch(H){process.nextTick(function(){F.emit("error",H)});return}if("responseType"in N)N.responseType=F._mode;if("withCredentials"in N)N.withCredentials=!!M.withCredentials;if(F._mode==="text"&&"overrideMimeType"in N)N.overrideMimeType("text/plain; charset=x-user-defined");if("requestTimeout"in M)N.timeout=M.requestTimeout,N.ontimeout=function(){F.emit("requestTimeout")};if(L.forEach(function(H){N.setRequestHeader(H[0],H[1])}),F._response=null,N.onreadystatechange=function(){switch(N.readyState){case W.LOADING:case W.DONE:F._onXHRProgress();break}},F._mode==="moz-chunked-arraybuffer")N.onprogress=function(){F._onXHRProgress()};N.onerror=function(){if(F._destroyed)return;F._resetTimers(!0),F.emit("error",Error("XHR error"))};try{N.send(f)}catch(H){process.nextTick(function(){F.emit("error",H)});return}}};function U(F){try{var M=F.status;return M!==null&&M!==0}catch(k){return!1}}V.prototype._onXHRProgress=function(){var F=this;if(F._resetTimers(!1),!U(F._xhr)||F._destroyed)return;if(!F._response)F._connect();F._response._onXHRProgress(F._resetTimers.bind(F))},V.prototype._connect=function(){var F=this;if(F._destroyed)return;F._response=new G(F._xhr,F._fetchResponse,F._mode,F._resetTimers.bind(F)),F._response.on("error",function(M){F.emit("error",M)}),F.emit("response",F._response)},V.prototype._write=function(F,M,k){var f=this;f._body.push(F),k()},V.prototype._resetTimers=function(F){var M=this;if(globalThis.clearTimeout(M._socketTimer),M._socketTimer=null,F)globalThis.clearTimeout(M._fetchTimer),M._fetchTimer=null;else if(M._socketTimeout)M._socketTimer=globalThis.setTimeout(function(){M.emit("timeout")},M._socketTimeout)},V.prototype.abort=V.prototype.destroy=function(F){var M=this;if(M._destroyed=!0,M._resetTimers(!0),M._response)M._response._destroyed=!0;if(M._xhr)M._xhr.abort();else if(M._fetchAbortController)M._fetchAbortController.abort();if(F)M.emit("error",F)},V.prototype.end=function(F,M,k){var f=this;if(typeof F==="function")k=F,F=void 0;Z.Writable.prototype.end.call(f,F,M,k)},V.prototype.setTimeout=function(F,M){var k=this;if(M)k.once("timeout",M);k._socketTimeout=F,k._resetTimers(!1)},V.prototype.flushHeaders=function(){},V.prototype.setNoDelay=function(){},V.prototype.setSocketKeepAlive=function(){};var w=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"]}),uW=h0(($,q)=>{q.exports=K;var Q=Object.prototype.hasOwnProperty;function K(){var J={};for(var Z=0;Z{q.exports=(I7(),X0(R7)).STATUS_CODES}),EW=h0(($)=>{var q=TW(),Q=oK(),K=uW(),J=SW(),Z=(v7(),X0(H7)),G=$;G.request=function(W,B){if(typeof W==="string")W=Z.parse(W);else W=K(W);var V=globalThis.location.protocol.search(/^https?:$/)===-1?"http:":"",U=W.protocol||V,w=W.hostname||W.host,F=W.port,M=W.path||"/";if(w&&w.indexOf(":")!==-1)w="["+w+"]";W.url=(w?U+"//"+w:"")+(F?":"+F:"")+M,W.method=(W.method||"GET").toUpperCase(),W.headers=W.headers||{};var k=new q(W);if(B)k.on("response",B);return k},G.get=function(W,B){var V=G.request(W,B);return V.end(),V},G.ClientRequest=q,G.IncomingMessage=Q.IncomingMessage,G.Agent=function(){},G.Agent.defaultMaxSockets=4,G.globalAgent=new G.Agent,G.STATUS_CODES=J,G.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"]}),aK=jW(EW(),1),{request:_W,get:cW,ClientRequest:bW,IncomingMessage:nW,Agent:dW,globalAgent:mW,STATUS_CODES:pW,METHODS:iW}=aK.default,oW=aK.default});var sK={};c1(sK,{validateHeaderValue:()=>LB,validateHeaderName:()=>DB,setMaxIdleHTTPParsers:()=>kB,request:()=>YB,maxHeaderSize:()=>NB,globalAgent:()=>wB,get:()=>MB,default:()=>HB,createServer:()=>FB,ServerResponse:()=>zB,Server:()=>BB,STATUS_CODES:()=>WB,OutgoingMessage:()=>GB,METHODS:()=>ZB,IncomingMessage:()=>UB,ClientRequest:()=>VB,Agent:()=>JB});function tW($){return this[$]}var aW,lW,lK,rW,sW,eW,$B,QB=($,q,Q)=>{var K=$!=null&&typeof $==="object";if(K){var J=q?eW??=new WeakMap:$B??=new WeakMap,Z=J.get($);if(Z)return Z}Q=$!=null?aW(lW($)):{};let G=q||!$||!$.__esModule?lK(Q,"default",{value:$,enumerable:!0}):Q;for(let W of rW($))if(!sW.call(G,W))lK(G,W,{get:tW.bind($,W),enumerable:!0});if(K)J.set($,G);return G},qB=($,q)=>()=>(q||$((q={exports:{}}).exports,q),q.exports),KB,rK,JB,VB,UB,ZB,GB,WB,BB,zB,FB,MB,wB,NB,YB,kB,DB,LB,HB;var tK=b1(()=>{aW=Object.create,{getPrototypeOf:lW,defineProperty:lK,getOwnPropertyNames:rW}=Object,sW=Object.prototype.hasOwnProperty;KB=qB(($,q)=>{var Q=(I7(),X0(R7)),K=(v7(),X0(H7)),J=$;for(Z in Q)if(Q.hasOwnProperty(Z))J[Z]=Q[Z];var Z;J.request=function(W,B){return W=G(W),Q.request.call(this,W,B)},J.get=function(W,B){return W=G(W),Q.get.call(this,W,B)};function G(W){if(typeof W==="string")W=K.parse(W);if(!W.protocol)W.protocol="https:";if(W.protocol!=="https:")throw Error('Protocol "'+W.protocol+'" not supported. Expected "https:"');return W}}),rK=QB(KB(),1),{Agent:JB,ClientRequest:VB,IncomingMessage:UB,METHODS:ZB,OutgoingMessage:GB,STATUS_CODES:WB,Server:BB,ServerResponse:zB,createServer:FB,get:MB,globalAgent:wB,maxHeaderSize:NB,request:YB,setMaxIdleHTTPParsers:kB,validateHeaderName:DB,validateHeaderValue:LB}=rK,HB=rK});var V9=globalThis;if(typeof V9.global>"u")V9.global=globalThis;t0();var Fz=K9(h9(),1);var _7=K9(HK(),1);function W2($,q,Q,K){function J(Z){return Z instanceof Q?Z:new Q(function(G){G(Z)})}return new(Q||(Q=Promise))(function(Z,G){function W(U){try{V(K.next(U))}catch(w){G(w)}}function B(U){try{V(K.throw(U))}catch(w){G(w)}}function V(U){U.done?Z(U.value):J(U.value).then(W,B)}V((K=K.apply($,q||[])).next())})}var L0=914400,w8=12700,n0=`\r +`,vB=2147483649,C7=/^[0-9a-fA-F]{6}$/,fB=1.67,RB=27,H6={type:"solid",color:"666666",pt:1},JJ=[0.05,0.1,0.05,0.1],v6={color:"363636",pt:1},u1={color:"888888",style:"solid",size:1,cap:"flat"},Q2="000000",k2=12,IB=18,f6="LAYOUT_16x9",h7="DEFAULT",VJ="333333",P1={type:"outer",blur:3,offset:1.811023622047244,angle:90,color:"000000",opacity:0.35,rotateWithShape:!0},M8=[0.5,0.5,0.5,0.5],eK={color:"000000"},CB={size:8,color:"FFFFFF",opacity:0.75},o2="2094734552",N5="2094734553",B8="2094734554",x7="2094734555",UJ="2094734556",W8="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),z8=["C0504D","4F81BD","9BBB59","8064A2","4BACC6","F79646","628FC6","C86360","C0504D","4F81BD","9BBB59","8064A2","4BACC6","F79646","628FC6","C86360"],jB=["5DA5DA","FAA43A","60BD68","F17CB0","B2912F","B276B2","DECF3F","F15854","A7A7A7","5DA5DA","FAA43A","60BD68","F17CB0","B2912F","B276B2","DECF3F","F15854","A7A7A7"],R6;(function($){$.left="left",$.center="center",$.right="right",$.justify="justify"})(R6||(R6={}));var I6;(function($){$.b="b",$.ctr="ctr",$.t="t"})(I6||(I6={}));var ZJ="{F7021451-1387-4CA6-816F-3879F97B5CBC}",O7;(function($){$.arraybuffer="arraybuffer",$.base64="base64",$.binarystring="binarystring",$.blob="blob",$.nodebuffer="nodebuffer",$.uint8array="uint8array"})(O7||(O7={}));var P7;(function($){$.area="area",$.bar="bar",$.bar3d="bar3D",$.bubble="bubble",$.bubble3d="bubble3D",$.doughnut="doughnut",$.line="line",$.pie="pie",$.radar="radar",$.scatter="scatter"})(P7||(P7={}));var T7;(function($){$.accentBorderCallout1="accentBorderCallout1",$.accentBorderCallout2="accentBorderCallout2",$.accentBorderCallout3="accentBorderCallout3",$.accentCallout1="accentCallout1",$.accentCallout2="accentCallout2",$.accentCallout3="accentCallout3",$.actionButtonBackPrevious="actionButtonBackPrevious",$.actionButtonBeginning="actionButtonBeginning",$.actionButtonBlank="actionButtonBlank",$.actionButtonDocument="actionButtonDocument",$.actionButtonEnd="actionButtonEnd",$.actionButtonForwardNext="actionButtonForwardNext",$.actionButtonHelp="actionButtonHelp",$.actionButtonHome="actionButtonHome",$.actionButtonInformation="actionButtonInformation",$.actionButtonMovie="actionButtonMovie",$.actionButtonReturn="actionButtonReturn",$.actionButtonSound="actionButtonSound",$.arc="arc",$.bentArrow="bentArrow",$.bentUpArrow="bentUpArrow",$.bevel="bevel",$.blockArc="blockArc",$.borderCallout1="borderCallout1",$.borderCallout2="borderCallout2",$.borderCallout3="borderCallout3",$.bracePair="bracePair",$.bracketPair="bracketPair",$.callout1="callout1",$.callout2="callout2",$.callout3="callout3",$.can="can",$.chartPlus="chartPlus",$.chartStar="chartStar",$.chartX="chartX",$.chevron="chevron",$.chord="chord",$.circularArrow="circularArrow",$.cloud="cloud",$.cloudCallout="cloudCallout",$.corner="corner",$.cornerTabs="cornerTabs",$.cube="cube",$.curvedDownArrow="curvedDownArrow",$.curvedLeftArrow="curvedLeftArrow",$.curvedRightArrow="curvedRightArrow",$.curvedUpArrow="curvedUpArrow",$.custGeom="custGeom",$.decagon="decagon",$.diagStripe="diagStripe",$.diamond="diamond",$.dodecagon="dodecagon",$.donut="donut",$.doubleWave="doubleWave",$.downArrow="downArrow",$.downArrowCallout="downArrowCallout",$.ellipse="ellipse",$.ellipseRibbon="ellipseRibbon",$.ellipseRibbon2="ellipseRibbon2",$.flowChartAlternateProcess="flowChartAlternateProcess",$.flowChartCollate="flowChartCollate",$.flowChartConnector="flowChartConnector",$.flowChartDecision="flowChartDecision",$.flowChartDelay="flowChartDelay",$.flowChartDisplay="flowChartDisplay",$.flowChartDocument="flowChartDocument",$.flowChartExtract="flowChartExtract",$.flowChartInputOutput="flowChartInputOutput",$.flowChartInternalStorage="flowChartInternalStorage",$.flowChartMagneticDisk="flowChartMagneticDisk",$.flowChartMagneticDrum="flowChartMagneticDrum",$.flowChartMagneticTape="flowChartMagneticTape",$.flowChartManualInput="flowChartManualInput",$.flowChartManualOperation="flowChartManualOperation",$.flowChartMerge="flowChartMerge",$.flowChartMultidocument="flowChartMultidocument",$.flowChartOfflineStorage="flowChartOfflineStorage",$.flowChartOffpageConnector="flowChartOffpageConnector",$.flowChartOnlineStorage="flowChartOnlineStorage",$.flowChartOr="flowChartOr",$.flowChartPredefinedProcess="flowChartPredefinedProcess",$.flowChartPreparation="flowChartPreparation",$.flowChartProcess="flowChartProcess",$.flowChartPunchedCard="flowChartPunchedCard",$.flowChartPunchedTape="flowChartPunchedTape",$.flowChartSort="flowChartSort",$.flowChartSummingJunction="flowChartSummingJunction",$.flowChartTerminator="flowChartTerminator",$.folderCorner="folderCorner",$.frame="frame",$.funnel="funnel",$.gear6="gear6",$.gear9="gear9",$.halfFrame="halfFrame",$.heart="heart",$.heptagon="heptagon",$.hexagon="hexagon",$.homePlate="homePlate",$.horizontalScroll="horizontalScroll",$.irregularSeal1="irregularSeal1",$.irregularSeal2="irregularSeal2",$.leftArrow="leftArrow",$.leftArrowCallout="leftArrowCallout",$.leftBrace="leftBrace",$.leftBracket="leftBracket",$.leftCircularArrow="leftCircularArrow",$.leftRightArrow="leftRightArrow",$.leftRightArrowCallout="leftRightArrowCallout",$.leftRightCircularArrow="leftRightCircularArrow",$.leftRightRibbon="leftRightRibbon",$.leftRightUpArrow="leftRightUpArrow",$.leftUpArrow="leftUpArrow",$.lightningBolt="lightningBolt",$.line="line",$.lineInv="lineInv",$.mathDivide="mathDivide",$.mathEqual="mathEqual",$.mathMinus="mathMinus",$.mathMultiply="mathMultiply",$.mathNotEqual="mathNotEqual",$.mathPlus="mathPlus",$.moon="moon",$.noSmoking="noSmoking",$.nonIsoscelesTrapezoid="nonIsoscelesTrapezoid",$.notchedRightArrow="notchedRightArrow",$.octagon="octagon",$.parallelogram="parallelogram",$.pentagon="pentagon",$.pie="pie",$.pieWedge="pieWedge",$.plaque="plaque",$.plaqueTabs="plaqueTabs",$.plus="plus",$.quadArrow="quadArrow",$.quadArrowCallout="quadArrowCallout",$.rect="rect",$.ribbon="ribbon",$.ribbon2="ribbon2",$.rightArrow="rightArrow",$.rightArrowCallout="rightArrowCallout",$.rightBrace="rightBrace",$.rightBracket="rightBracket",$.round1Rect="round1Rect",$.round2DiagRect="round2DiagRect",$.round2SameRect="round2SameRect",$.roundRect="roundRect",$.rtTriangle="rtTriangle",$.smileyFace="smileyFace",$.snip1Rect="snip1Rect",$.snip2DiagRect="snip2DiagRect",$.snip2SameRect="snip2SameRect",$.snipRoundRect="snipRoundRect",$.squareTabs="squareTabs",$.star10="star10",$.star12="star12",$.star16="star16",$.star24="star24",$.star32="star32",$.star4="star4",$.star5="star5",$.star6="star6",$.star7="star7",$.star8="star8",$.stripedRightArrow="stripedRightArrow",$.sun="sun",$.swooshArrow="swooshArrow",$.teardrop="teardrop",$.trapezoid="trapezoid",$.triangle="triangle",$.upArrow="upArrow",$.upArrowCallout="upArrowCallout",$.upDownArrow="upDownArrow",$.upDownArrowCallout="upDownArrowCallout",$.uturnArrow="uturnArrow",$.verticalScroll="verticalScroll",$.wave="wave",$.wedgeEllipseCallout="wedgeEllipseCallout",$.wedgeRectCallout="wedgeRectCallout",$.wedgeRoundRectCallout="wedgeRoundRectCallout"})(T7||(T7={}));var G2;(function($){$.text1="tx1",$.text2="tx2",$.background1="bg1",$.background2="bg2",$.accent1="accent1",$.accent2="accent2",$.accent3="accent3",$.accent4="accent4",$.accent5="accent5",$.accent6="accent6"})(G2||(G2={}));var u7;(function($){$.left="left",$.center="center",$.right="right",$.justify="justify"})(u7||(u7={}));var S7;(function($){$.top="top",$.middle="middle",$.bottom="bottom"})(S7||(S7={}));var B1;(function($){$.ACTION_BUTTON_BACK_OR_PREVIOUS="actionButtonBackPrevious",$.ACTION_BUTTON_BEGINNING="actionButtonBeginning",$.ACTION_BUTTON_CUSTOM="actionButtonBlank",$.ACTION_BUTTON_DOCUMENT="actionButtonDocument",$.ACTION_BUTTON_END="actionButtonEnd",$.ACTION_BUTTON_FORWARD_OR_NEXT="actionButtonForwardNext",$.ACTION_BUTTON_HELP="actionButtonHelp",$.ACTION_BUTTON_HOME="actionButtonHome",$.ACTION_BUTTON_INFORMATION="actionButtonInformation",$.ACTION_BUTTON_MOVIE="actionButtonMovie",$.ACTION_BUTTON_RETURN="actionButtonReturn",$.ACTION_BUTTON_SOUND="actionButtonSound",$.ARC="arc",$.BALLOON="wedgeRoundRectCallout",$.BENT_ARROW="bentArrow",$.BENT_UP_ARROW="bentUpArrow",$.BEVEL="bevel",$.BLOCK_ARC="blockArc",$.CAN="can",$.CHART_PLUS="chartPlus",$.CHART_STAR="chartStar",$.CHART_X="chartX",$.CHEVRON="chevron",$.CHORD="chord",$.CIRCULAR_ARROW="circularArrow",$.CLOUD="cloud",$.CLOUD_CALLOUT="cloudCallout",$.CORNER="corner",$.CORNER_TABS="cornerTabs",$.CROSS="plus",$.CUBE="cube",$.CURVED_DOWN_ARROW="curvedDownArrow",$.CURVED_DOWN_RIBBON="ellipseRibbon",$.CURVED_LEFT_ARROW="curvedLeftArrow",$.CURVED_RIGHT_ARROW="curvedRightArrow",$.CURVED_UP_ARROW="curvedUpArrow",$.CURVED_UP_RIBBON="ellipseRibbon2",$.CUSTOM_GEOMETRY="custGeom",$.DECAGON="decagon",$.DIAGONAL_STRIPE="diagStripe",$.DIAMOND="diamond",$.DODECAGON="dodecagon",$.DONUT="donut",$.DOUBLE_BRACE="bracePair",$.DOUBLE_BRACKET="bracketPair",$.DOUBLE_WAVE="doubleWave",$.DOWN_ARROW="downArrow",$.DOWN_ARROW_CALLOUT="downArrowCallout",$.DOWN_RIBBON="ribbon",$.EXPLOSION1="irregularSeal1",$.EXPLOSION2="irregularSeal2",$.FLOWCHART_ALTERNATE_PROCESS="flowChartAlternateProcess",$.FLOWCHART_CARD="flowChartPunchedCard",$.FLOWCHART_COLLATE="flowChartCollate",$.FLOWCHART_CONNECTOR="flowChartConnector",$.FLOWCHART_DATA="flowChartInputOutput",$.FLOWCHART_DECISION="flowChartDecision",$.FLOWCHART_DELAY="flowChartDelay",$.FLOWCHART_DIRECT_ACCESS_STORAGE="flowChartMagneticDrum",$.FLOWCHART_DISPLAY="flowChartDisplay",$.FLOWCHART_DOCUMENT="flowChartDocument",$.FLOWCHART_EXTRACT="flowChartExtract",$.FLOWCHART_INTERNAL_STORAGE="flowChartInternalStorage",$.FLOWCHART_MAGNETIC_DISK="flowChartMagneticDisk",$.FLOWCHART_MANUAL_INPUT="flowChartManualInput",$.FLOWCHART_MANUAL_OPERATION="flowChartManualOperation",$.FLOWCHART_MERGE="flowChartMerge",$.FLOWCHART_MULTIDOCUMENT="flowChartMultidocument",$.FLOWCHART_OFFLINE_STORAGE="flowChartOfflineStorage",$.FLOWCHART_OFFPAGE_CONNECTOR="flowChartOffpageConnector",$.FLOWCHART_OR="flowChartOr",$.FLOWCHART_PREDEFINED_PROCESS="flowChartPredefinedProcess",$.FLOWCHART_PREPARATION="flowChartPreparation",$.FLOWCHART_PROCESS="flowChartProcess",$.FLOWCHART_PUNCHED_TAPE="flowChartPunchedTape",$.FLOWCHART_SEQUENTIAL_ACCESS_STORAGE="flowChartMagneticTape",$.FLOWCHART_SORT="flowChartSort",$.FLOWCHART_STORED_DATA="flowChartOnlineStorage",$.FLOWCHART_SUMMING_JUNCTION="flowChartSummingJunction",$.FLOWCHART_TERMINATOR="flowChartTerminator",$.FOLDED_CORNER="folderCorner",$.FRAME="frame",$.FUNNEL="funnel",$.GEAR_6="gear6",$.GEAR_9="gear9",$.HALF_FRAME="halfFrame",$.HEART="heart",$.HEPTAGON="heptagon",$.HEXAGON="hexagon",$.HORIZONTAL_SCROLL="horizontalScroll",$.ISOSCELES_TRIANGLE="triangle",$.LEFT_ARROW="leftArrow",$.LEFT_ARROW_CALLOUT="leftArrowCallout",$.LEFT_BRACE="leftBrace",$.LEFT_BRACKET="leftBracket",$.LEFT_CIRCULAR_ARROW="leftCircularArrow",$.LEFT_RIGHT_ARROW="leftRightArrow",$.LEFT_RIGHT_ARROW_CALLOUT="leftRightArrowCallout",$.LEFT_RIGHT_CIRCULAR_ARROW="leftRightCircularArrow",$.LEFT_RIGHT_RIBBON="leftRightRibbon",$.LEFT_RIGHT_UP_ARROW="leftRightUpArrow",$.LEFT_UP_ARROW="leftUpArrow",$.LIGHTNING_BOLT="lightningBolt",$.LINE_CALLOUT_1="borderCallout1",$.LINE_CALLOUT_1_ACCENT_BAR="accentCallout1",$.LINE_CALLOUT_1_BORDER_AND_ACCENT_BAR="accentBorderCallout1",$.LINE_CALLOUT_1_NO_BORDER="callout1",$.LINE_CALLOUT_2="borderCallout2",$.LINE_CALLOUT_2_ACCENT_BAR="accentCallout2",$.LINE_CALLOUT_2_BORDER_AND_ACCENT_BAR="accentBorderCallout2",$.LINE_CALLOUT_2_NO_BORDER="callout2",$.LINE_CALLOUT_3="borderCallout3",$.LINE_CALLOUT_3_ACCENT_BAR="accentCallout3",$.LINE_CALLOUT_3_BORDER_AND_ACCENT_BAR="accentBorderCallout3",$.LINE_CALLOUT_3_NO_BORDER="callout3",$.LINE_CALLOUT_4="borderCallout4",$.LINE_CALLOUT_4_ACCENT_BAR="accentCallout3=4",$.LINE_CALLOUT_4_BORDER_AND_ACCENT_BAR="accentBorderCallout4",$.LINE_CALLOUT_4_NO_BORDER="callout4",$.LINE="line",$.LINE_INVERSE="lineInv",$.MATH_DIVIDE="mathDivide",$.MATH_EQUAL="mathEqual",$.MATH_MINUS="mathMinus",$.MATH_MULTIPLY="mathMultiply",$.MATH_NOT_EQUAL="mathNotEqual",$.MATH_PLUS="mathPlus",$.MOON="moon",$.NON_ISOSCELES_TRAPEZOID="nonIsoscelesTrapezoid",$.NOTCHED_RIGHT_ARROW="notchedRightArrow",$.NO_SYMBOL="noSmoking",$.OCTAGON="octagon",$.OVAL="ellipse",$.OVAL_CALLOUT="wedgeEllipseCallout",$.PARALLELOGRAM="parallelogram",$.PENTAGON="homePlate",$.PIE="pie",$.PIE_WEDGE="pieWedge",$.PLAQUE="plaque",$.PLAQUE_TABS="plaqueTabs",$.QUAD_ARROW="quadArrow",$.QUAD_ARROW_CALLOUT="quadArrowCallout",$.RECTANGLE="rect",$.RECTANGULAR_CALLOUT="wedgeRectCallout",$.REGULAR_PENTAGON="pentagon",$.RIGHT_ARROW="rightArrow",$.RIGHT_ARROW_CALLOUT="rightArrowCallout",$.RIGHT_BRACE="rightBrace",$.RIGHT_BRACKET="rightBracket",$.RIGHT_TRIANGLE="rtTriangle",$.ROUNDED_RECTANGLE="roundRect",$.ROUNDED_RECTANGULAR_CALLOUT="wedgeRoundRectCallout",$.ROUND_1_RECTANGLE="round1Rect",$.ROUND_2_DIAG_RECTANGLE="round2DiagRect",$.ROUND_2_SAME_RECTANGLE="round2SameRect",$.SMILEY_FACE="smileyFace",$.SNIP_1_RECTANGLE="snip1Rect",$.SNIP_2_DIAG_RECTANGLE="snip2DiagRect",$.SNIP_2_SAME_RECTANGLE="snip2SameRect",$.SNIP_ROUND_RECTANGLE="snipRoundRect",$.SQUARE_TABS="squareTabs",$.STAR_10_POINT="star10",$.STAR_12_POINT="star12",$.STAR_16_POINT="star16",$.STAR_24_POINT="star24",$.STAR_32_POINT="star32",$.STAR_4_POINT="star4",$.STAR_5_POINT="star5",$.STAR_6_POINT="star6",$.STAR_7_POINT="star7",$.STAR_8_POINT="star8",$.STRIPED_RIGHT_ARROW="stripedRightArrow",$.SUN="sun",$.SWOOSH_ARROW="swooshArrow",$.TEAR="teardrop",$.TRAPEZOID="trapezoid",$.UP_ARROW="upArrow",$.UP_ARROW_CALLOUT="upArrowCallout",$.UP_DOWN_ARROW="upDownArrow",$.UP_DOWN_ARROW_CALLOUT="upDownArrowCallout",$.UP_RIBBON="ribbon2",$.U_TURN_ARROW="uturnArrow",$.VERTICAL_SCROLL="verticalScroll",$.WAVE="wave"})(B1||(B1={}));var q0;(function($){$.AREA="area",$.BAR="bar",$.BAR3D="bar3D",$.BUBBLE="bubble",$.BUBBLE3D="bubble3D",$.DOUGHNUT="doughnut",$.LINE="line",$.PIE="pie",$.RADAR="radar",$.SCATTER="scatter"})(q0||(q0={}));var D5;(function($){$.TEXT1="tx1",$.TEXT2="tx2",$.BACKGROUND1="bg1",$.BACKGROUND2="bg2",$.ACCENT1="accent1",$.ACCENT2="accent2",$.ACCENT3="accent3",$.ACCENT4="accent4",$.ACCENT5="accent5",$.ACCENT6="accent6"})(D5||(D5={}));var W1;(function($){$.chart="chart",$.image="image",$.line="line",$.rect="rect",$.text="text",$.placeholder="placeholder"})(W1||(W1={}));var D0;(function($){$.chart="chart",$.hyperlink="hyperlink",$.image="image",$.media="media",$.online="online",$.placeholder="placeholder",$.table="table",$.tablecell="tablecell",$.text="text",$.notes="notes"})(D0||(D0={}));var F8;(function($){$.title="title",$.body="body",$.image="pic",$.chart="chart",$.table="tbl",$.media="media"})(F8||(F8={}));var C6;(function($){$.DEFAULT="•",$.CHECK="✓",$.STAR="★",$.TRIANGLE="▶"})(C6||(C6={}));var j6="data:image/png;base64,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",gB="data:image/png;base64,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AAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKREkRUAAACwrUpLSwuGDRvWfMCAAS26du3avKysrLiioqKkZcuWzZs1a1bcvHnz0tLS0rJsNtusuLi4ebNmzUoLCgo+8/eijY2N9Zs3b66pra2tqqur21xTU1NdVVVVs2nTptqNGzdWbdiwoeYvf/nL5hUrVlQtWLBgw6xZs6pqamoaJQYAAEDaKYABAACIiIghQ4aUHnTQQW379u3bql27dq3at2/fpkWLFq2bN29eWVpa2qpZs2bNCwsLm2ez2fLCwsLyoqKi8sLCwtKknK+hoaG6vr6+qqGh4S91dXV/aWhoqNq8eXNVTU3NuqqqqvUbNmxYu2rVqjWrV69e99Zbb6177rnnPpgzZ06NTwYAAABJogAGAADIA8OGDWt+xBFHdBwwYECnLl26dGjdunXHFi1adCgtLe1YUlLSvlmzZq0KCgqK07yDwsLCssLCwrKIaPdp/zuNjY21mzdvXrdp06ZVNTU172/YsGHl2rVr31+2bNnKBQsWrHjyySffnzVrVpVPGAAAAE1Fpuexsd9HfaF+ZcSal0ptCAAAIAE6deqUPf744zvtueeeXbp3796lbdu2XSorKzuXlpZ2KS0t7VBYWFhhSztGQ0PDxpqampU1NTXL169fv+yDDz5Y9s477yybPXv2sj/96U8rVqxYUWdLAAAAbE9t9q6Jog4f/TUFMAAAQEJks9nMt7/97Y4jRozo1bdv397t2rXrXl5e3rWsrKxzcXFx+4gosKUmp7G2tnZVTU3Nso0bNy5btWrV0tdff/2tJ598cvG999672noAAADYFgpgAACAhPne977X6a9Fb/v27Xu1bNmyV1lZWa8kvXOXLauvr9/wl7/8ZdG6desWL1u2bNHChQsX/fGPf1w8derUjbYDAADAliiAAQAAmqhsNps59dRTuxx66KH9+/Tp87n27dv3Ly8v719UVOSRzXlq06ZNKzZu3Pj6+++//8abb775xqOPPvrG3XffvcpmAAAA+CsFMAAAQBNx6qmndvniF784qHfv3v3btWv3uYqKis8VFhaW2wxbUl9fv37Dhg1vfPDBB68vXrz4jccee2z+jTfeuNxmAAAA8pMCGAAAYBc45phjWn/rW9/aq3///kPatGnTv6Kiop9HOLO9NDQ0VG/cuPGtNWvWLFy4cOGcO+6445WHHnporc0AAACknwIYAABgJzjjjDO6f+lLX9qrV69eg1u3bj2orKysR0RkbIadJFddXb103bp18xcvXjz30UcffeXqq69+x1oAAADSRwEMAACwnZWWlhb86le/2u3QQw8d1r17931btmw5qLCwsMxmaEoaGhqqP/zww/nvvPPOzGeeeWbW2LFj36ipqWm0GQAAgGRTAAMAAGwHP/7xj7t+9atf3bdXr15D27Ztu1c2m21jKyRJXV3dmg8++OCVRYsWvfznP/95xh/+8IdltgIAAJA8CmAAAIBtcOKJJ7Y75ZRTDujXr9+w1q1bD81ms61shTSpq6tbt3bt2pfffPPNWbfccsvUe++9d7WtAAAANH0KYAAAgE+hoqKi4IILLhg0YsSI/bp27bpfy5YtB2YymUKbIR/kcrmGDz/8cP6777474/nnn59x4YUXvrZx40aPiwYAAGiCFMAAAAAf4/jjj2/7/e9//8D+/fsf2Lp1630KCgpKbAUiGhsbN61fv37eW2+9NeWGG2545u67715lKwAAAE2DAhgAAOB/ZLPZzAUXXPC5I4888sDu3bsfWFFRsVtEFNgMbFl1dfWSd999d8qsWbNmnnvuuS+vW7euwVYAAAB2DQUwAACQ10pLSwsuvfTSQYcccsjBXbt2HVFWVtbDVmDb1dbWrnr//fdfmDp16uRf/vKXL65evbreVgAAAHYeBTAAAJB3Bg0aVHrBBRd8fs899zywQ4cOBxQVFbWwFdj+Ghsba9euXTtrzpw5T59//vmTX3755WpbAQAA2LEUwAAAQF4YNmxY8/POO+/gIUOGHOZ9vrDz/W0ZfNFFFz07a9asKlsBAADY/hTAAABAarVq1arwyiuv3HfEiBEjO3TocFBhYWGZrcCu19DQUP3+++8/O2XKlIk/+clPZm7cuLHRVgAAALYPBTAAAJAqrVq1Kvztb3+7/3777Xd4x44dRxQWFpbbCjRdDQ0NG99///0pM2bMeOqHP/zhC8pgAACAz0YBDAAApMJZZ53V45vf/OaRvXr1GllaWtrVRiB5ampq3l28ePHEO++8c9LVV1/9jo0AAABsPQUwAACQWMOHDy+/6KKLvjB48OCjW7RoMdBGID0+/PDDV+fNmzfhvPPOe3L69Ol/sREAAIBPRwEMAAAkSqtWrQpvuOGGQ/bbb79/atOmzX6ZTCZrK5BeuVyubs2aNTNmzJjx2JgxYyavW7euwVYAAAA+ngIYAABIhB//+Mddv/e9732lZ8+e/1RcXNzWRiD/1NbWfvD2228/dssttzz029/+9l0bAQAA+L8UwAAAQJNVUVFRcO21137+4IMPPrZ169b7ZTKZAlsBIqJxzZo1M59//vnxp5122hR3BQMAAPx/CmAAAKDJOeWUUzqefvrpx/bu3ftL2Wy2jY0AH6e+vn7j0qVLH/vd7373x+uvv36ZjQAAAPlOAQwAADQJ2Ww2c+uttx5wyCGHnNC6deu9I8LdvsDWaFy7du1L06ZN+/OPfvSjZ1evXl1vJQAAQD5SAAMAALtU//79S6655pp/2nPPPY8tLy/vayPAZ1VTU7NswYIF488999wHp06dutFGAACAfKIABgAAdomf//znPU855ZQTu3btemRhYWGZjQDbW2NjY92KFSuevOWWW+689NJLF9kIAACQDxTAAADATuMxz8Cusn79+rlPP/30f5188slT6+rqcjYCAACklQIYAADY4fr27Vv8hz/84a+Pee5nI8CuUlNT8+68efPu/8EPfvDgwoULN9kIAACQNgpgAABghxkyZEjpNddc89XBgwefWFxc3MFGgKaitrZ21dy5c+/5yU9+8uc5c+bU2AgAAJAWWyqAPYoNAADYJqNHj+4wb968n06ZMuXRYcOGnaH8BZqa4uLi9sOGDTtjypQpj86bN++nJ510UntbAQAA0s4dwAAAwFY599xze33/+9//dufOnY/IZDJZGwGSIpfL1S1fvvzJG2644fbLLrvsbRsBAACSyiOgAQCAz+y8887r+53vfOfbHTt2PDyTyRTaCJBUuVyuYcWKFU/cdNNN//XrX/96sY0AAABJowAGAAC22WWXXTboG9/4xg9at249zDaAtFm7du2su++++9pzzjnnNdsAAACSQgEMAABsNcUvkE8UwQAAQJIogAEAgE9N8Qvks7Vr18665557rvv5z38+3zYAAICmaksFcGHlwOj6UV9orIqoWZG1PQAAyBO/+MUvet9xxx3nHHrooT8pLS3tYiNAPiotLe2y7777HvP973+/X1lZ2ZIpU6assxUAAKCpKetcHwXlH/01BTAAAOS5M844o/u99957zpe//OWflZeX94qIjK0AeS5TXl7e8+CDDx71/e9/v3dEvDVjxowPrQUAAGgqFMAAAMD/ceKJJ7a77777fjJq1Kh/KS8v7xOKX4B/lCkvL+99+OGHj/rWt77VfvXq1Qvnz59fbS0AAMCutqUC2DuAAQAgzwwdOrTs+uuvP6l///4nFRYWltkI20NjY2Ns2rQpqquro6amJurr62PTpk2xefPmqK+vj+rq6qivr4/NmzfHpk2boqGhYZv/fxUWFkZJSUk0a9YsioqKoqysLIqKiqJZs2ZRUlISRUVFUVpa+r9/FRQUCIjtoqGhoeq11167a8yYMffMmTOnxkYAAIBdZUvvAFYAAwBAnujUqVP2nnvuGbXXXnudnM1mK22Ej9PQ0BAbN26MDRs2/J+/Nm7cGBs3boyamprYtGlTbNq0KWpqaqK2trbJnqe4uDhKSkqitLT0f/9eUVERFRUV0aJFi//zV0VFRRQWFvog8LHq6urWvvjii7eceOKJf169enW9jQAAADubAhgAAPLcXXfdddAXv/jF00tLS7vZRn7L5XKxYcOGWLt2baxbty7Wrl37d3+tW7cuNmzYkPd7atGiRbRu3TpatWoVrVu3jjZt2vzvf27dunW0aNHCh4morq5e+sgjj1zzne98Z6ptAAAAO5MCGAAA8tTVV189+MQTTzyzoqJioG3kj8bGxli5cmUsX748Pvjgg1i9evX//n3t2rXR2NhoSZ9RYWFhtGrVKtq1axdt27b937937tw5OnTo4LHTeWbDhg3z77333qvOPPPMebYBAADsDApgAADIM1/72tfaXHrppad27979qIjQRKVUQ0NDrFq1KlasWBHvv//+//595cqVTfqRzGlXXFwcHTp0iI4dO0bnzp2jY8eO0alTp2jXrp1HS6dYLpdrfOeddx76+c9/fv2ECRPW2QgAALAjKYABACBP9OrVq9ldd931jT322OM7hYWFZTaSHh9++GG88847sXTp0njvvfdixYoVsXr16mhoaLCchCgsLIz27dtHp06dolu3btG9e/fo3r27x0mnTENDQ9W8efNu++Y3v/nHJUuWbLYRAABgR1AAAwBAHrjrrrtG/NM//dOZJSUlXWwj2davXx9Lly6Nd955539L3w8//NBiUqqysvJ/y+C//tWqVSuLSbiamppljz322G9Gjx49xTYAAIDtTQEMAAAp9qtf/arPD3/4w5+1atVqL9tIno0bN8aSJUvirbfeikWLFsV7770XmzZtspg8V1JSEl27do0+ffpE3759o3fv3lFeXm4xCbRu3bqXr7322ivGjh27yDYAAIDtRQEMAAApNGjQoNI77rjju7vttttJBQUFWRtJhtWrV8ebb74ZixcvjiVLlsTy5cujsbHRYtiigoKC6Ny5c/Tu3Tt69+4d/fr1i7Zt21pMQjQ2Nta98cYbd33rW9+6ff78+TU2AgAAfFYKYAAASJHS0tKCBx988Jj99tvvn7PZbBsbaboaGhri7bffjrfeeisWLFgQS5YscXcv201FRUX06tUr+vbtG3379o2ePXtGYWGhxTRhdXV1a2bMmHHjV77ylYdqamr85gcAALDNFMAAAJASp59+erdf/vKX51ZWVu5jG03T6tWr47XXXouFCxfGm2++GRs3brQUdooWLVpE3759Y8CAATFw4EB3CDdh69evf/E//uM//vPqq69+xzYAAIBtoQAGAICEGzRoUOm99977w969ex+byWTc4teErF+/PubNmxcLFiyIN954Q+FLk9GiRYvo169fDBgwIPbYY4+orKy0lCYkl8s1LF68eNyJJ554rcdCAwAAW0sBDAAACXbNNdcMOemkk35RVlbWyzZ2vVwuF++++27MnTs3XnvttViyZIl3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B7lcrm7y5Mm//vKXv/yIbQAAwK63pXcAK4ABAMg7paWlBTNnzjyzT58+x9vG39uwYUOMGzcuZsyY4VHPQF7KZDKx3377xde//vWoqKiwkH+waNGiP+27775X1dTUeCwEAADsQgpgAAD4H926dctOnjz5V506dRppG/9fLpeLqVOnxp///OfYuHGjhQB5r6KiIkaNGhX777+/x0L/g+XLlz9+6KGHXvLuu+/W2QYAAOwaWyqAvQMYAIC8MXz48PInnnjiynbt2o2wjf/vnXfeiWuvvTaee+652Lx5s4UARMTmzZtjzpw58dprr0XPnj2jRYsWlvI/Kioq+n7rW98aMnXq1Ofee+89f3AAAMAusKV3ACuAAQDIC9/+9rc73n777X9o0aLFANv4b1VVVXHXXXfFvffeG+vXr7cQgI+wbt26eP7552P9+vWx2267RVFRkaVERElJSefjjjvuoA8++GDKK6+88hcbAQCAnUsBDABAXjv//PP7XXzxxX8oKSnpbBv/bfr06XHttdfGokWLLAPgU3jnnXdi2rRp0bp16+jc2R8nERHZbLbyC1/4whElJSUvTp48eY2NAADAzqMABgAgb/3ud7/b60c/+tFVRUVFrWwjYs2aNXHzzTfHpEmTora21kIAtkJtbW289NJL8c4770Tfvn2jtLQ073dSWFhYNnz48C/26dNn4UMPPbTMpwQAAHYOBTAAAHnp1ltv3f+b3/zmfxYWFjbP913kcrl4/vnn4/rrr4/ly5f7cAB8BitXroxp06ZFRUVFdOvWLTKZTF7vo6CgIDto0KBDBw0atOiBBx54xycEAAB2vC0VwJmex8Z+H/WF+pURa17ym6wAACTTww8//KXDDjvsXzKZTN6/rPGDDz6I22+/Pd544w0fDIDtbMCAAfGtb30r2rRpk/e7yOVyjVOmTPn1yJEjH/LJAACAHavN3jVR1OGjv6YABgAgdV555ZXTPve5z30r3/fQ0NAQjz32WDz++ONRV1fngwGwg2Sz2Tj66KPjC1/4QhQUFOT9Pl5//fU79tprr9/7ZAAAwI6jAAYAIC9ks9nMyy+/fFafPn2Oz/ddvPvuu3HbbbfFe++954MBsJN069YtvvOd70S3bt3yfhdLliy5f5999rmypqam0ScDAAC2PwUwAACpV1paWjBr1qyzevfufVw+7yGXy8WTTz4ZDz74oLt+AXaBbDYbxxxzTBxxxBF5fzfw0qVLHxg6dOjlSmAAANj+FMAAAKRar169mk2ePHlsu3btDsrnPaxcuTJuueWWePvtt30oAHaxnj17ximnnBIdOnTI6z2sXr16yiGHHPIvS5Ys2exTAQAA28+WCuDCyoHR9aO+0FgVUbMia3sAADRpQ4cOLXvqqacub9Omzf75uoNcLhfPPPNMXH/99bF27VofCoAmYP369TFlypQoKSmJnj17RiaTycs9NG/evPtJJ500ZPLkyc+sWLHCoykAAGA7KetcHwXlH/01BTAAAIk1ZMiQ0kceeeSKVq1a7Z2vO6iuro7bb789nnjiiWhs9IRNgKaksbEx5s+fH++//34MGDAgstn8/DlLaWlpp6997WuDn3rqqadXrlxZ75MBAACfnQIYAIDUOfTQQ1s8+OCDv2/ZsuUe+bqDOXPmxNVXX+2RzwBN3PLly+OFF16Ijh075u0joUtLSzudcMIJ+7/00ktPv/3227U+FQAA8NkogAEASJVhw4Y1v++++37TsmXLQfl4/vr6+hg/fnz88Y9/jNpaP0MHSILNmzfHiy++GJs3b47ddtstCgoK8m4HxcXFbY866qg9n3vuuaeXL1/ucdAAAPAZKIABAEiNI488snLcuHG/b9GixcB8PP97770XV111VcyZM8eHASCBFi1aFC+//HL069cvWrRokXfnLykp6XDcccftP2fOnGcWLVq0yScCAAC2jQIYAIBUOPLIIyvvvPPO35aXl++Wj+d/+umn48Ybb4wPP/zQhwEgwf7yl7/ECy+8ECUlJdGrV6+8O3+zZs3aHHXUUfspgQEAYNspgAEASLxjjz227W233faH5s2b98m3s1dVVcXNN98cTz31VDQ2NvowAKRAY2NjzJ8/P5YtWxYDBgyIZs2a5dX5mzVr1uaYY4458M0333xm4cKFNT4RAACwdRTAAAAk2qGHHtritttuuzofy9+33347rrnmmli8eLEPAkAKvf/++/HKK69Enz59orKyMq/Ons1mK4888sh9Zs6c+dTSpUs3+zQAAMCnpwAGACCxjjjiiJb33nvvteXl5f3y6dy5XC4mTZoUN998c1RVVfkgAKRYVVVVTJ06NbLZbPTp0ycymUzenL24uLjtV7/61c+/8sorTy1evLjWpwEAAD4dBTAAAIl06KGHtrj33nt/l2/lb3V1ddx0000xefLkyOVyPggAeSCXy8WCBQvi3Xffjd133z2y2fz5mUyzZs1aH3300fvNmDHjSXcCAwDAp6MABgAgcYYOHVo2fvz4qysqKgbk07mXLVsWV111lUc+A+SplStXxiuvvBKf+9znoqKiIm/O3axZszZHH3300GeeeebJFStW1PkkAADAlimAAQBIlCFDhpQ++uij17Rs2XL3fDr31KlT49prr42NGzf6EADksaqqqpg+fXq0bds2unTpkjfnLikpaT9q1KihTz755JMrV66s90kAAICPt6UCuMB6AABoSjp16pSdMGHCv1dWVu6RL2dubGyMcePGxR133BF1dW56AiCitrY2br755hg/fnw0NjbmzbkrKyv3mDBhwr9369bNXQkAALCNFMAAADQZrVq1Kpw+ffolbdq02T9fzlxdXR2/+93vYtKkSd73C8DfyeVy8fjjj8fvf//7qK6uzptzt2nTZv8pU6Zc0qpVq0KfAgAA2HoKYAAAmoSKioqC2bNnX9KuXbuD8uXMS5cujYsuuijmz5/vAwDAx3r11VfjoosuiqVLl+bNmdu1a3fQ7Nmz/72iosLPrgAAYCu5iAYAoEmYOXPmz9q1a3dIvpz35ZdfjiuuuCLWrVsnfAA+0bp16+KKK66Il19+OW/O3K5du4Nnzpz5M+kDAMDWUQADALDLvfjii2N69OgxKh/Omsvl4oEHHogbbrghamtrhQ/Ap1ZbWxs33HBDPPDAA3nz2oAePXqMevHFF8dIHwAAPj0FMAAAu9SkSZO+NnDgwFPy4ax1dXVx8803x8SJE73vF4BtksvlYuLEiXHLLbdEXV1dXpx54MCBJ0+aNOlr0gcAgE9HAQwAwC7z6KOPHnXggQeekw9nXbduXfz617+OWbNmCR6Az2zmzJnx61//Ol9eJZA58MADz3n00UePkjwAAHyywsqB0fWjvtBYFVGzImtDAADsEDfeeOO+Rx999EWZTKYw7Wddvnx5XHXVVbFy5UrBA7DdbNiwIWbPnh0DBw6MioqKtB8307179/179uz56sMPP7xc+gAA5LuyzvVRUP7RX1MAAwCw011xxRV7fPe7372qoKCgWdrPOmfOnPjtb38bGzduFDwA2111dXVMmzYtOnfuHB07dkz1WTOZTOHuu+9+eJs2bV6aNGnSKukDAJDPFMAAADQZZ5xxRvef/exnvy0sLCxP+1knTJgQd999d9TX1wsegB2moaEhXnrppchms9G3b99UnzWTyRTttddeB/3lL395dubMmRukDwBAvlIAAwDQJBx00EEVf/jDH64pLi7ulOZz5nK5eOCBB+Kxxx4TOgA77c+eBQsWRF1dXfTv3z8ymUxqz1pQUFBywAEHDJs+ffqkpUuXbpY+AAD5aEsFcIH1AACwMwwaNKj0vvvuu7qsrKxXms9ZV1cX1113XUyaNEnoAOx0EydOjOuvvz7q6upSfc6ysrJef/rTn67u379/idQBAODvKYABANjhKioqCh577LGLKyoqBqb5nNXV1XHNNdfE7NmzhQ7ALvPKK6/ElVdeGVVVVak+Z4sWLQZOnDhxbEVFhZ9vAQDA33CBDADADjdz5syftW3b9sA0n3HdunVx2WWXxRtvvCFwAHa5xYsXx2WXXRZr165N9TnbtWt34MyZM38mcQAA+P8UwAAA7FBPPvnkqB49eoxK8xlXrVoVV1xxRSxfvlzgADQZK1asiCuuuCJWrlyZ6nP26NFj1KRJk0ZJHAAA/lth5cDo+lFfaKyKqFmRtSEAALbZjTfeuO+XvvSlCzOZTGp/8fDdd9+NK6+8MtatWydwAJqc6urqmDVrVvTv3z8qKytTe85u3boN79mz57yHH37Yb2MBAJAXyjrXR0H5R39NAQwAwA5x3nnn9T311FOvLigoKE7rGV977bW45pprorq6WuAANFmbN2+OGTNmRI8ePaJ9+/apPGMmkykYNGjQIYWFhVOee+45v5UFAEDqKYABANipjjrqqFb/8R//8YdmzZq1SusZX3755bj++uujrq5O4AA0eQ0NDfHSSy9Fp06dolOnTqk8Y0FBQXbYsGGfnz9//qQ33nhjk9QBAEizLRXA3gEMAMB21a1bt+wNN9zwnyUlJR3TesYpU6bEjTfeGPX19QIHIDHq6+vjxhtvjKlTp6b2jCUlJZ1uuOGG/+jWrZu7GgAAyFsKYAAAtqunn376XyorK/dI6/kmTZoUd955ZzQ2NgobgMRpbGyMO+64I5588snUnrGysnLw008//UtpAwCQrxTAAABsN88///w3unTp8k9pPd/EiRNj3LhxkcvlhA1AYuVyubj//vtTXQJ36dLlS88+++yJ0gYAIB95BzAAANvFTTfdNPzII488L5PJZNJ4vsceeyzGjx8vaABS47XXXotmzZpF3759U3m+zp0779urV695Dz/88DJpAwCQNlt6B7ACGACAz+wXv/hF7x/+8IdXFxQUNEvj+R544IF45JFHBA1A6ixYsCDq6upiwIABqTtbJpPJDBo06ODGxsbnpk6dul7aAACkiQIYAIAd5oADDqj43e9+99tmzZq1TeP5xo0bF5MmTRI0AKm1aNGi2Lx5cwwcODB1ZysoKMjut99+w5577rnH33vvvc3SBgAgLbZUAHsHMAAA2yybzWbuvPPOfyktLe2exvNNmDBB+QtAXpg0aVI89NBDqTxbaWlpj3vuuedfstlsRtIAAOQDBTAAANvs+eef/06HDh0OTePZHn744Xj44YeFDEDeeOSRR+LPf/5zKs/WoUOHw5599tlvSxkAgHygAAYAYJvcd999hw8ePPjUNJ7t/vvvjwkTJggZgLzz2GOPxX333ZfKs+25554/+NOf/nSYlAEASDvvAAYAYKudccYZ3ceMGXN5QUFBcdrONnHixHjkkUeEDEDeWrx4cWSz2ejbt2/ajpbp06fPvn/5y18mz5w5c4OkAQBIsi29A1gBDADAVhk2bFjzG2+88Q/NmjVrl7azPfroo6l99CUAbI2FCxdGUVFR9OvXL1XnKigoKD7wwAP3e/LJJx9dsWJFnaQBAEiqLRXAHgENAMBWuffee39ZWlraPW3nevzxx+PBBx8UMAD8jz//+c8xceLE1J2rtLS0x3333fdLCQMAkFYKYAAAPrVJkyaN6tSp0xEpPFeMHz9ewADwD8aPHx+TJ09O3bk6der0hUmTJn1VwgAApJFHQAMA8Kmcd955fU888cR/z2QyRWk618yZM+Puu+8WMAB8jNdeey06duwYnTt3TtW5unbtuk9BQcHzzz333DopAwCQNN4BDADAZ3LEEUe0vOKKK67NZrOVaTrXyy+/HDfffHPkcjkhA8DHyOVyMXv27OjSpUt06tQpNefKZDJF++yzz/CpU6c+9u67726WNAAASeIdwAAAbLNsNpu55ZZb/q2kpKRjms61YMGCuPnmm6OxsVHIAPAJGhsb4+abb44333wzVecqLS3tcvfdd5+fzWYzUgYAIC0UwAAAbNGkSZO+3rZt2wPTdKZly5bFDTfcEPX19QIGgE+prq4urr322li+fHmqztWuXbsDH3/88VESBgAgLTwCGgCAj3XZZZcN+upXvzo2k8mk5hcH33///bjyyiujqqpKwACwlerq6uLll1+OIUOGRHl5eWrO1aVLl31LS0unPvPMM2ukDABAEngENAAAW61///4lJ5988q8ymUxRWs60YcOG+P3vfx8bN24UMABso40bN8bvfve7VP15WlBQkP3hD394ft++fYslDABA4q9vrQAAgI/y4IMPnl1WVtYrLeeprq6O3/zmN7Fq1SrhAsBntGrVqrjyyiujuro6NWcqKyvr8/DDD58lXQAAkk4BDADA/zF+/Pgju3XrdnRazlNfX5/KdxYCwK60fPnyuO6666K+vj41Z+rRo8dXx40bd4R0AQBIMgUwAAB/53vf+16nI4444py0nCeXy8Vtt90Wb7zxhnABYDt7/fXX47bbbotcLpeaMx155JHnfvvb3+4oXQAAkkoBDADA/6qoqCi4+OKLLywsLCxPy5nGjx8fs2bNEi4A7CCzZs2Khx56KDXnKSwsrPj1r399QUVFhZ+bAQCQSC5kAQD4XxMnThxdWVk5OC3nef7552PixImCBYAd7LHHHosXXnghNeeprKzc89FHHz1RsgAAJFFh5cDo+lFfaKyKqFmRtSEAgDxxwQUX7DZq1KgLM5lMYRrO8+qrr8Ytt9ySqkdSAkBT/7O3d+/e0a5du1Scp2PHjkNzudxzU6ZMWSddAACamrLO9VHwMc/wcwcwAADRt2/f4h//+McXZzKZVPwG4HvvvRc33HBDNDY2ChcAdpKGhoa47rrrYtmyZak4T0FBQfbss88e27dv32LpAgCQqGtZKwAAYPz48T8qKyvrkYazbNiwIX7/+99HbW2tYAFgJ9u0aVP8/ve/j40bN6biPGVlZb3GjRs3RrIAACSJAhgAIM/ddNNNw/v06XN8Gs5SX18f1157baxdu1awALCLrFmzJq699tqor69PxXn69ev3jd///vdDJQsAQFIogAEA8thBBx1Uceyxx/5rRGTScJ477rgjFi9eLFgA2MUWLVoUd955Z1qOU/CNb3zj34YNG9ZcsgAAJOIC1goAAPLXzTfffFZxcXG7NJxl4sSJMX36dKECQBMxbdq0mDRpUirOUlJS0unOO+88Q6oAACSBAhgAIE/913/914FdunT5UhrO8tprr8Wf//xnoQJAEzN+/PhYsGBBKs7SrVu3o2+66abhUgUAoKlTAAMA5KEvfelLlV/5yld+lYazrFixIq6//vpobGwULAA0MY2NjXHdddfFihUr0nCczHHHHfergw46qEKyAAA0ZQpgAIA8dPXVV5+ezWYrk36OmpqauPbaa2PTpk1CBYAmatOmTXHttddGTU1N4s+SzWbb3njjjT+RKgAATZkCGAAgz9x6663Du3Tp8uWknyOXy8Utt9wSK1euFCoANHErV66MW2+9NXK5XOLP4lHQAAA0dQpgAIA8MnTo0LKvfvWrv0jDWSZMmBBz584VKgAkxJw5c+Kxxx5LxVlGjRr1i6FDh5ZJFQCApkgBDACQR+64444fFRcXd0z6OV5++eV45JFHBAoACfPQQw+l4he4SkpKOt5xxx0/lCgAAE2RAhgAIE9cfvnlu/fs2XNU0s/xwQcfxB133JGKR0gCQL7J5XJx2223xZo1axJ/lp49ex57+eWX7y5VAACaGgUwAEAe6NatW/a73/3uv2YymURf/9XX18cNN9wQ1dXVQgWAhKqqqoobb7wx6uvrE32OTCZT8N3vfvdX3bp1y0oVAICmRAEMAJAHxo8ff0pZWVmvpJ/jnnvuiaVLlwoUABJuyZIlcd999yX+HGVlZT3Hjx9/ikQBAGhKFMAAACn385//vOeAAQNGJ/0c06dPjylTpggUAFJi8uTJMWPGjMSfY8CAAaN//vOf95QoAABNhQIYACDFstls5qyzzjo3k8kk+tGEK1asiLvvvlugAJAyd911V6xYsSLRZ8hkMtmzzjrr3Gw2m5EoAABNgQIYACDFxo0b98XKysq9knyG2trauOGGG6K2tlagAJAyf/1zfvPmzYk+R2Vl5V7jxo0bKVEAAJoCBTAAQEoNHz68/OCDDz4t6ee4//77Y/ny5QIFgJRavnx5jBs3LvHnGDFixI+HDRvWXKIAAOxqCmAAgJS69dZbT8tms22TfIYZM2bEc889J0wASLnJkyfHzJkzE32G4uLitrfffvtp0gQAYFdTAAMApNBVV121R48ePb6S5DOsXLky7rrrLmECQJ64++6744MPPkj0GXr27PnVK664Yg9pAgCwKymAAQBSprS0tOAb3/jGT5N8rdfY2Bi333679/4CQB6pqamJ2267LRobG5N8jIJvfvObZ5aWlvqZGwAAu+6i1AoAANJlwoQJX6uoqBiQ5DOMHz8+Fi1aJEwAyDNvvvlmPPjgg4k+Q4sWLQY9+OCDx0gTAIBdRQEMAJAiRx55ZOWwYcN+kOQzzJ07N5544glhAkCemjhxYixYsCDRZxg+fPiPjjjiiJbSBABgV1AAAwCkyBVXXHFyUVFRRVLnr6qqijvvvDNyuZwwASBP5XK5uP3226O6ujqxZygqKmrxm9/85mRpAgCwKyiAAQBS4vzzz+/Xu3fv45J8httvvz0+/PBDYQJAnlu3bl3cfvvtiT5D7969jz///PP7SRMAgJ1NAQwAkALZbDZz6qmn/jyTyST2+m769OkxZ84cYQIAERExe/bsmDFjRmLnz2QyBaeeeurPs9lsRpoAAOxMCmAAgBT44x//eERlZeXgpM6/du3auPfeewUJAPyde+65J9atW5fY+SsrKwf/6U9/+oIkAQDYmRTAAAAJ17dv3+JDDjnkR0k+w9133x01NTXCBAD+Tk1NTdx9992JPsPBBx/8o759+xZLEwCAnUUBDACQcHfdddc3S0pKOiV1/smTJ8e8efMECQB8pLlz58azzz6b2PlLSko63nPPPd+SJAAAO4sCGAAgwb70pS9VDhw48KSkzr9mzZoYP368IAGALXrggQdizZo1iZ2/f//+Jx111FGtJAkAwM6gAAYASLArrrji1MLCwvIkzp7L5eK2226LTZs2CRIA2KJNmzbFbbfdFrlcLpHzFxYWll1++eU/kCQAADuDAhgAIKF+8Ytf9O7evftXkjr/s88+G2+88YYgAYBP5Y033ojnn38+sfN369bt6F/96ld9JAkAwI6mAAYASKgf/vCHP8pkMom8nvvggw/igQceECIAsFXGjRsX69atS+TsmUym4NRTT/2xFAEA2NEUwAAACXTdddcNa9eu3YFJnD2Xy8Udd9wRtbW1ggQAtsqmTZvizjvvTOz8bdq02f+mm27aT5IAAOxICmAAgIQpLS0t+NrXvnZ6Uud/4YUXYuHChYIEALbJq6++GjNmzEjs/Mccc8zpFRUVfiYHAMAO42ITACBhbr/99oMrKip2S+LsGzZsiHHjxgkRAPhM7r///qiqqkrk7OXl5X3/67/+6wgpAgCwoyiAAQASpKKiouCwww47Nanz33vvvYn9YS0A0HRs2LAh7r///sTOf9BBB/1zq1atCiUJAMCOoAAGAEiQ+++//+iysrKeSZx9zpw58dJLLwkRANguXnjhhViwYEEiZy8tLe32xz/+8StSBABgR1AAAwAkRN++fYv33Xfff07i7LW1tXHvvfcKEQDYru6+++6oq6tL5Oz77bffKf379y+RIgAA25sCGAAgIW6++eZRxcXFbZM4+yOPPBJr164VIgCwXa1atSoee+yxRM6ezWbb3njjjV+TIgAA25sCGAAgAYYOHVq21157fSeJs7/33nvxxBNPCBEA2CEmTpwYK1asSOTsQ4YM+c7QoUPLpAgAwPakAAYASIBrr732xKKiosqkzZ3L5eKee+6JxsZGIQIAO0R9fX3cddddkcvlEjd7UVFR5bXXXnuCFAEA2J4UwAAATdwBBxxQMWDAgG8kcfYZM2bEW2+9JUQAYId6880348UXX0zk7AMGDPjG8OHDy6UIAMD2ogAGAGjirrrqqhOKiooqkjb3pk2b4oEHHhAgALBT3H///VFbW5u4uYuKilpcffXV7gIGAGC7UQADADRhBx10UEX//v0Teffvww8/HB9++KEQAYCdYv369TFhwoREzj5w4MBvHHDAARVSBABge1AAAwA0Yf/5n/95bGFhYfOkzb1q1aqYPHmyAAGAnerpp5+O1atXJ27uwsLC8ssuu2yUBAEA2B4UwAAATdQBBxxQMWjQoNFJnP3uu++O+vp6IQIAO1V9fX3cddddiZx99913/+bQoUPLpAgAwGelAAYAaKIuv/zyYwsLC8uTNvfcuXNjwYIFAgQAdokFCxbE3LlzEzd3UVFRi9/97ndflyAAAJ+VAhgAoAkaOnRo2aBBgxL37t+6urr405/+JEAAYJf605/+FHV1dYmbe/fdd//mkCFDSiUIAMBnoQAGAGiCfvOb33ylqKioZdLmfu655xL53j0AIF1Wr14dzz33XOLmLioqann11VcfLUEAAD4LBTAAQBPTq1evZoMHD/5m0uaurq6ORx55RIAAQJPwyCOPRHV1deLmHjJkyLe6deuWlSAAANtKAQwA0MTcdNNNxxQXF7dN2twTJkyIqqoqAQIATUJVVVUifzmtuLi43a233uouYAAAtpkCGACgCWnVqlXhXnvtdVLS5l61alU8++yzAgQAmpTJkyfHqlWrEjf30KFDR7dq1apQggAAbAsFMABAE3LLLbccXlJS0jlpcz/44INRX18vQACgSamvr48HH3wwcXOXlJR0vummmw6VIAAA20IBDADQRGSz2cwBBxzw7aTNvWjRonjppZcECAA0SS+99FIsXrw4cXOPGDHiO9lsNiNBAAC2lgIYAKCJuOaaa/YuLy/vm7S5H3roocjlcgIEAJqkXC6XyLuAy8vL+1111VV7SRAAgK2lAAYAaCK+8pWvfDdpM8+bNy8WLlwoPACgSVu4cGG8+uqrrg8BAMgLCmAAgCbgsssuG1RZWblPkmbO5XIxfvx44QEAifDAAw8k7qklrVu33veSSy7pLz0AALaGAhgAoAkYNWrUCUmbefbs2bFs2TLhAQCJsGzZsnjllVcSN/cJJ5xwovQAANgaCmAAgF3sn//5nzt37NjxiCTN3NjYGA888IDwAIBEGT9+fDQ0NCRq5k6dOn1h9OjRHaQHAMCnpQAGANjFfvSjH30tk8kk6rps2rRpsWrVKuEBAImyatWqeOGFFxI1cyaTKfzpT386SnoAAHxaCmAAgF1o0KBBpX369Plqkmaur6+PCRMmCA8ASKQJEyZEXV1dombu27fvV/r27VssPQAAPg0FMADALnTZZZcdXlRUVJGkmadOnRpr164VHgCQSOvXr48pU6YkauaioqLK3/zmN0dIDwCAT0MBDACwi2Sz2cy+++57UpJmrqurc/cvAJB4jz76aOLuAt5///1PymazGekBAPBJFMAAALvI1VdfPbSsrKx3kmaeMmVKbNiwQXgAQKJt2LAhnn/++UTNXFZW1ueqq67aS3oAAHwSBTAAwC7y5S9/+bgkzVtfXx8TJ04UHACQCo8//nji7gL+0pe+dLzkAAD4JApgAIBdYPTo0R3atm07IkkzT5s2LdatWyc8ACAVPvzww5g+fXqiZm7fvv2I0aNHd5AeAABbogAGANgFfvrTn47KZDKFSZm3vr4+HnnkEcEBAKnyyCOPRH19fWLmzWQyhT/96U+/JjkAALZEAQwAsJN16tQp26dPn6OTNLO7fwGANFq3bl1MmzYtUTP36dPnmE6dOmWlBwDAx1EAAwDsZFddddUB2Wy2dVLmbWxsjEmTJgmOVOvYsWN06OCJmgD5aNKkSdHY2JiYebPZbOurrrrqAMkBAPBxFMAAADvZiBEjvp6keV988cVYtWqV4Ei1Ll26xIUXXhinnXZadO3a1UIA8siqVavipZdecj0JAEBqKIABAHaiM844o3tlZeXeSZk3l8vFxIkTBUdeyGQyMXjw4PjVr34VY8aMcUcwQB55/PHHI5fLJWbeysrKvc8444zukgMA4KMogAEAdqJTTjnlqxGRScq8CxYsiPfee09w5JVMJhN77713XHjhhTFmzJho3769pQCk3HvvvRcLFy5M1B9X/3NdCQAA/4cCGABgJ+nVq1ezXr16fTlJM3v3L/nsr0XwBRdcECeffHK0bdvWUgBSLGnXPb169fpyr169mkkOAIB/pAAGANhJrrjiioOLiopaJmXeBN4JAztEYWFhDB8+PC688MIYPXp0VFZWWgpACi1YsCCWLVuWmHmLiopaXnnllYdIDgCAf6QABgDYSYYPH/6VJM2btHfhwY5WVFQUI0aMiEsuuSRGjx4dLVu2tBSAFMnlcvH4448naub99tvvK5IDAOAfKYABAHaC0aNHd6isrByalHnXrl0bL7/8suDgI/y1CL744ovjhBNOiBYtWlgKQEq89NJLsW7dusTMW1lZudfo0aM7SA4AgL+lAAYA2AlOP/30o5J07fXMM89EQ0OD4GALiouL47DDDouxY8fGqFGjoqyszFIAEq6hoSGeeeaZJI1c8D/XmQAA8P8vEq0AAGDHymazmX79+n05KfPW1tbGlClTBAefUnFxcYwcOTIuvfTSGDVqVJSWlloKQII9//zzUVtbm5h5+/Xr9+VsNpuRHAAAf6UABgDYwX7zm9/sWVJS0jkp886YMSOqq6sFB1uppKQkRo4cGZdcckkcffTRUVJSYikACVRdXR0zZ85M0p8/na+44orBkgMA4K8UwAAAO9gXvvCFLyVl1lwuF08//bTQ4DNo3rx5HHXUUXHJJZfEyJEjI5vNWgpAwjz11FORy+USM++RRx75ZakBAPBXCmAAgB1oyJAhpZ07dz4iKfO+/vrrsWLFCsHBdlBeXh6jRo2KSy+9VBEMkDArVqyI119/PTHzdunS5fD+/ft79AQAABGhAAYA2KHGjh17aGFhYWJeCOruX9j+KioqYtSoUXHxxRfH4YcfHkVFRZYC4LpouyosLGz+H//xHwdLDQCACAUwAMAOteeeex6ZlFnXrl0b8+bNExrsIK1atYrjjz8+LrroohgxYkQUFPh2DKApmzdvXqxZsyYx8+61115HSg0AgAgFMADADnPMMce0bt269b5Jmfe5556LxsZGwcEO1qZNmxg9enRcfPHFimCAJqyxsTGee+65JP35MvyYY45pLTkAAPykAQBgBznzzDMPz2Qyibjeqq+vj6lTpwoNdqK2bdvG6NGj47zzzovhw4crggGaoBdeeCHq6+sTMWsmkyk844wzDpUaAAB+wgAAsIP079//C0mZdc6cObFhwwahwS7QqVOnOPnkk+Pf/u3fYu+9945MJmMpAE3Ehg0bYvbs2YmZd8CAAR4DDQCAAhgAYEf43ve+16mysnKPpMybpMcbQlp17tw5xowZE7/61a8UwQBNyPPPP5+YWSsrKwd/73vf6yQ1AID8pgAGANgBTj755CMiIhHtzcqVK+P1118XGjQRXbt2jTFjxsQ555wTgwcPthCAXez111+PlStXJmXczMknn3y41AAA8psCGABgB+jXr19iHv88ZcqUyOVyQoMmpnfv3nHaaafFOeecE/3797cQgF0kl8vFlClTknQd6jHQAAB5TgEMALCdnX766d0qKip2S8Ks9fX1MW3aNKFBE9anT58466yz4pxzzonddtvNQgB2gWnTpkV9fX0iZq2oqNjt9NNP7yY1AID8pQAGANjORo8efURSZp03b15s3LhRaJAAffr0ibPPPjvOPPPM6Nmzp4UA7EQbN26MefPmuR4FACARFMAAANtZr169EvPetSQ9zhD4bwMGDIhf/vKXceaZZ0b37t0tBGAnmTp1apKuRw+TGABA/lIAAwBsR2eccUb38vLyvkmYdf369fHaa68JDRJqwIAB8S//8i9x2mmnRbdunvQJsKPNnz8/Pvzww0TMWl5e3u9HP/pRF6kBAOQnBTAAwHZ03HHHHZSUWWfMmBGNjY1CgwTLZDIxePDg+Nd//dcYM2ZMdOjQwVIAdpDGxsaYMWNGYub9xje+cYjUAADykwIYAGA76tOnz8FJmDOXyyXqMYbAlmUymdh7773jwgsvjDFjxkT79u0tBWAHeOGFF5J0XXqIxAAA8pMCGABgOznppJPat2zZcvckzLpkyZJYuXKl0CBl/loEX3DBBXHyySdH27ZtLQVgO1qxYkW8/fbbiZi1srJy0PHHH+8PAgCAPKQABgDYTr773e8eGBGZJMyapMcXAluvsLAwhg8fHhdeeGGMHj06KisrLQVgO5k+fXpSRi34/ve/f6DEAADyjwIYAGA72X333Q9Nwpz19fUxc+ZMgUEeKCoqihEjRsQll1wSo0ePjpYtW1oKwGc0c+bMqK+vT8SsAwcOPFRiAAD5RwEMALAdHHTQQRUtW7bcKwmzLly4MKqrq4UGeeSvRfDFF18cJ5xwQrRo0cJSALZRVVVVvP7664mYtVWrVkOHDx9eLjUAgPyiAAYA2A7OPvvsz2cymaIkzOrxz5C/iouL47DDDouxY8fGqFGjoqyszFIAtkFSnqaSyWSy55577uclBgCQXxTAAADbwe67735AEuasra2NOXPmCAzyXHFxcYwcOTIuvfRSRTDANpg9e3bU1dUlYtY99tjjAIkBAOQXBTAAwGfUqlWrwnbt2u2fhFnnzZsXtbW1QgMiIqKkpCRGjhwZY8eOjaOPPjpKSkosBeBT2LRpU8ybNy8Rs7Zv337/iooKPwMEAMgjLv4AAD6jCy+8cPeioqKKJMz64osvCgz4P5o3bx5HHXVUXHLJJTFy5MjIZrOWAvAJZs2alYg5i4qKWlx88cWDJAYAkD8UwAAAn9GBBx6YiMfqVVdXJ+ZOFWDXKC8vj1GjRsWll16qCAb4BPPmzYuamppEzHrQQQd5DDQAQB5RAAMAfEZdu3YdnoQ5582bF/X19QIDPlFFRUWMGjUqLr744jj88MOjqKjIUgD+QV1dXbz66quJmLVLly77SwwAIH8ogAEAPoNTTjmlY3l5+W5JmPXll18WGLBVWrVqFccff3xcdNFFMWLEiCgo8C0kwN966aWXEjFnRUXFbieddFJ7iQEA5AffvQMAfAYnnnji55MwZ21tbcyfP19gwDZp06ZNjB49OsaOHasIBvgb8+fPj9ra2iSMmvnud7/7eYkBAOQH37UDAHwGn/vc5/ZLwpwLFy6Muro6gQGfyV+L4PPOOy+GDx+uCAby3ubNm2PhwoWJmLVfv37DJQYAkB98tw4AsI1atWpV2Lp1672TMKvHPwPbU6dOneLkk0+Oc889NwYNGmQhQF6bPXt2IuZs06bN3hUVFX4WCACQB1z0AQBso/PPP39gYWFheVOfs76+PubMmSMwYLvr2bNn/OQnP4nzzjsv9t5778hkMpYC5J3Zs2dHfX19k5+zqKio4vzzzx8oMQCA9FMAAwBso/3333/fJMz5+uuvR01NjcCAHaZLly4xZsyYOOecc2Lw4MEWAuSV6urqeOONNxIx64EHHriPxAAA0k8BDACwjbp27ZqIxz/PnTtXWMBO0bt37zjttNPinHPOif79+1sIkDeScr3VvXv3vaUFAJB+CmAAgG0wZMiQ0srKyj2a+py5XM7jn4Gdrk+fPnHWWWfFOeecE7vttpuFAKk3e/bsyOVyTX7Oli1b7jlo0KBSiQEApJsCGABgG5x55pl7ZjKZbFOfc9myZbFu3TqBAbtEnz594uyzz44zzzwzevbsaSFAaq1bty6WL1/e5OfMZDLZs846a4jEAADSrcgKAAC23tChQ4clYc558+YJC9jlBgwYEAMGDIgFCxbE+PHjY+nSpZYCpM68efOiS5cuTX7OffbZZ5+ImC4xAID0cgcwAMA26Nix4z5JmHP+/PnCApqMAQMGxC9/+cs47bTTolu3bhYCpEpSrrs6deq0j7QAANJNAQwAsJWOOOKIlhUVFf2a+pxVVVWxaNEigQFNSiaTicGDB8e//uu/xpgxY6JDhw6WAqTCW2+9FVVVVU1+zoqKis8deuihLSQGAJBeCmAAgK108sknD46ITFOfc/78+dHY2CgwoEnKZDKx9957x4UXXhhjxoyJ9u3bWwqQaI2NjbFgwYJE/Cv4u9/97h4SAwBILwUwAMBW2n333fdMwpze/wskwV+L4AsuuCBOPvnkaNu2raUAiZWU66/BgwfvKS0AgPQqsgIAgK3Trl27wU19xlwul5Q7UAAiIqKwsDCGDx8e++yzT0ybNi0mTJgQ69evtxggURYsWBC5XC4ymab9sJgOHToMlhYAQHq5AxgAYCsMGjSotGXLlgOa+pzvvfdebNy4UWBA4hQVFcWIESPikksuidGjR0fLli0tBUiMDz/8MJYtW9bk52zZsuXA/v37l0gMACCdFMAAAFvhxz/+8aBMJtPkn6Li7l8g6f5aBI8dOzZOOOGEaNGihaUAibBw4cImP2Mmk8n+5Cc/GSAtAIB0UgADAGyFvffee88kzJmEHzwCfBrNmjWLww47LMaOHRujRo2KsrIySwGatKT8Il5SrmsBANh63gEMALAVunbtOqSpz1hfXx9vvvmmsIBUKS4ujpEjR8bBBx8czz77bDz++ONRXV1tMUCT8+abb0Z9fX0UFTXtH7t16dJlT2kBAKSTO4ABAD6lioqKgoqKikFNfc4lS5bE5s2bBQakUklJSYwcOTLGjh0bRx99dJSUeIUl0LTU1tbG0qVLm/ycLVu2HFRaWupngwAAKeQiDwDgUzr77LP7FhYWNvlnj7722mvCAlKvefPmcdRRR8Ull1wSI0eOjGbNmlkK4HpsKxQWFpafffbZvaQFAJA+CmAAgE9p//3375+EOV9//XVhAXmjvLw8Ro0aFf/+7/8eI0eOjGw2aymA67FP6fOf//xAaQEApI8CGADgU+rRo8fuTX3G2traePvtt4UF5J2KiooYNWpUXHzxxXH44Yc3+XdvAum2ePHiRLySo1evXoOkBQCQPgpgAIBPqXXr1k3+DoklS5ZEQ0ODsIC81apVqzj++OPj4osvjhEjRkRBgW97gZ2voaEhlixZ0uTnbNOmjQIYACCFfCcMAPApDBkypLR58+a9m/qcb775prAAIqJ169YxevToGDt2rCIYcF32MZo3b95n0KBBpdICAEgX3wEDAHwKp556av9MJtPkr53eeustYQH8jTZt2sTo0aPjvPPOi+HDhyuCAddlfyOTyRT84Ac/+Jy0AADSxXe+AACfwuDBg5v84/Hq6+tj0aJFwgL4CJ06dYqTTz45/u3f/i323nvvyGQylgLsUIsXL07Eqzn23HPPgdICAEgXBTAAwKfQpUuXAU19xnfeeSfq6uqEBbAFnTt3jjFjxiiCgR2utrY23n333SRc53oPMABAyiiAAQA+hZYtW/Zv6jN6/DPAp9elS5cYM2ZMnHvuuTF48GALAfL2+iwJ17kAAGwdBTAAwCcYPnx4eUlJSeemPqfHPwNsvV69esVpp50W55xzTvTvrwMB8u/6rLS0tPPw4cPLpQUAkB4KYACAT/Ctb31rt4ho8s8IXbx4sbAAtlGfPn3irLPOinPOOSd22203CwG2i4T8gl7m29/+dj9pAQCkhwIYAOAT7L777k2+CVi7dm1s2LBBWACfUZ8+feLss8+OM888M3r27GkhwGfy4Ycfxrp165r8nAMHDlQAAwCkSJEVAABsWadOnZr8D8TefvttQQFsRwMGDIgBAwbEggULYvz48bF06VJLAbb5Oq1Vq1audwEA2GkUwAAAn6CyslIBDJCnBgwYEP3794958+bFQw89FO+++66lAFtlyZIlsddeezX1613PvgcASBEFMADAFnTq1CnbvHnzXk19ziVLlggLYAfJZDIxePDg2GOPPeLll1+OBx98MFauXGkxQGqu05o3b967Xbt2RatXr66XGABA8nkHMADAFowZM6ZnJpPJNuUZGxsbPZoUYCfIZDKx9957x4UXXhhjxoyJ9u3bWwrwiZYuXRqNjY1NesaCgoLsqaee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k8nE7NmzY+LEibFmzRoNAXif/VNSzJo161kTAwBongTAAAC70O233/7KOeecszU/P78022sdMGBAtG/f3tWu0My9+uqrMWnSpFi1apVmALyPjh07xgEHHJCIWhsbG6u/8Y1v/NXUAACaJwEwAMAutHLlyob169fP6tat2+hsrzWVSsXhhx8ekyZNMjhohubMmROTJ0+OJUuWaAbAh3D44YdHKpVKRK3r16+fVVFR0WhqAADNU54WAADsWq+++mpirts77LDDDAyamTfffDP+/d//PX7yk58IfwE+pFQqFSNGjEhMva+88sozpgYA0Hw5AQwAsIvddNNNz5166qnV+fn5rbO91m7dukX//v1j4cKFBgc5btmyZfHYY4/F/PnzNQPgIzrggAOic+fOiai1sbFxy4033jjL1AAAmi8BMADALrZy5cqG8vLyGT179vx0Euo9+uijBcCQw5YvXx7jxo0T/AJ8wv1SUpSXlz9TXl7eYGoAAM2XABgAYDeYMWPGUxdccEEiAuAhQ4ZE69ato7q62uAgh6xcuTImTJgQc+fOjUwmoyEAH1ObNm3i0EMPTUy9zz777FOmBgDQvPkGMADAbvDVr371lYaGhk1JqLWgoCCOOOIIQ4McsW7duvj5z38ed955Z8yZM0f4C/AJjRw5MvLz8xNRa0NDw8abbrrpVVMDAGjenAAGANgNKisrm1atWjW9T58+5ySh3qOPPjqefPJJQREk2Pr16+Oxxx6L2bNn+3cZYBdJpVIxatSoxNS7cuXKadXV1WmTAwBo3pwABgDYTaZNm5aY6/c6duwYAwYMMDRIoA0bNsSvf/3r+Nd//dd49dVXhb8Au9CAAQOiY8eOian36aefftLUAAAQAAMA7CZf+9rX5tTX11ckpd6jjjrK0CBBqqqq4v77749vf/vb8eKLL0ZTU5OmAOxiRx55ZGJqra+vX/eNb3zjdVMDAMAV0AAAu0ltbW16xYoVT++///6fT0K9hx56aLRt2zaqqqoMD7LYli1bYsqUKfHcc8/F9u3bNQRgN2nbtm0MGTIkMfUuX778qdraWtc/AwDgBDAAwO70xz/+cUJSas3Pz4/jjjvO0CBL1dTUxKOPPhq33XZb/OUvfxH+Auxmxx57bOTn5yel3Myvf/3rCaYGAECEABgAYLe66667llZXV89PSr1HH310tGjRwuAgi7wd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qATAAABZ4umnn968fPnyxF3xN3r06GjXrp0BAgBZqUOHDnH88ccnru5ly5ZNmD59+hYTBADgoxIAAwBkkbvvvvtPmUymKUk1FxYWxumnn254AEBWOvPMMxP3yYpMJtN41113/dH0AAD4OATAAABZ5Be/+MWatWvXTkta3UcccUT06tXLAAGArNK7d+847LDDEld3eXn5X+6///51JggAwMchAAYAyDIPP/zwn5JWcyqVijPPPNPwAICsMmbMmEilUomr+8EHH/yT6QEA8HEJgAEAsszXv/71NzZs2DAraXUPHDgwDj74YAMEALLCoEGDYsCAAYmru6KiYuatt966wAQBAPi4BMAAAFlo3Lhxv01i3WPGjIm8PFtMAGDvysvLizFjxiSy9j//+c+/NUEAAD7RflgLAACyz/XXXz+nqqrqr0mru1evXnHUUUcZIACwVx1zzDHRvXv3xNW9adOmV2666aa5JggAwCchAAYAyFJ/+tOf7k1i3WPGjInS0lIDBAD2ijZt2sRZZ52VyNofeOCBe00QAIBPSgAMAJClbrrpprlJPAVcXFwcZ555pgECAHvFWWedFS1btkxc3Zs2bXrl5ptvnmeCAAB8UgJgAIAsNm7cuF8lse5Ro0ZF7969DRAA2KP69OkTI0eOTGTtjz322K9MEACAXUEADACQxcaOHTu7qqrqb0mrO5VKxfnnnx+pVMoQAYA9tv/4/Oc/n8j9R2Vl5d+uueaav5kiAAC7ggAYACDLTZ069bdJrLtv374xZMgQAwQA9ojDDjsssTeQTJ48+TcmCADAriIABgDIcpdeeumLVVVVryax9s9//vNRXFxsiADAblVaWhrnn39+Imuvqqr66+WXX/6SKQIAsKsIgAEAEuChhx76WRLrLisri9NPP90AAYDd6qyzzoqSkpIklp753e9+91MTBABgVxIAAwAkwA033DB3w4YNs5JY+3HHHRd9+vQxRABgt+jbt28cddRRiay9oqJi1te//vU3TBEAgF1JAAwAkBA///nPfxoR6aTVnUql4vOf/3zk5dl6AgC7Vn5+flx00UWRSqWSWH76F7/4xX+bIgAAu5q3cAAACXHHHXe8tW7duulJrL13795xzDHHGCIAsEudcMIJ0b1790TWXl5e/pc77rjjLVMEAGBXEwADACTI3XfffW8mk2lKYu1nnXVWtG3b1hAB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onv37vEv//IvccABBzSrdWcymaYnnnji9s997nPPeAoAAODDEQADAJBYDz/88NJjjjlmY+/evY+KiGZzFKq0tDSGDx8eq1evjvXr13sQAHLcwIED45prrol27do1t6VnZsyY8YOzzjprqqcAAAA+PAEwAACJdv/99795zDHHVO6zzz5HRDMKgVu0aBGHHXZYtGzZMhYuXBjpdNrDAJBjCgoK4pxzzonzzz8/WrRo0dyWn37uuefuOuWUUyZ4EgAA4KMRAAMAkHi///3v5w8bNmxF3759j2lO10GnUqno27dvDB06NBYvXhxbtmzxMADkiJ49e8YNN9wQgwcPblbf+434x7XPU6ZM+fbpp58+2ZMAAAAfnQAYAICc8OCDDy4ZNmzYin79+jWrEDgionXr1nHEEUdEfX19LF261MMAkGCpVCpOOOGEuOKKK6JNmzbNbv07wt9vnXPOOX/xNAAAwMcjAAYAIGc89NBDS4YNG7a8X79+xza3EDg/Pz8OPvjg6NWrV8yfPz8aGho8EAAJU1JSEpdffnmccMIJkZ+f3+zWn8lkGp944olvffazn53maQAAgI9PAAwAQE556KGHlo4cOXJdnz59RqWa252ZEdG1a9cYNmxYLFu2LCorKz0QAAnRt2/fuO6662K//fZrluvPZDLpp59++rvnnHPO054GAAD4ZATAAADknD/96U+LDj300KX7779/s7sOOiKiuLg4jjzyyCgpKYk333wz0um0hwIgSxUUFMRnP/vZuPDCC6OkpKRZ9iCdTjc88sgjt5x//vnTPREAAPDJCYABAMhJDz/88NId3wQelUqlmt09mqlUKvr06RMHH3xwLFy4MLZt2+ahAMgynTt3jrFjx8bQoUOjGV5aERH/CH+feOKJ2y+88MLnPBEAALBrCIABAMhZDz300JIePXq8NmjQoGPz8vJaNMcetG3bNkaNGhVNTU2xZMkSDwVAFkilUjF69Oi48soro0OHDs22D01NTdt++9vf/stll132oqcCAAB2HQEwAAA5bdKkSeXdu3efM3jw4GYbAufn58eAAQOiV69esWDBgti+fbsHA2Avad26dVx66aVx/PHHR35+frPtQ2NjY/WvfvWrf7nuuute81QAAMCuJQAGACDnTZ48eW1jY+OMI4444uiCgoKS5tqHrl27xqhRo2Lbtm2xcuVKDwbAHpRKpWLUqFExduzY6NWrV7PuRX19/fo77rjjK9/61rcWejIAAGDXEwADANAsPP/881UbNmx45rjjjjuqsLCwrLn2obCwMAYNGhT77bdfLF68OGpraz0cALtZ+/bt44orrogTTzwxCgub9/uU2tralTfffPPVP/nJT1Z7MgAAYPcQAAMA0Gz87W9/27p27doZJ5xwwsjCwsK2zbkXnTp1ipEjR0Z1dbXTwAC70ciRI+Pqq6+OHj16NPte1NTULL/hhhuu/e1vf7vOkwEAALuPABgAgGbltdde2zpv3rynTznllKFFRUWdmnMvCgsL49BDD4399tsvFi1a5DQwwC709qnfk08+udmf+o2I2Lx587yLL774unHjxm30dAAAwO71fgFwat9zYsTOftC4LmLjq610DwCAxOrVq1fhs88++69du3Y9QTciGhoaYurUqTF58uRobGzUEICPqaCgIE499dQYPXq04HeH8vLyp4499tjvrly5skE3AABg9+swrDYKuuz8ZwJgAAByWuvWrfNeeumlm/fdd9+zdeMfVq9eHffff38sWbJEMwA+ov322y8uuugi1z2/w8KFC38/fPjwnzY0NGR0AwAA9gwBMAAAzd7zzz9/8aGHHnp1RKR0IyKTycTMmTPjz3/+c9TV1WkIwAcoKSmJ8847L0aMGBGplL9Kdki//PLL9xx77LEPagUAAOxZ7xcA+wYwAADNwn333Tfn+OOP39yrV6/DQwgcqVQqevfuHcOHD49169ZFRUWFhwTgPRxyyCExduzY6N+/v/B3h0wm0/jMM8/828knnzxONwAAYM97v28AC4ABAGg2fve7370xePDgJf369Ts6lUrl60hEcXFxjBgxInr06BFLly6N2tpaTQHYoUOHDvGFL3whzjzzzCguLtaQHZqammoeeOCBWz73uc9N1w0AANg7BMAAALDDww8/vKygoOC54cOHH1FQUFCqI//QrVu3OO6446K0tDQWL14cTU1NmgI0Wy1btoxzzjknLr300ujevbuGvENtbe2K22677arbbrvtDd0AAIC9RwAMAADv8Oyzz25avHjx0yeddNKQoqKiTjryD3l5edGnT58YOXJkbN26NVatWqUpQLNz+OGHx1e+8pUYMGBA5OXlacg7VFVV/e3CCy+8/oEHHvDdAAAA2MsEwAAA8C7z58+vefbZZ58+44wz+hcX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OigOOOCAKCoq0pQs0djYuGXmzJk/PvPMMyc2NDS4XgAAAPjQBMAAAJADjjzyyNY/+9nPrujbt++5EZGnI9mluro6Fi5cGPPnz4958+ZFZWWlprBXtGvXLg455JAYMGBA9O/fP1q39nsjWSj91ltv/fmqq676xaxZs6q1AwAA+KgEwAAAkEN++ctfjhgzZsyNrVq16q0b2SmdTsfKlStj0aJFsXDhwli8eHFs27ZNY9gtSkpKol+/ftG/f//Yf//9o1evXpGX53dEslVNTc3yRx999EdXXnnlK7oBAAB8XAJgAADIMd26dSt8+OGHPzd48ODL8vPzbdyzXCaTiTVr1sTChQtj0aJFsWjRotiyZYvG8LGUlZVF//79/xn6du/ePVKplMZkuaampprXXnvtV2PGjHmgoqKiUUcAAIBPQgAMAAA56rjjjiv7r//6r8tdC508mzdvjuXLl8eKFSti+fLlsXjx4qipqdEY/pfi4uLo169f9O7dO/bZZ5/Yd999o6ysTGMSJJPJpJcsWfLn66677pfTp0/3mx8AAMAuIQAGAIAc99Of/nTIueeee3NpaWlf3UimxsbGWLlyZSxdujSWLVsWy5cvj3Xr1kUmk9GcZiKVSkWXLl1in332iT59+kSfPn2iV69eUVBQoDkJtXXr1sUPPvjgj6699tq/6wYAALArCYABAKAZaNeuXf64cePOGTp06BUFBQWtdST56uvrY+XKlf88KbxixYpYu3ZtpNNpzUm4vLy86Nq1a+yzzz7//KdXr17RsmVLzckBjY2NW/7617/+4pxzznm0srKySUcAAIBdTQAMAADNyIknntjmnnvuuXzfffcdk0qlHB3MMdu3b481a9bEmjVrYu3atbF27dooLy+PDRs2CIazUF5eXnTs2DG6desWXbt2jW7dukW3bt2iR48eUVhYqEE5JpPJNC5ZsuRR1z0DAAC7mwAYAACaoa9+9av7Xnfdddd16NDhCN3IfY2Njf8MhNetWxfr1q2LioqKWLduXWzbtk2DdrPS0tLo3LnzP//p0qVLdO3aNbp27eoK52Ziw4YNM//rv/7rxz/60Y+W6wYAALC7CYABAKAZ++UvfznirLPOuq64uNj3gZupmpqaWL9+/T//qaioiMrKyqisrIxNmzZFY2OjJn2AgoKCaN++fbRr1y7at28fHTt2jC5dukSnTp2ic+fOUVxcrEnN1NatW98aP378PVdcccXLugEAAOwpAmAAAGjm2rVrl//ggw+eOWLEiCsLCwvb6gjvtHnz5n+GwZs2bYrKysqorq6OLVu2xJYtW6K6ujqqq6sjk8nk3NpTqVS0bt06WrduHWVlZdGmTZsoLS39X2Fvu3btok2bNh4U/peGhobKl1566efnnHPO+OrqavevAwAAe5QAGAAAiIiIoUOHFt97770XHHjggRfk5+c7ssiHlk6n/xkEV1dXR01Nzfv+k8lkora2NtLpdNTX10dTU1PU1dXt0u8U5+XlRcuWLSM/Pz+KiooiLy8vWrVqFalUKoqLi3f6T0lJSbRq1eqfgW9paWnk5eUZMB9aU1NTzYIFC/745S9/+Y+zZ8+u0REAAGBvEAADAAD/y2mnndb2rrvuurRPnz5n5+XlFeoIe9LbgfDbtm/f/r7XUBcUFESLFi3++b/fDnxhT8pkMg1LliwZd8stt/xq0qRJVToCAADsTQJgAABgp0477bS2d95554X777//5wTBAP9XJpNpWLhw4QO33nrrHwS/AABAtni/ADi/7UHRc2c/SG+LqC33/gcAAHLZokWL6u69995X0un0swcddFCnkpKS3roC8A8VFRUz/7//7/+77aKLLpq6aNGiOh0BAACyRXH3xsgr3fnPBMAAAEDMnDmz8u67736qqalpWr9+/Ypbt27dN5VKpXQGaG4ymUx6zZo1U+65555/Peeccx6cOXNmpa4AAADZRgAMAAB8KDNnzqz88Y9//Gw6nZ4uCAaak7eD37vvvvtfzz///McEvwAAQDYTAAMAAB+JIBhoLgS/AABAEgmAAQCAj+XtILisrOyFvn37diwuLu4VEYJgIBdkKioqnrv33nu/PWbMmEcEvwAAQJK8XwCc2vecGLGzHzSui9j4aivdAwAA/unqq6/u8ZWvfOX8Pn36nJWXl9dCR4CkSafT9UuXLh3/X//1Xw/84he/WKMjAABAEnUYVhsFXXb+MwEwAADwkZ1xxhntb7/99rMPPPDA8/Pz81vrCJDtmpqaqhcsWPDgd77znUcmTpzotC8AAJBoAmAAAGC3GD58eMkPf/jDzwwePPjioqKijjoCZJv6+voNr7322u9vvPHGx2fPnl2jIwAAQC4QAAMAALvV0KFDi++5556zDjnkkPOKioq66giwt9XV1a19/fXXH7z++uvHC34BAIBcIwAGAAD2iFatWuXdc889w0455ZTzO3bseJSOAHtYZsOGDbOmTJny4PXXX/9qbW1tWksAAIBcJAAGAAD2uH/913/tf/7555/dq1ev0/Ly8lroCLC7pNPp+pUrV05+4IEHHvnOd76zSEcAAIBcJwAGAAD2mjPOOKP97bfffvYBBxzw2YKCgjY6AuwqjY2NVW+++eafv/e97z06YcKETToCAAA0FwJgAABgrxs+fHjJ97///dGDBg0aU1paur+OAB9XdXX1wtdee+3Rr371q1Nfe+21Wh0BAACaGwEwAACQVb761a/ue8EFF3y6b9++ZxUUFLTWEeCDNDY2bnnrrbfG/+EPf5j4ox/9aLmOAAAAzZkAGAAAyEpDhw4t/sEPfnDy4MGDz27dunV/HQHerbq6+s2XX375weuuu+7ppUuXbtcRAAAAATAAAJDlCgsLU3ffffeQ0aNHn9G1a9fj8vLyinQFmq90Ol1XXl4+bcqUKROuvfbav+sIAADA/yYABgAAEqNPnz4t/v3f/33UyJEjz2rfvv2nIiKlK9AsZDZt2vTXF1544bGvfe1rzzntCwAA8N4EwAAAQCJddNFFXa6++uqTDzzwwLNbtmzZTUcg99TV1a1ZsGDBuJ/+9KdP3n///et0BAAA4IMJgAEAgETr1q1b4d13333k4YcffmqHDh2OyMvLK9QVSK50Ot2wcePGWbNmzZp8/fXXz6qoqGjUFQAAgA9PAAwAAOSMo48+uvWtt956/CGHHHJKu3btBkdEnq5AIqQrKytfmzdv3uQ777xz+owZM6q1BAAA4OMRAAMAADnpuOOOK/vGN75x/CGHHHJa27ZtB4bvBUO2yVRVVc2dN2/epO9///vTpk+fvkVLAAAAPjkBMAAAkPNuu+22vmedddZJffr0Oa5Vq1a9dQT2ntra2uXLly+f/uijjz51xx13vKUjAAAAu5YAGAAAaFa+9KUvdbv44ouP7t+//wlOBsMekamqqpq7cOHCv/z+97+fcd9995VrCQAAwO4jAAYAAJqtSy65pOtll112jDAYdrl0VVXVvIULF/7lV7/61bO/+93v1moJAADAniEABgAAiIirr766x/nnnz9q//33P7JNmzZDUqlUga7Ah5fJZBoqKyv/vnjx4uf+9Kc/zbr33ntX6woAAMCeJwAGAAB4l379+hV97WtfGzRy5MhRPXv2PLaoqKizrsD/VV9fv37VqlXPvPDCC8/9+7//+5zFixfX6woAAMDeJQAGAAB4H61bt8678847Bx599NFHde/efURpaen+4apomq/M1q1bF69Zs+bF5557btY3v/nNOdXV1WltAQAAyB4CYAAAgI9g8ODBrcaOHXvI8OHDD+vevfvw1q1bHxACYXJXprq6+s01a9a88sorr7z8k5/8ZN5rr71Wqy0AAADZSwAMAADwCVx//fX7nHHGGYf169dvePv27Yfm5+e31hWSrLGxsXrjxo2vvvXWWy+PHz/+lR//+McrdQUAACA5BMAAAAC70Je//OUe55xzzvA+ffoM7tix45CioqKuukI2q6+vX7t27doXFy9ePGfixImv3Xvvvat1BQAAILkEwAAAALvRl7/85R6f+cxnBvfr129Qly5dDm/ZsqVAmL2qrq5u7bp16wS+AAAAOUoADAAAsIe0atUq75prrtnn2GOPPXi//fY7uH379oeUlpb2TaVS+brDbpKuqalZtnHjxnlvvfXW3GeffXbef/3Xfy2vra1Naw0AAEBuEgADAADsRQceeGDLq6+++oAhQ4Yc3LNnz4Pbtm17sGuj+biampqqq6qqXi8vL583Z86ceb/85S/nvfjii1t1BgAAoPkQAAMAAGSZoUOHFn/xi1/cf9CgQQf26NHjwHbt2h3YqlWr3qlUKk932CFdU1OzvLKycsHq1asXzJkzZ8Gf//znJTNmzKjWGgAAgOZNAAwAAJAAxx13XNkFF1xw4MEHH3xA165dDywtLd23pKRkn1QqVag7uS2TyTRs27ZtRXV19dJ169YtfOONNxZOmDBh4YQJEzbpDgAAAO8mAAYAAEiw8847r+OJJ57Yp3///vt16dKlT5s2bfZr3bp1v/z8/GLdSZampqaa6urqxZs3b16ybt26pQsXLlzy9NNPL33ooYc26A4AAAAflgAYAAAgx7Rr1y7/kksu6TFkyJCe++67b89OnTr1Kisr61VcXNyzZcuW3VKpVL4u7R2ZTKaprq6uvKamZtWWLVtWVlRUrFy6dOnK2bNnr7r//vvXVFZWNukSAAAAn4QAGAAAoBnp1KlTwec+97luQ4cO7bnPPvv0aNeuXafWrVt3Li4u7tqyZcvORUVFnfLy8lro1MeTTqe319fXr6+rq6uoqalZW11dvb6y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AACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoMY3JP//9K8My551lzpAk293a7QAAAAAAAAD8iIw3r+SL7TpPxuSt4/ibJJuz20QDBgAAAAAAAHhzrJPp6NvHYcyyjLl7dJTPbl/Jp6sPLufSsM+5ec7q5YOrF0OeP/SVaAAAAAAAAIA3weH7u6zfm79dWDIMSw6225w785vsx3XyzasOby5ssz69c4sAAAAAAAAAr9n69C6bC9sT93a7rKdnORin5Otxynzi1JQcfiwCAwAAAAAAALxO69O7HH68TaaT98cp85R8vbp3Nfszv8q0LHn7xMF1sjk/ZzUPmZ/MmWefhAYAAAAAAAD4oayPdjn7223Gn7x6ZrXPnetX8mBKkpv3cufDd/Pufn5FL56SzcVtNheT3dNt8tQlAwAAAAAAAHyv1sm0ySv/9XtsNWZ3I/lHkgzHi7/4XY7WYz5yiwAAAAAAAAA/Ivtcv/3nPEyS1fHa42t5+vNLyX7JoRsCAAAAAAAAePPt1/nbV3/KvePn1Xc371/NYxEYAAAAAAAA4M0yTHk2rvNo2WdzvHZqzN9v/SF3vju3evng/at5fPDLPDu1yuGyZHSVAAAAAAAAAK/XOGe4ueSvZ4e8M8xZbVe5ceuPufvy3Oqkw4+v5emDX+fuuTlLhhwsEYIBAAAAAAAAXpclGR8OuXP0TR4cPM/9z/+SRyfNDf/1TZezOp/87KdjzizJZkhO7edMy/w/nAUAAAAAAADg/zaMWcZkP8/ZLsmLacr2/MV8+cnvs/tP5/4FmLjAq1ifcioAAAAASUVORK5CYII=";function H0($,q,Q){if(typeof $==="string"&&!isNaN(Number($)))$=Number($);if(typeof $==="number"&&$<100)return v0($);if(typeof $==="number"&&$>=100)return $;if(typeof $==="string"&&$.includes("%")){if(q&&q==="X")return Math.round(parseFloat($)/100*Q.width);if(q&&q==="Y")return Math.round(parseFloat($)/100*Q.height);return Math.round(parseFloat($)/100*Q.width)}return 0}function Y5($){return $.replace(/[xy]/g,function(q){let Q=Math.random()*16|0;return(q==="x"?Q:Q&3|8).toString(16)})}function k0($){if(typeof $>"u"||$==null)return"";return $.toString().replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function v0($){if(typeof $==="number"&&$>100)return $;if(typeof $==="string")$=Number($.replace(/in*/gi,""));return Math.round(L0*$)}function Y0($){let q=Number($)||0;return isNaN(q)?0:Math.round(q*w8)}function S1($){return $=$||0,Math.round(($>360?$-360:$)*60000)}function j7($){let q=$.toString(16);return q.length===1?"0"+q:q}function g7($,q,Q){return(j7($)+j7(q)+j7(Q)).toUpperCase()}function R0($,q){let Q=($||"").replace("#","");if(!C7.test(Q)&&Q!==G2.background1&&Q!==G2.background2&&Q!==G2.text1&&Q!==G2.text2&&Q!==G2.accent1&&Q!==G2.accent2&&Q!==G2.accent3&&Q!==G2.accent4&&Q!==G2.accent5&&Q!==G2.accent6)console.warn(`"${Q}" is not a valid scheme color or hex RGB! "${Q2}" used instead. Only provide 6-digit RGB or 'pptx.SchemeColor' values!`),Q=Q2;let K=C7.test(Q)?"srgbClr":"schemeClr",J='val="'+(C7.test(Q)?Q.toUpperCase():Q)+'"';return q?`${q}`:``}function AB($,q){let Q="",K=Object.assign(Object.assign({},q),$),J=Math.round(K.size*w8),Z=K.color,G=Math.round(K.opacity*1e5);return Q+=``,Q+=R0(Z,``),Q+="",Q}function B2($){let q="solid",Q="",K="",J="";if($){if(typeof $==="string")Q=$;else{if($.type)q=$.type;if($.color)Q=$.color;if($.alpha)K+=``;if($.transparency)K+=``}switch(q){case"solid":J+=`${R0(Q,K)}`;break;default:J+="";break}}return J}function a2($){return $._rels.length+$._relsChart.length+$._relsMedia.length+1}function c7($){if(!$||typeof $!=="object")return;if($.type!=="outer"&&$.type!=="inner"&&$.type!=="none")console.warn("Warning: shadow.type options are `outer`, `inner` or `none`."),$.type="outer";if($.angle){if(isNaN(Number($.angle))||$.angle<0||$.angle>359)console.warn("Warning: shadow.angle can only be 0-359"),$.angle=270;$.angle=Math.round(Number($.angle))}if($.opacity){if(isNaN(Number($.opacity))||$.opacity<0||$.opacity>1)console.warn("Warning: shadow.opacity can only be 0-1"),$.opacity=0.75;$.opacity=Number($.opacity)}if($.color){if($.color.startsWith("#"))console.warn('Warning: shadow.color should not include hash (#) character, , e.g. "FF0000"'),$.color=$.color.replace("#","")}return $}function XB($,q,Q){var K,J;let Z=2.3+(((K=$.options)===null||K===void 0?void 0:K.autoPageCharWeight)?$.options.autoPageCharWeight:0),G=Math.floor(q/w8*L0)/((((J=$.options)===null||J===void 0?void 0:J.fontSize)?$.options.fontSize:k2)/Z),W=[],B=[],V=[],U=[];if($.text&&$.text.toString().trim().length===0)B.push({_type:D0.tablecell,text:" "});else if(typeof $.text==="number"||typeof $.text==="string")B.push({_type:D0.tablecell,text:($.text||"").toString().trim()});else if(Array.isArray($.text))B=$.text;let w=[];return B.forEach((F)=>{var M;if(typeof F.text==="string"){if(F.text.split(` `).length>1)F.text.split(` -`).forEach((k)=>{w.push({_type:D0.tablecell,text:k,options:Object.assign(Object.assign({},F.options),{breakLine:!0})})});else w.push({_type:D0.tablecell,text:F.text.trim(),options:F.options});if((M=F.options)===null||M===void 0?void 0:M.breakLine)V.push(w),w=[]}if(w.length>0)V.push(w),w=[]}),V.forEach((F)=>{F.forEach((M)=>{let k=[],L=String(M.text).split(" ");L.forEach((D,z)=>{let N=Object.assign({},M.options);if(N===null||N===void 0?void 0:N.breakLine)N.breakLine=z+1===L.length;k.push({_type:D0.tablecell,text:D+(z+1{let M=[],k="";if(F.forEach((f)=>{if(k.length+f.text.length>G)W.push(M),M=[],k="";M.push(f),k+=f.text.toString()}),M.length>0)W.push(M)}),W}function ZJ($=[],q={},Q,K){let J=M8,Z=L0*1,G=L0*1,W=0,B=0,V=[],U=H0(q.x,"X",Q),w=H0(q.y,"Y",Q),F=H0(q.w,"X",Q),M=H0(q.h,"Y",Q),k=F;function f(){let D=0;if(V.length===0)D=w||v0(J[0]);if(V.length>0)D=v0(q.autoPageSlideStartY||q.newSlideStartY||J[0]);if(G=(M||Q.height)-D-v0(J[2]),V.length>1){if(typeof q.autoPageSlideStartY==="number")G=(M||Q.height)-v0(q.autoPageSlideStartY+J[2]);else if(typeof q.newSlideStartY==="number")G=(M||Q.height)-v0(q.newSlideStartY+J[2]);else if(w){if(G=(M||Q.height)-v0((w/L0{if(!z)z={_type:D0.tablecell};let N=z.options||null;B+=Number((N===null||N===void 0?void 0:N.colspan)?N.colspan:1)}),q.verbose)console.log(`| numCols ......................................... = ${B}`);if(!F&&q.colW){if(k=Array.isArray(q.colW)?q.colW.reduce((D,z)=>D+z)*L0:q.colW*B||0,q.verbose)console.log(`| tableCalcW ...................................... = ${k/L0}`)}if(Z=k||v0((U?U/L0:J[1])+J[3]),q.verbose)console.log(`| emuSlideTabW .................................... = ${(Z/L0).toFixed(1)}`);if(!q.colW||!Array.isArray(q.colW))if(q.colW&&!isNaN(Number(q.colW))){let D=[];($[0]||[]).forEach(()=>D.push(q.colW)),q.colW=[],D.forEach((N)=>{if(Array.isArray(q.colW))q.colW.push(N)})}else{q.colW=[];for(let D=0;D{let N=[],H=0,v=0,j=[];if(D.forEach((X)=>{var P,g,c,h;if(j.push({_type:D0.tablecell,text:[],options:X.options}),X.options.margin&&X.options.margin[0]>=1){if(((P=X.options)===null||P===void 0?void 0:P.margin)&&X.options.margin[0]&&Y0(X.options.margin[0])>H)H=Y0(X.options.margin[0]);else if((q===null||q===void 0?void 0:q.margin)&&q.margin[0]&&Y0(q.margin[0])>H)H=Y0(q.margin[0]);if(((g=X.options)===null||g===void 0?void 0:g.margin)&&X.options.margin[2]&&Y0(X.options.margin[2])>v)v=Y0(X.options.margin[2]);else if((q===null||q===void 0?void 0:q.margin)&&q.margin[2]&&Y0(q.margin[2])>v)v=Y0(q.margin[2])}else{if(((c=X.options)===null||c===void 0?void 0:c.margin)&&X.options.margin[0]&&v0(X.options.margin[0])>H)H=v0(X.options.margin[0]);else if((q===null||q===void 0?void 0:q.margin)&&q.margin[0]&&v0(q.margin[0])>H)H=v0(q.margin[0]);if(((h=X.options)===null||h===void 0?void 0:h.margin)&&X.options.margin[2]&&v0(X.options.margin[2])>v)v=v0(X.options.margin[2]);else if((q===null||q===void 0?void 0:q.margin)&&q.margin[2]&&v0(q.margin[2])>v)v=v0(q.margin[2])}}),f(),W+=H+v,q.verbose&&z===0)console.log(`| SLIDE [${V.length}]: emuSlideTabH ...... = ${(G/L0).toFixed(1)} `);if(D.forEach((X,P)=>{var g;let c={_type:D0.tablecell,_lines:null,_lineHeight:v0((((g=X.options)===null||g===void 0?void 0:g.fontSize)?X.options.fontSize:q.fontSize?q.fontSize:k2)*(zB+(q.autoPageLineWeight?q.autoPageLineWeight:0))/100),text:[],options:X.options};if(c.options.rowspan)c._lineHeight=0;c.options.autoPageCharWeight=q.autoPageCharWeight?q.autoPageCharWeight:null;let h=q.colW[P];if(X.options.colspan&&Array.isArray(q.colW))h=q.colW.filter((x,l)=>l>=P&&lx+l);c._lines=DB(X,h),N.push(c)}),q.verbose)console.log(` +`).forEach((k)=>{w.push({_type:D0.tablecell,text:k,options:Object.assign(Object.assign({},F.options),{breakLine:!0})})});else w.push({_type:D0.tablecell,text:F.text.trim(),options:F.options});if((M=F.options)===null||M===void 0?void 0:M.breakLine)V.push(w),w=[]}if(w.length>0)V.push(w),w=[]}),V.forEach((F)=>{F.forEach((M)=>{let k=[],L=String(M.text).split(" ");L.forEach((D,z)=>{let N=Object.assign({},M.options);if(N===null||N===void 0?void 0:N.breakLine)N.breakLine=z+1===L.length;k.push({_type:D0.tablecell,text:D+(z+1{let M=[],k="";if(F.forEach((f)=>{if(k.length+f.text.length>G)W.push(M),M=[],k="";M.push(f),k+=f.text.toString()}),M.length>0)W.push(M)}),W}function GJ($=[],q={},Q,K){let J=M8,Z=L0*1,G=L0*1,W=0,B=0,V=[],U=H0(q.x,"X",Q),w=H0(q.y,"Y",Q),F=H0(q.w,"X",Q),M=H0(q.h,"Y",Q),k=F;function f(){let D=0;if(V.length===0)D=w||v0(J[0]);if(V.length>0)D=v0(q.autoPageSlideStartY||q.newSlideStartY||J[0]);if(G=(M||Q.height)-D-v0(J[2]),V.length>1){if(typeof q.autoPageSlideStartY==="number")G=(M||Q.height)-v0(q.autoPageSlideStartY+J[2]);else if(typeof q.newSlideStartY==="number")G=(M||Q.height)-v0(q.newSlideStartY+J[2]);else if(w){if(G=(M||Q.height)-v0((w/L0{if(!z)z={_type:D0.tablecell};let N=z.options||null;B+=Number((N===null||N===void 0?void 0:N.colspan)?N.colspan:1)}),q.verbose)console.log(`| numCols ......................................... = ${B}`);if(!F&&q.colW){if(k=Array.isArray(q.colW)?q.colW.reduce((D,z)=>D+z)*L0:q.colW*B||0,q.verbose)console.log(`| tableCalcW ...................................... = ${k/L0}`)}if(Z=k||v0((U?U/L0:J[1])+J[3]),q.verbose)console.log(`| emuSlideTabW .................................... = ${(Z/L0).toFixed(1)}`);if(!q.colW||!Array.isArray(q.colW))if(q.colW&&!isNaN(Number(q.colW))){let D=[];($[0]||[]).forEach(()=>D.push(q.colW)),q.colW=[],D.forEach((N)=>{if(Array.isArray(q.colW))q.colW.push(N)})}else{q.colW=[];for(let D=0;D{let N=[],H=0,v=0,j=[];if(D.forEach((X)=>{var P,g,c,h;if(j.push({_type:D0.tablecell,text:[],options:X.options}),X.options.margin&&X.options.margin[0]>=1){if(((P=X.options)===null||P===void 0?void 0:P.margin)&&X.options.margin[0]&&Y0(X.options.margin[0])>H)H=Y0(X.options.margin[0]);else if((q===null||q===void 0?void 0:q.margin)&&q.margin[0]&&Y0(q.margin[0])>H)H=Y0(q.margin[0]);if(((g=X.options)===null||g===void 0?void 0:g.margin)&&X.options.margin[2]&&Y0(X.options.margin[2])>v)v=Y0(X.options.margin[2]);else if((q===null||q===void 0?void 0:q.margin)&&q.margin[2]&&Y0(q.margin[2])>v)v=Y0(q.margin[2])}else{if(((c=X.options)===null||c===void 0?void 0:c.margin)&&X.options.margin[0]&&v0(X.options.margin[0])>H)H=v0(X.options.margin[0]);else if((q===null||q===void 0?void 0:q.margin)&&q.margin[0]&&v0(q.margin[0])>H)H=v0(q.margin[0]);if(((h=X.options)===null||h===void 0?void 0:h.margin)&&X.options.margin[2]&&v0(X.options.margin[2])>v)v=v0(X.options.margin[2]);else if((q===null||q===void 0?void 0:q.margin)&&q.margin[2]&&v0(q.margin[2])>v)v=v0(q.margin[2])}}),f(),W+=H+v,q.verbose&&z===0)console.log(`| SLIDE [${V.length}]: emuSlideTabH ...... = ${(G/L0).toFixed(1)} `);if(D.forEach((X,P)=>{var g;let c={_type:D0.tablecell,_lines:null,_lineHeight:v0((((g=X.options)===null||g===void 0?void 0:g.fontSize)?X.options.fontSize:q.fontSize?q.fontSize:k2)*(fB+(q.autoPageLineWeight?q.autoPageLineWeight:0))/100),text:[],options:X.options};if(c.options.rowspan)c._lineHeight=0;c.options.autoPageCharWeight=q.autoPageCharWeight?q.autoPageCharWeight:null;let h=q.colW[P];if(X.options.colspan&&Array.isArray(q.colW))h=q.colW.filter((x,l)=>l>=P&&lx+l);c._lines=XB(X,h),N.push(c)}),q.verbose)console.log(` | SLIDE [${V.length}]: ROW [${z}]: START...`);let n=0,d=0,_=!1;while(!_){let X=N[n],P=j[n];if(N.forEach((h)=>{if(h._lineHeight>=d)d=h._lineHeight}),W+d>G){if(q.verbose)console.log(` |-----------------------------------------------------------------------|`),console.log(`|-- NEW SLIDE CREATED (currTabH+currLineH > maxH) => ${(W/L0).toFixed(2)} + ${(X._lineHeight/L0).toFixed(2)} > ${G/L0}`),console.log(`|-----------------------------------------------------------------------| `);if(j.length>0&&j.map((x)=>x.text.length).reduce((x,l)=>x+l)>0)L.rows.push(j);if(V.push(L),L={rows:[]},j=[],D.forEach((x)=>j.push({_type:D0.tablecell,text:[],options:x.options})),f(),W+=H+v,q.verbose)console.log(`| SLIDE [${V.length}]: emuSlideTabH ...... = ${(G/L0).toFixed(1)} `);if(W=0,(q.addHeaderToEach||q.autoPageRepeatHeader)&&q._arrObjTabHeadRows)q._arrObjTabHeadRows.forEach((x)=>{let l=[],$0=0;x.forEach((Z0)=>{if(l.push(Z0),Z0._lineHeight>$0)$0=Z0._lineHeight}),L.rows.push(l),W+=$0});P=j[n]}let g=X._lines.shift();if(Array.isArray(P.text)){if(g)P.text=P.text.concat(g);else if(P.text.length===0)P.text=P.text.concat({_type:D0.tablecell,text:""})}if(n===N.length-1)W+=d;if(n=nh._lines.length).reduce((h,x)=>h+x)===0)_=!0}if(j.length>0)L.rows.push(j);if(q.verbose)console.log(`- SLIDE [${V.length}]: ROW [${z}]: ...COMPLETE ...... emuTabCurrH = ${(W/L0).toFixed(2)} ( emuSlideTabH = ${(G/L0).toFixed(2)} )`)}),V.push(L),q.verbose)console.log(` |================================================|`),console.log(`| FINAL: tableRowSlides.length = ${V.length}`),V.forEach((D)=>console.log(D)),console.log(`|================================================| -`);return V}function LB($,q,Q={},K){let J=Q||{};J.slideMargin=J.slideMargin||J.slideMargin===0?J.slideMargin:0.5;let Z=J.w||$.presLayout.width,G=[],W=[],B=[],V=[],U=[],w=[0.5,0.5,0.5,0.5],F=0;if(!document.getElementById(q))throw Error('tableToSlides: Table ID "'+q+'" does not exist!');if(K===null||K===void 0?void 0:K._margin){if(Array.isArray(K._margin))w=K._margin;else if(!isNaN(K._margin))w=[K._margin,K._margin,K._margin,K._margin];J.slideMargin=w}else if(J===null||J===void 0?void 0:J.slideMargin){if(Array.isArray(J.slideMargin))w=J.slideMargin;else if(!isNaN(J.slideMargin))w=[J.slideMargin,J.slideMargin,J.slideMargin,J.slideMargin]}if(Z=(J.w?v0(J.w):$.presLayout.width)-v0(w[1]+w[3]),J.verbose)console.log("[[VERBOSE MODE]]"),console.log("|-- `tableToSlides` ----------------------------------------------------|"),console.log(`| tableProps.h .................................... = ${J.h}`),console.log(`| tableProps.w .................................... = ${J.w}`),console.log(`| pptx.presLayout.width ........................... = ${($.presLayout.width/L0).toFixed(1)}`),console.log(`| pptx.presLayout.height .......................... = ${($.presLayout.height/L0).toFixed(1)}`),console.log(`| emuSlideTabW .................................... = ${(Z/L0).toFixed(1)}`);let M=document.querySelectorAll(`#${q} tr:first-child th`);if(M.length===0)M=document.querySelectorAll(`#${q} tr:first-child td`);if(M.forEach((f)=>{let L=f;if(L.getAttribute("colspan"))for(let D=0;D{F+=f}),U.forEach((f,L)=>{let D=Number((Number(Z)*(f/F*100)/100/L0).toFixed(2)),z=0,N=document.querySelector(`#${q} thead tr:first-child th:nth-child(${L+1})`);if(N)z=Number(N.getAttribute("data-pptx-min-width"));let H=document.querySelector(`#${q} thead tr:first-child th:nth-child(${L+1})`);if(H)z=Number(H.getAttribute("data-pptx-width"));V.push(z>D?z:D)}),J.verbose)console.log(`| arrColW ......................................... = [${V.join(", ")}]`);["thead","tbody","tfoot"].forEach((f)=>{document.querySelectorAll(`#${q} ${f} tr`).forEach((L)=>{let D=L,z=[];switch(Array.from(D.cells).forEach((N)=>{let H=window.getComputedStyle(N).getPropertyValue("color").replace(/\s+/gi,"").replace("rgba(","").replace("rgb(","").replace(")","").split(","),v=window.getComputedStyle(N).getPropertyValue("background-color").replace(/\s+/gi,"").replace("rgba(","").replace("rgb(","").replace(")","").split(",");if(window.getComputedStyle(N).getPropertyValue("background-color")==="rgba(0, 0, 0, 0)"||window.getComputedStyle(N).getPropertyValue("transparent"))v=["255","255","255"];let j={align:null,bold:window.getComputedStyle(N).getPropertyValue("font-weight")==="bold"||Number(window.getComputedStyle(N).getPropertyValue("font-weight"))>=500,border:null,color:g7(Number(H[0]),Number(H[1]),Number(H[2])),fill:{color:g7(Number(v[0]),Number(v[1]),Number(v[2]))},fontFace:(window.getComputedStyle(N).getPropertyValue("font-family")||"").split(",")[0].replace(/"/g,"").replace("inherit","").replace("initial","")||null,fontSize:Number(window.getComputedStyle(N).getPropertyValue("font-size").replace(/[a-z]/gi,"")),margin:null,colspan:Number(N.getAttribute("colspan"))||null,rowspan:Number(N.getAttribute("rowspan"))||null,valign:null};if(["left","center","right","start","end"].includes(window.getComputedStyle(N).getPropertyValue("text-align"))){let n=window.getComputedStyle(N).getPropertyValue("text-align").replace("start","left").replace("end","right");j.align=n==="center"?"center":n==="left"?"left":n==="right"?"right":null}if(["top","middle","bottom"].includes(window.getComputedStyle(N).getPropertyValue("vertical-align"))){let n=window.getComputedStyle(N).getPropertyValue("vertical-align");j.valign=n==="top"?"top":n==="middle"?"middle":n==="bottom"?"bottom":null}if(window.getComputedStyle(N).getPropertyValue("padding-left"))j.margin=[0,0,0,0],["padding-top","padding-right","padding-bottom","padding-left"].forEach((d,_)=>{j.margin[_]=Math.round(Number(window.getComputedStyle(N).getPropertyValue(d).replace(/\D/gi,"")))});if(window.getComputedStyle(N).getPropertyValue("border-top-width")||window.getComputedStyle(N).getPropertyValue("border-right-width")||window.getComputedStyle(N).getPropertyValue("border-bottom-width")||window.getComputedStyle(N).getPropertyValue("border-left-width"))j.border=[null,null,null,null],["top","right","bottom","left"].forEach((d,_)=>{let X=Math.round(Number(window.getComputedStyle(N).getPropertyValue("border-"+d+"-width").replace("px",""))),P=[];P=window.getComputedStyle(N).getPropertyValue("border-"+d+"-color").replace(/\s+/gi,"").replace("rgba(","").replace("rgb(","").replace(")","").split(",");let g=g7(Number(P[0]),Number(P[1]),Number(P[2]));j.border[_]={pt:X,color:g}});z.push({_type:D0.tablecell,text:N.innerText,options:j})}),f){case"thead":G.push(z);break;case"tbody":W.push(z);break;case"tfoot":B.push(z);break;default:console.log(`table parsing: unexpected table part: ${f}`);break}})}),J._arrObjTabHeadRows=G||null,J.colW=V,ZJ([...G,...W,...B],J,$.presLayout,K).forEach((f,L)=>{let D=$.addSlide({masterName:J.masterSlideName||null});if(L===0)J.y=J.y||w[0];if(L>0)J.y=J.autoPageSlideStartY||J.newSlideStartY||w[0];if(J.verbose)console.log(`| opts.autoPageSlideStartY: ${J.autoPageSlideStartY} / arrInchMargins[0]: ${w[0]} => opts.y = ${J.y}`);if(D.addTable(f.rows,{x:J.x||w[3],y:J.y,w:Number(Z)/L0,colW:V,autoPage:!1}),J.addImage)if(J.addImage.options=J.addImage.options||{},!J.addImage.image||!J.addImage.image.path&&!J.addImage.image.data)console.warn("Warning: tableToSlides.addImage requires either `path` or `data`");else D.addImage({path:J.addImage.image.path,data:J.addImage.image.data,x:J.addImage.options.x,y:J.addImage.options.y,w:J.addImage.options.w,h:J.addImage.options.h});if(J.addShape)D.addShape(J.addShape.shapeName,J.addShape.options||{});if(J.addTable)D.addTable(J.addTable.rows,J.addTable.options||{});if(J.addText)D.addText(J.addText.text,J.addText.options||{})})}var HB=0;function vB($,q){if($.bkgd)q.bkgd=$.bkgd;if($.objects&&Array.isArray($.objects)&&$.objects.length>0)$.objects.forEach((Q,K)=>{let J=Object.keys(Q)[0],Z=q;if(W1[J]&&J==="chart")GJ(Z,Q[J].type,Q[J].data,Q[J].opts);else if(W1[J]&&J==="image")WJ(Z,Q[J]);else if(W1[J]&&J==="line")E7(Z,B1.LINE,Q[J]);else if(W1[J]&&J==="rect")E7(Z,B1.RECTANGLE,Q[J]);else if(W1[J]&&J==="text")L5(Z,[{text:Q[J].text}],Q[J].options,!1);else if(W1[J]&&J==="placeholder")Q[J].options.placeholder=Q[J].options.name,delete Q[J].options.name,Q[J].options._placeholderType=Q[J].options.type,delete Q[J].options.type,Q[J].options._placeholderIdx=100+K,L5(Z,[{text:Q[J].text}],Q[J].options,!0)});if($.slideNumber&&typeof $.slideNumber==="object")q._slideNumberProps=$.slideNumber}function GJ($,q,Q,K){var J;function Z(w){if(!w||w.style==="none")return;if(w.size!==void 0&&(isNaN(Number(w.size))||w.size<=0))console.warn("Warning: chart.gridLine.size must be greater than 0."),delete w.size;if(w.style&&!["solid","dash","dot"].includes(w.style))console.warn("Warning: chart.gridLine.style options: `solid`, `dash`, `dot`."),delete w.style;if(w.cap&&!["flat","square","round"].includes(w.cap))console.warn("Warning: chart.gridLine.cap options: `flat`, `square`, `round`."),delete w.cap}let G=++HB,W={_type:null,text:null,options:null,chartRid:null},B=null,V=[];if(Array.isArray(q))q.forEach((w)=>{V=V.concat(w.data)}),B=Q||K;else V=Q,B=K;V.forEach((w,F)=>{if(w._dataIndex=F,w.labels!==void 0&&!Array.isArray(w.labels[0]))w.labels=[w.labels]});let U=B&&typeof B==="object"?B:{};if(U._type=q,U.x=typeof U.x<"u"&&U.x!=null&&!isNaN(Number(U.x))?U.x:1,U.y=typeof U.y<"u"&&U.y!=null&&!isNaN(Number(U.y))?U.y:1,U.w=U.w||"50%",U.h=U.h||"50%",U.objectName=U.objectName?k0(U.objectName):`Chart ${$._slideObjects.filter((w)=>w._type===D0.chart).length}`,!["bar","col"].includes(U.barDir||""))U.barDir="col";if(U._type===q0.AREA){if(!["stacked","standard","percentStacked"].includes(U.barGrouping||""))U.barGrouping="standard"}if(U._type===q0.BAR){if(!["clustered","stacked","percentStacked"].includes(U.barGrouping||""))U.barGrouping="clustered"}if(U._type===q0.BAR3D){if(!["clustered","stacked","standard","percentStacked"].includes(U.barGrouping||""))U.barGrouping="standard"}if((J=U.barGrouping)===null||J===void 0?void 0:J.includes("tacked")){if(!U.barGapWidthPct)U.barGapWidthPct=50}if(U.dataLabelPosition){if(U._type===q0.AREA||U._type===q0.BAR3D||U._type===q0.DOUGHNUT||U._type===q0.RADAR)delete U.dataLabelPosition;if(U._type===q0.PIE){if(!["bestFit","ctr","inEnd","outEnd"].includes(U.dataLabelPosition))delete U.dataLabelPosition}if(U._type===q0.BUBBLE||U._type===q0.BUBBLE3D||U._type===q0.LINE||U._type===q0.SCATTER){if(!["b","ctr","l","r","t"].includes(U.dataLabelPosition))delete U.dataLabelPosition}if(U._type===q0.BAR){if(!["stacked","percentStacked"].includes(U.barGrouping||"")){if(!["ctr","inBase","inEnd"].includes(U.dataLabelPosition))delete U.dataLabelPosition}if(!["clustered"].includes(U.barGrouping||"")){if(!["ctr","inBase","inEnd","outEnd"].includes(U.dataLabelPosition))delete U.dataLabelPosition}}}if(U.dataLabelBkgrdColors=U.dataLabelBkgrdColors||!U.dataLabelBkgrdColors?U.dataLabelBkgrdColors:!1,!["b","l","r","t","tr"].includes(U.legendPos||""))U.legendPos="r";if(!["cone","coneToMax","box","cylinder","pyramid","pyramidToMax"].includes(U.bar3DShape||""))U.bar3DShape="box";if(!["circle","dash","diamond","dot","none","square","triangle"].includes(U.lineDataSymbol||""))U.lineDataSymbol="circle";if(!["gap","span"].includes(U.displayBlanksAs||""))U.displayBlanksAs="span";if(!["standard","marker","filled"].includes(U.radarStyle||""))U.radarStyle="standard";if(U.lineDataSymbolSize=U.lineDataSymbolSize&&!isNaN(U.lineDataSymbolSize)?U.lineDataSymbolSize:6,U.lineDataSymbolLineSize=U.lineDataSymbolLineSize&&!isNaN(U.lineDataSymbolLineSize)?Y0(U.lineDataSymbolLineSize):Y0(0.75),U.layout)["x","y","w","h"].forEach((w)=>{let F=U.layout[w];if(isNaN(Number(F))||F<0||F>1)console.warn("Warning: chart.layout."+w+" can only be 0-1"),delete U.layout[w]});if(U.catGridLine=U.catGridLine||(U._type===q0.SCATTER?{color:"D9D9D9",size:1}:{style:"none"}),U.valGridLine=U.valGridLine||(U._type===q0.SCATTER?{color:"D9D9D9",size:1}:{}),U.serGridLine=U.serGridLine||(U._type===q0.SCATTER?{color:"D9D9D9",size:1}:{style:"none"}),Z(U.catGridLine),Z(U.valGridLine),Z(U.serGridLine),c7(U.shadow),U.showDataTable=U.showDataTable||!U.showDataTable?U.showDataTable:!1,U.showDataTableHorzBorder=U.showDataTableHorzBorder||!U.showDataTableHorzBorder?U.showDataTableHorzBorder:!0,U.showDataTableVertBorder=U.showDataTableVertBorder||!U.showDataTableVertBorder?U.showDataTableVertBorder:!0,U.showDataTableOutline=U.showDataTableOutline||!U.showDataTableOutline?U.showDataTableOutline:!0,U.showDataTableKeys=U.showDataTableKeys||!U.showDataTableKeys?U.showDataTableKeys:!0,U.showLabel=U.showLabel||!U.showLabel?U.showLabel:!1,U.showLegend=U.showLegend||!U.showLegend?U.showLegend:!1,U.showPercent=U.showPercent||!U.showPercent?U.showPercent:!0,U.showTitle=U.showTitle||!U.showTitle?U.showTitle:!1,U.showValue=U.showValue||!U.showValue?U.showValue:!1,U.showLeaderLines=U.showLeaderLines||!U.showLeaderLines?U.showLeaderLines:!1,U.catAxisLineShow=typeof U.catAxisLineShow<"u"?U.catAxisLineShow:!0,U.valAxisLineShow=typeof U.valAxisLineShow<"u"?U.valAxisLineShow:!0,U.serAxisLineShow=typeof U.serAxisLineShow<"u"?U.serAxisLineShow:!0,U.v3DRotX=!isNaN(U.v3DRotX)&&U.v3DRotX>=-90&&U.v3DRotX<=90?U.v3DRotX:30,U.v3DRotY=!isNaN(U.v3DRotY)&&U.v3DRotY>=0&&U.v3DRotY<=360?U.v3DRotY:30,U.v3DRAngAx=U.v3DRAngAx||!U.v3DRAngAx?U.v3DRAngAx:!0,U.v3DPerspective=!isNaN(U.v3DPerspective)&&U.v3DPerspective>=0&&U.v3DPerspective<=240?U.v3DPerspective:30,U.barGapWidthPct=!isNaN(U.barGapWidthPct)&&U.barGapWidthPct>=0&&U.barGapWidthPct<=1000?U.barGapWidthPct:150,U.barGapDepthPct=!isNaN(U.barGapDepthPct)&&U.barGapDepthPct>=0&&U.barGapDepthPct<=1000?U.barGapDepthPct:150,U.chartColors=Array.isArray(U.chartColors)?U.chartColors:U._type===q0.PIE||U._type===q0.DOUGHNUT?NB:z8,U.chartColorsOpacity=U.chartColorsOpacity&&!isNaN(U.chartColorsOpacity)?U.chartColorsOpacity:null,U.border=U.border&&typeof U.border==="object"?U.border:null,U.border&&(!U.border.pt||isNaN(U.border.pt)))U.border.pt=v6.pt;if(U.border&&(!U.border.color||typeof U.border.color!=="string"))U.border.color=v6.color;if(U.plotArea=U.plotArea||{},U.plotArea.border=U.plotArea.border&&typeof U.plotArea.border==="object"?U.plotArea.border:null,U.plotArea.border&&(!U.plotArea.border.pt||isNaN(U.plotArea.border.pt)))U.plotArea.border.pt=v6.pt;if(U.plotArea.border&&(!U.plotArea.border.color||typeof U.plotArea.border.color!=="string"))U.plotArea.border.color=v6.color;if(U.border)U.plotArea.border=U.border;if(U.plotArea.fill=U.plotArea.fill||{color:null,transparency:null},U.fill)U.plotArea.fill.color=U.fill;if(U.chartArea=U.chartArea||{},U.chartArea.border=U.chartArea.border&&typeof U.chartArea.border==="object"?U.chartArea.border:null,U.chartArea.border)U.chartArea.border={color:U.chartArea.border.color||v6.color,pt:U.chartArea.border.pt||v6.pt};if(U.chartArea.roundedCorners=typeof U.chartArea.roundedCorners==="boolean"?U.chartArea.roundedCorners:!0,U.dataBorder=U.dataBorder&&typeof U.dataBorder==="object"?U.dataBorder:null,U.dataBorder&&(!U.dataBorder.pt||isNaN(U.dataBorder.pt)))U.dataBorder.pt=0.75;if(U.dataBorder&&U.dataBorder.color){let w=typeof U.dataBorder.color==="string"&&U.dataBorder.color.length===6&&/^[0-9A-Fa-f]{6}$/.test(U.dataBorder.color),F=Object.values(D5).includes(U.dataBorder.color);if(!w&&!F)U.dataBorder.color="F9F9F9"}if(!U.dataLabelFormatCode&&U._type===q0.SCATTER)U.dataLabelFormatCode="General";if(!U.dataLabelFormatCode&&(U._type===q0.PIE||U._type===q0.DOUGHNUT))U.dataLabelFormatCode=U.showPercent?"0%":"General";if(U.dataLabelFormatCode=U.dataLabelFormatCode&&typeof U.dataLabelFormatCode==="string"?U.dataLabelFormatCode:"#,##0",!U.dataLabelFormatScatter&&U._type===q0.SCATTER)U.dataLabelFormatScatter="custom";if(U.lineSize=typeof U.lineSize==="number"?U.lineSize:2,U.valAxisMajorUnit=typeof U.valAxisMajorUnit==="number"?U.valAxisMajorUnit:null,U._type===q0.AREA||U._type===q0.BAR||U._type===q0.BAR3D||U._type===q0.LINE)U.catAxisMultiLevelLabels=!!U.catAxisMultiLevelLabels;else delete U.catAxisMultiLevelLabels;return W._type="chart",W.options=U,W.chartRid=a2($),$._relsChart.push({rId:a2($),data:V,opts:U,type:U._type,globalId:G,fileName:`chart${G}.xml`,Target:`/ppt/charts/chart${G}.xml`}),$._slideObjects.push(W),W}function WJ($,q){let Q={_type:null,text:null,options:null,image:null,imageRid:null,hyperlink:null},K=q.x||0,J=q.y||0,Z=q.w||0,G=q.h||0,W=q.sizing||null,B=q.hyperlink||"",V=q.data||"",U=q.path||"",w=a2($),F=q.objectName?k0(q.objectName):`Image ${$._slideObjects.filter((k)=>k._type===D0.image).length}`;if(!U&&!V)return console.error("ERROR: addImage() requires either 'data' or 'path' parameter!"),null;else if(U&&typeof U!=="string")return console.error(`ERROR: addImage() 'path' should be a string, ex: {path:'/img/sample.png'} - you sent ${String(U)}`),null;else if(V&&typeof V!=="string")return console.error(`ERROR: addImage() 'data' should be a string, ex: {data:'image/png;base64,NMP[...]'} - you sent ${String(V)}`),null;else if(V&&typeof V==="string"&&!V.toLowerCase().includes("base64,"))return console.error("ERROR: Image `data` value lacks a base64 header! Ex: 'image/png;base64,NMP[...]')"),null;let M=(U.substring(U.lastIndexOf("/")+1).split("?")[0].split(".").pop().split("#")[0]||"png").toLowerCase();if(V&&/image\/(\w+);/.exec(V)&&/image\/(\w+);/.exec(V).length>0)M=/image\/(\w+);/.exec(V)[1];else if(V===null||V===void 0?void 0:V.toLowerCase().includes("image/svg+xml"))M="svg";if(Q._type=D0.image,Q.image=U||"preencoded.png",Q.options={x:K||0,y:J||0,w:Z||1,h:G||1,altText:q.altText||"",rounding:typeof q.rounding==="boolean"?q.rounding:!1,sizing:W,placeholder:q.placeholder,rotate:q.rotate||0,flipV:q.flipV||!1,flipH:q.flipH||!1,transparency:q.transparency||0,objectName:F,shadow:c7(q.shadow)},M==="svg")$._relsMedia.push({path:U||V+"png",type:"image/png",extn:"png",data:V||"",rId:w,Target:`../media/image-${$._slideNum}-${$._relsMedia.length+1}.png`,isSvgPng:!0,svgSize:{w:H0(Q.options.w,"X",$._presLayout),h:H0(Q.options.h,"Y",$._presLayout)}}),Q.imageRid=w,$._relsMedia.push({path:U||V,type:"image/svg+xml",extn:M,data:V||"",rId:w+1,Target:`../media/image-${$._slideNum}-${$._relsMedia.length+1}.${M}`}),Q.imageRid=w+1;else{let k=$._relsMedia.filter((f)=>f.path&&f.path===U&&f.type==="image/"+M&&!f.isDuplicate)[0];$._relsMedia.push({path:U||"preencoded."+M,type:"image/"+M,extn:M,data:V||"",rId:w,isDuplicate:!!(k===null||k===void 0?void 0:k.Target),Target:(k===null||k===void 0?void 0:k.Target)?k.Target:`../media/image-${$._slideNum}-${$._relsMedia.length+1}.${M}`}),Q.imageRid=w}if(typeof B==="object")if(!B.url&&!B.slide)throw Error("ERROR: `hyperlink` option requires either: `url` or `slide`");else w++,$._rels.push({type:D0.hyperlink,data:B.slide?"slide":"dummy",rId:w,Target:B.url||B.slide.toString()}),B._rId=w,Q.hyperlink=B;$._slideObjects.push(Q)}function fB($,q){let Q=q.x||0,K=q.y||0,J=q.w||2,Z=q.h||2,G=q.data||"",W=q.link||"",B=q.path||"",V=q.type||"audio",U="",w=q.cover||YB,F=q.objectName?k0(q.objectName):`Media ${$._slideObjects.filter((k)=>k._type===D0.media).length}`,M={_type:D0.media};if(!B&&!G&&V!=="online")throw Error("addMedia() error: either `data` or `path` are required!");else if(G&&!G.toLowerCase().includes("base64,"))throw Error("addMedia() error: `data` value lacks a base64 header! Ex: 'video/mpeg;base64,NMP[...]')");else if(!w.toLowerCase().includes("base64,"))throw Error("addMedia() error: `cover` value lacks a base64 header! Ex: 'data:image/png;base64,iV[...]')");if(V==="online"&&!W)throw Error("addMedia() error: online videos require `link` value");if(U=q.extn||(G?G.split(";")[0].split("/")[1]:B.split(".").pop())||"mp3",M.mtype=V,M.media=B||"preencoded.mov",M.options={},M.options.x=Q,M.options.y=K,M.options.w=J,M.options.h=Z,M.options.objectName=F,V==="online"){let k=a2($);$._relsMedia.push({path:B||"preencoded"+U,data:"dummy",type:"online",extn:U,rId:k,Target:W}),M.mediaRid=k,$._relsMedia.push({path:"preencoded.png",data:w,type:"image/png",extn:"png",rId:a2($),Target:`../media/image-${$._slideNum}-${$._relsMedia.length+1}.png`})}else{let k=$._relsMedia.filter((L)=>L.path&&L.path===B&&L.type===V+"/"+U&&!L.isDuplicate)[0],f=a2($);$._relsMedia.push({path:B||"preencoded"+U,type:V+"/"+U,extn:U,data:G||"",rId:f,isDuplicate:!!(k===null||k===void 0?void 0:k.Target),Target:(k===null||k===void 0?void 0:k.Target)?k.Target:`../media/media-${$._slideNum}-${$._relsMedia.length+1}.${U}`}),M.mediaRid=f,$._relsMedia.push({path:B||"preencoded"+U,type:V+"/"+U,extn:U,data:G||"",rId:a2($),isDuplicate:!!(k===null||k===void 0?void 0:k.Target),Target:(k===null||k===void 0?void 0:k.Target)?k.Target:`../media/media-${$._slideNum}-${$._relsMedia.length+0}.${U}`}),$._relsMedia.push({path:"preencoded.png",type:"image/png",extn:"png",data:w,rId:a2($),Target:`../media/image-${$._slideNum}-${$._relsMedia.length+1}.png`})}$._slideObjects.push(M)}function RB($,q){$._slideObjects.push({_type:D0.notes,text:[{text:q}]})}function E7($,q,Q){let K=typeof Q==="object"?Q:{};K.line=K.line||{type:"none"};let J={_type:D0.text,shape:q||B1.RECTANGLE,options:K,text:null};if(!q)throw Error("Missing/Invalid shape parameter! Example: `addShape(pptxgen.shapes.LINE, {x:1, y:1, w:1, h:1});`");let Z={type:K.line.type||"solid",color:K.line.color||JJ,transparency:K.line.transparency||0,width:K.line.width||1,dashType:K.line.dashType||"solid",beginArrowType:K.line.beginArrowType||null,endArrowType:K.line.endArrowType||null};if(typeof K.line==="object"&&K.line.type!=="none")K.line=Z;if(K.x=K.x||(K.x===0?0:1),K.y=K.y||(K.y===0?0:1),K.w=K.w||(K.w===0?0:1),K.h=K.h||(K.h===0?0:1),K.objectName=K.objectName?k0(K.objectName):`Shape ${$._slideObjects.filter((G)=>G._type===D0.text).length}`,typeof K.line==="string"){let G=Z;G.color=String(K.line),K.line=G}if(typeof K.lineSize==="number")K.line.width=K.lineSize;if(typeof K.lineDash==="string")K.line.dashType=K.lineDash;if(typeof K.lineHead==="string")K.line.beginArrowType=K.lineHead;if(typeof K.lineTail==="string")K.line.endArrowType=K.lineTail;g6($,J),$._slideObjects.push(J)}function IB($,q,Q,K,J,Z,G){let W=[$],B=Q&&typeof Q==="object"?Q:{};B.objectName=B.objectName?k0(B.objectName):`Table ${$._slideObjects.filter((F)=>F._type===D0.table).length}`;{if(q===null||q.length===0||!Array.isArray(q))throw Error("addTable: Array expected! EX: 'slide.addTable( [rows], {options} );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)");if(!q[0]||!Array.isArray(q[0]))throw Error("addTable: 'rows' should be an array of cells! EX: 'slide.addTable( [ ['A'], ['B'], {text:'C',options:{align:'center'}} ] );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)")}let V=[];if(q.forEach((F)=>{let M=[];if(Array.isArray(F))F.forEach((k)=>{let f={_type:D0.tablecell,text:"",options:typeof k==="object"&&k.options?k.options:{}};if(typeof k==="string"||typeof k==="number")f.text=k.toString();else if(k.text){if(typeof k.text==="string"||typeof k.text==="number")f.text=k.text.toString();else if(k.text)f.text=k.text;if(k.options&&typeof k.options==="object")f.options=k.options}f.options.border=f.options.border||B.border||[{type:"none"},{type:"none"},{type:"none"},{type:"none"}];let L=f.options.border;if(!Array.isArray(L)&&typeof L==="object")f.options.border=[L,L,L,L];if(!f.options.border[0])f.options.border[0]={type:"none"};if(!f.options.border[1])f.options.border[1]={type:"none"};if(!f.options.border[2])f.options.border[2]={type:"none"};if(!f.options.border[3])f.options.border[3]={type:"none"};[0,1,2,3].forEach((z)=>{f.options.border[z]={type:f.options.border[z].type||H6.type,color:f.options.border[z].color||H6.color,pt:typeof f.options.border[z].pt==="number"?f.options.border[z].pt:H6.pt}}),M.push(f)});else console.log("addTable: tableRows has a bad row. A row should be an array of cells. You provided:"),console.log(F);V.push(M)}),B.x=H0(B.x||(B.x===0?0:L0/2),"X",J),B.y=H0(B.y||(B.y===0?0:L0/2),"Y",J),B.h)B.h=H0(B.h,"Y",J);if(B.fontSize=B.fontSize||k2,B.margin=B.margin===0||B.margin?B.margin:KJ,typeof B.margin==="number")B.margin=[Number(B.margin),Number(B.margin),Number(B.margin),Number(B.margin)];if(JSON.stringify({arrRows:V}).indexOf("hyperlink")===-1){if(!B.color)B.color=B.color||Q2}if(typeof B.border==="string")console.warn("addTable `border` option must be an object. Ex: `{border: {type:'none'}}`"),B.border=null;else if(Array.isArray(B.border))[0,1,2,3].forEach((F)=>{B.border[F]=B.border[F]?{type:B.border[F].type||H6.type,color:B.border[F].color||H6.color,pt:B.border[F].pt||H6.pt}:{type:"none"}});if(B.autoPage=typeof B.autoPage==="boolean"?B.autoPage:!1,B.autoPageRepeatHeader=typeof B.autoPageRepeatHeader==="boolean"?B.autoPageRepeatHeader:!1,B.autoPageHeaderRows=typeof B.autoPageHeaderRows<"u"&&!isNaN(Number(B.autoPageHeaderRows))?Number(B.autoPageHeaderRows):1,B.autoPageLineWeight=typeof B.autoPageLineWeight<"u"&&!isNaN(Number(B.autoPageLineWeight))?Number(B.autoPageLineWeight):0,B.autoPageLineWeight){if(B.autoPageLineWeight>1)B.autoPageLineWeight=1;else if(B.autoPageLineWeight<-1)B.autoPageLineWeight=-1}let U=M8;if(K&&typeof K._margin<"u"){if(Array.isArray(K._margin))U=K._margin;else if(!isNaN(Number(K._margin)))U=[Number(K._margin),Number(K._margin),Number(K._margin),Number(K._margin)]}if(B.colW){let F=V[0].reduce((M,k)=>{var f;if(((f=k===null||k===void 0?void 0:k.options)===null||f===void 0?void 0:f.colspan)&&typeof k.options.colspan==="number")M+=k.options.colspan;else M+=1;return M},0);if(typeof B.colW==="string"||typeof B.colW==="number")B.w=Math.floor(Number(B.colW)*F),B.colW=null;else if(B.colW&&Array.isArray(B.colW)&&B.colW.length===1&&F>1)B.w=Math.floor(Number(B.colW)*F),B.colW=null;else if(B.colW&&Array.isArray(B.colW)&&B.colW.length!==F)console.warn("addTable: mismatch: (colW.length != data.length) Therefore, defaulting to evenly distributed col widths."),B.colW=null}else if(B.w)B.w=H0(B.w,"X",J);else B.w=Math.floor(J._sizeW/L0-U[1]-U[3]);if(B.x&&B.x<20)B.x=v0(B.x);if(B.y&&B.y<20)B.y=v0(B.y);if(B.w&&typeof B.w==="number"&&B.w<20)B.w=v0(B.w);if(B.h&&typeof B.h==="number"&&B.h<20)B.h=v0(B.h);V.forEach((F)=>{F.forEach((M,k)=>{if(typeof M==="number"||typeof M==="string")F[k]={_type:D0.tablecell,text:String(F[k]),options:B};else if(typeof M==="object"){if(typeof M.text==="number")F[k].text=F[k].text.toString();else if(typeof M.text>"u"||M.text===null)F[k].text="";F[k].options=M.options||{},F[k]._type=D0.tablecell}})});let w=[];if(B&&!B.autoPage)g6($,V),$._slideObjects.push({_type:D0.table,arrTabRows:V,options:Object.assign({},B)});else{if(B.autoPageRepeatHeader)B._arrObjTabHeadRows=V.filter((F,M)=>M{if(!G($._slideNum+M))W.push(Z({masterName:(K===null||K===void 0?void 0:K._name)||null}));if(M>0)B.y=v0(B.autoPageSlideStartY||B.newSlideStartY||U[0]);{let k=G($._slideNum+M);if(B.autoPage=!1,g6(k,F.rows),k.addTable(F.rows,Object.assign({},B)),M>0)w.push(k)}})}return w}function L5($,q,Q,K){let J={_type:K?D0.placeholder:D0.text,shape:(Q===null||Q===void 0?void 0:Q.shape)||B1.RECTANGLE,text:!q||q.length===0?[{text:"",options:null}]:q,options:Q||{}};function Z(G){{if(!G.placeholder)G.color=G.color||J.options.color||$.color||Q2;if(G.placeholder||K)G.bullet=G.bullet||!1;if(G.placeholder&&$._slideLayout&&$._slideLayout._slideObjects){let W=$._slideLayout._slideObjects.filter((B)=>B._type==="placeholder"&&B.options&&B.options.placeholder&&B.options.placeholder===G.placeholder)[0];if(W===null||W===void 0?void 0:W.options)G=Object.assign(Object.assign({},G),W.options)}if(G.objectName=G.objectName?k0(G.objectName):`Text ${$._slideObjects.filter((W)=>W._type===D0.text).length}`,G.shape===B1.LINE){let W={type:G.line.type||"solid",color:G.line.color||JJ,transparency:G.line.transparency||0,width:G.line.width||1,dashType:G.line.dashType||"solid",beginArrowType:G.line.beginArrowType||null,endArrowType:G.line.endArrowType||null};if(typeof G.line==="object")G.line=W;if(typeof G.line==="string"){let B=W;if(typeof G.line==="string")B.color=G.line;G.line=B}if(typeof G.lineSize==="number")G.line.width=G.lineSize;if(typeof G.lineDash==="string")G.line.dashType=G.lineDash;if(typeof G.lineHead==="string")G.line.beginArrowType=G.lineHead;if(typeof G.lineTail==="string")G.line.endArrowType=G.lineTail}if(G.line=G.line||{},G.lineSpacing=G.lineSpacing&&!isNaN(G.lineSpacing)?G.lineSpacing:null,G.lineSpacingMultiple=G.lineSpacingMultiple&&!isNaN(G.lineSpacingMultiple)?G.lineSpacingMultiple:null,G._bodyProp=G._bodyProp||{},G._bodyProp.autoFit=G.autoFit||!1,G._bodyProp.anchor=!G.placeholder?I6.ctr:null,G._bodyProp.vert=G.vert||null,G._bodyProp.wrap=typeof G.wrap==="boolean"?G.wrap:!0,G.inset&&!isNaN(Number(G.inset))||G.inset===0)G._bodyProp.lIns=v0(G.inset),G._bodyProp.rIns=v0(G.inset),G._bodyProp.tIns=v0(G.inset),G._bodyProp.bIns=v0(G.inset);if(typeof G.underline==="boolean"&&G.underline===!0)G.underline={style:"sng"}}{if((G.align||"").toLowerCase().indexOf("c")===0)G._bodyProp.align=R6.center;else if((G.align||"").toLowerCase().indexOf("l")===0)G._bodyProp.align=R6.left;else if((G.align||"").toLowerCase().indexOf("r")===0)G._bodyProp.align=R6.right;else if((G.align||"").toLowerCase().indexOf("j")===0)G._bodyProp.align=R6.justify;if((G.valign||"").toLowerCase().indexOf("b")===0)G._bodyProp.anchor=I6.b;else if((G.valign||"").toLowerCase().indexOf("m")===0)G._bodyProp.anchor=I6.ctr;else if((G.valign||"").toLowerCase().indexOf("t")===0)G._bodyProp.anchor=I6.t}return c7(G.shadow),G}J.options=Z(J.options),J.text.forEach((G)=>G.options=Z(G.options||{})),g6($,J.text||""),$._slideObjects.push(J)}function CB($){($._slideLayout._slideObjects||[]).forEach((q)=>{if(q._type===D0.placeholder){if($._slideObjects.filter((Q)=>Q.options&&Q.options.placeholder===q.options.placeholder).length===0)L5($,[{text:""}],q.options,!1)}})}function BJ($,q){var Q;if(q.bkgd){if(!q.background)q.background={};if(typeof q.bkgd==="string")q.background.color=q.bkgd;else{if(q.bkgd.data)q.background.data=q.bkgd.data;if(q.bkgd.path)q.background.path=q.bkgd.path;if(q.bkgd.src)q.background.path=q.bkgd.src}}if((Q=q.background)===null||Q===void 0?void 0:Q.fill)q.background.color=q.background.fill;if($&&($.path||$.data)){$.path=$.path||"preencoded.png";let K=($.path.split(".").pop()||"png").split("?")[0];if(K==="jpg")K="jpeg";q._relsMedia=q._relsMedia||[];let J=q._relsMedia.length+1;q._relsMedia.push({path:$.path,type:D0.image,extn:K,data:$.data||null,rId:J,Target:`../media/${(q._name||"").replace(/\s+/gi,"-")}-image-${q._relsMedia.length+1}.${K}`}),q._bkgdImgRid=J}}function g6($,q,Q){let K=[];if(typeof q==="string"||typeof q==="number")return;else if(Array.isArray(q))K=q;else if(typeof q==="object")K=[q];K.forEach((J,Z)=>{if(Q&&Q[Z]&&Q[Z].hyperlink)J.options=Object.assign(Object.assign({},J.options),Q[Z]);if(Array.isArray(J)){let G=[];J.forEach((W)=>{if(W.options&&!W.text.options)G.push(W.options)}),g6($,J,G)}else if(Array.isArray(J.text))g6($,J.text,Q&&Q[Z]?[Q[Z]]:void 0);else if(J&&typeof J==="object"&&J.options&&J.options.hyperlink&&!J.options.hyperlink._rId)if(typeof J.options.hyperlink!=="object")console.log("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink: {url:'https://github.com'}` ");else if(!J.options.hyperlink.url&&!J.options.hyperlink.slide)console.log("ERROR: 'hyperlink requires either: `url` or `slide`'");else{let G=a2($);$._rels.push({type:D0.hyperlink,data:J.options.hyperlink.slide?"slide":"dummy",rId:G,Target:k0(J.options.hyperlink.url)||J.options.hyperlink.slide.toString()}),J.options.hyperlink._rId=G}else if(J&&typeof J==="object"&&J.options&&J.options.hyperlink&&J.options.hyperlink._rId){if($._rels.filter((G)=>G.rId===J.options.hyperlink._rId).length===0)$._rels.push({type:D0.hyperlink,data:J.options.hyperlink.slide?"slide":"dummy",rId:J.options.hyperlink._rId,Target:k0(J.options.hyperlink.url)||J.options.hyperlink.slide.toString()})}})}class zJ{constructor($){var q;this.addSlide=$.addSlide,this.getSlide=$.getSlide,this._name=`Slide ${$.slideNumber}`,this._presLayout=$.presLayout,this._rId=$.slideRId,this._rels=[],this._relsChart=[],this._relsMedia=[],this._setSlideNum=$.setSlideNum,this._slideId=$.slideId,this._slideLayout=$.slideLayout||null,this._slideNum=$.slideNumber,this._slideObjects=[],this._slideNumberProps=((q=this._slideLayout)===null||q===void 0?void 0:q._slideNumberProps)?this._slideLayout._slideNumberProps:null}set bkgd($){if(this._bkgd=$,!this._background||!this._background.color){if(!this._background)this._background={};if(typeof $==="string")this._background.color=$}}get bkgd(){return this._bkgd}set background($){if(this._background=$,$)BJ($,this)}get background(){return this._background}set color($){this._color=$}get color(){return this._color}set hidden($){this._hidden=$}get hidden(){return this._hidden}set slideNumber($){this._slideNumberProps=$,this._setSlideNum($)}get slideNumber(){return this._slideNumberProps}get newAutoPagedSlides(){return this._newAutoPagedSlides}addChart($,q,Q){let K=Q||{};return K._type=$,GJ(this,$,q,Q),this}addImage($){return WJ(this,$),this}addMedia($){return fB(this,$),this}addNotes($){return RB(this,$),this}addShape($,q){return E7(this,$,q),this}addTable($,q){return this._newAutoPagedSlides=IB(this,$,q,this._slideLayout,this._presLayout,this.addSlide,this.getSlide),this}addText($,q){return L5(this,typeof $==="string"||typeof $==="number"?[{text:$,options:q}]:$,q,!1),this}}function jB($,q){return W2(this,void 0,void 0,function*(){let Q=$.data;return yield new Promise((K,J)=>{var Z,G;let W=new _7.default,B=(Q.length-1)*2+1,V=((G=(Z=Q[0])===null||Z===void 0?void 0:Z.labels)===null||G===void 0?void 0:G.length)>1;W.folder("_rels"),W.folder("docProps"),W.folder("xl/_rels"),W.folder("xl/tables"),W.folder("xl/theme"),W.folder("xl/worksheets"),W.folder("xl/worksheets/_rels"),W.file("[Content_Types].xml",' \n'),W.file("_rels/.rels",` +`);return V}function yB($,q,Q={},K){let J=Q||{};J.slideMargin=J.slideMargin||J.slideMargin===0?J.slideMargin:0.5;let Z=J.w||$.presLayout.width,G=[],W=[],B=[],V=[],U=[],w=[0.5,0.5,0.5,0.5],F=0;if(!document.getElementById(q))throw Error('tableToSlides: Table ID "'+q+'" does not exist!');if(K===null||K===void 0?void 0:K._margin){if(Array.isArray(K._margin))w=K._margin;else if(!isNaN(K._margin))w=[K._margin,K._margin,K._margin,K._margin];J.slideMargin=w}else if(J===null||J===void 0?void 0:J.slideMargin){if(Array.isArray(J.slideMargin))w=J.slideMargin;else if(!isNaN(J.slideMargin))w=[J.slideMargin,J.slideMargin,J.slideMargin,J.slideMargin]}if(Z=(J.w?v0(J.w):$.presLayout.width)-v0(w[1]+w[3]),J.verbose)console.log("[[VERBOSE MODE]]"),console.log("|-- `tableToSlides` ----------------------------------------------------|"),console.log(`| tableProps.h .................................... = ${J.h}`),console.log(`| tableProps.w .................................... = ${J.w}`),console.log(`| pptx.presLayout.width ........................... = ${($.presLayout.width/L0).toFixed(1)}`),console.log(`| pptx.presLayout.height .......................... = ${($.presLayout.height/L0).toFixed(1)}`),console.log(`| emuSlideTabW .................................... = ${(Z/L0).toFixed(1)}`);let M=document.querySelectorAll(`#${q} tr:first-child th`);if(M.length===0)M=document.querySelectorAll(`#${q} tr:first-child td`);if(M.forEach((f)=>{let L=f;if(L.getAttribute("colspan"))for(let D=0;D{F+=f}),U.forEach((f,L)=>{let D=Number((Number(Z)*(f/F*100)/100/L0).toFixed(2)),z=0,N=document.querySelector(`#${q} thead tr:first-child th:nth-child(${L+1})`);if(N)z=Number(N.getAttribute("data-pptx-min-width"));let H=document.querySelector(`#${q} thead tr:first-child th:nth-child(${L+1})`);if(H)z=Number(H.getAttribute("data-pptx-width"));V.push(z>D?z:D)}),J.verbose)console.log(`| arrColW ......................................... = [${V.join(", ")}]`);["thead","tbody","tfoot"].forEach((f)=>{document.querySelectorAll(`#${q} ${f} tr`).forEach((L)=>{let D=L,z=[];switch(Array.from(D.cells).forEach((N)=>{let H=window.getComputedStyle(N).getPropertyValue("color").replace(/\s+/gi,"").replace("rgba(","").replace("rgb(","").replace(")","").split(","),v=window.getComputedStyle(N).getPropertyValue("background-color").replace(/\s+/gi,"").replace("rgba(","").replace("rgb(","").replace(")","").split(",");if(window.getComputedStyle(N).getPropertyValue("background-color")==="rgba(0, 0, 0, 0)"||window.getComputedStyle(N).getPropertyValue("transparent"))v=["255","255","255"];let j={align:null,bold:window.getComputedStyle(N).getPropertyValue("font-weight")==="bold"||Number(window.getComputedStyle(N).getPropertyValue("font-weight"))>=500,border:null,color:g7(Number(H[0]),Number(H[1]),Number(H[2])),fill:{color:g7(Number(v[0]),Number(v[1]),Number(v[2]))},fontFace:(window.getComputedStyle(N).getPropertyValue("font-family")||"").split(",")[0].replace(/"/g,"").replace("inherit","").replace("initial","")||null,fontSize:Number(window.getComputedStyle(N).getPropertyValue("font-size").replace(/[a-z]/gi,"")),margin:null,colspan:Number(N.getAttribute("colspan"))||null,rowspan:Number(N.getAttribute("rowspan"))||null,valign:null};if(["left","center","right","start","end"].includes(window.getComputedStyle(N).getPropertyValue("text-align"))){let n=window.getComputedStyle(N).getPropertyValue("text-align").replace("start","left").replace("end","right");j.align=n==="center"?"center":n==="left"?"left":n==="right"?"right":null}if(["top","middle","bottom"].includes(window.getComputedStyle(N).getPropertyValue("vertical-align"))){let n=window.getComputedStyle(N).getPropertyValue("vertical-align");j.valign=n==="top"?"top":n==="middle"?"middle":n==="bottom"?"bottom":null}if(window.getComputedStyle(N).getPropertyValue("padding-left"))j.margin=[0,0,0,0],["padding-top","padding-right","padding-bottom","padding-left"].forEach((d,_)=>{j.margin[_]=Math.round(Number(window.getComputedStyle(N).getPropertyValue(d).replace(/\D/gi,"")))});if(window.getComputedStyle(N).getPropertyValue("border-top-width")||window.getComputedStyle(N).getPropertyValue("border-right-width")||window.getComputedStyle(N).getPropertyValue("border-bottom-width")||window.getComputedStyle(N).getPropertyValue("border-left-width"))j.border=[null,null,null,null],["top","right","bottom","left"].forEach((d,_)=>{let X=Math.round(Number(window.getComputedStyle(N).getPropertyValue("border-"+d+"-width").replace("px",""))),P=[];P=window.getComputedStyle(N).getPropertyValue("border-"+d+"-color").replace(/\s+/gi,"").replace("rgba(","").replace("rgb(","").replace(")","").split(",");let g=g7(Number(P[0]),Number(P[1]),Number(P[2]));j.border[_]={pt:X,color:g}});z.push({_type:D0.tablecell,text:N.innerText,options:j})}),f){case"thead":G.push(z);break;case"tbody":W.push(z);break;case"tfoot":B.push(z);break;default:console.log(`table parsing: unexpected table part: ${f}`);break}})}),J._arrObjTabHeadRows=G||null,J.colW=V,GJ([...G,...W,...B],J,$.presLayout,K).forEach((f,L)=>{let D=$.addSlide({masterName:J.masterSlideName||null});if(L===0)J.y=J.y||w[0];if(L>0)J.y=J.autoPageSlideStartY||J.newSlideStartY||w[0];if(J.verbose)console.log(`| opts.autoPageSlideStartY: ${J.autoPageSlideStartY} / arrInchMargins[0]: ${w[0]} => opts.y = ${J.y}`);if(D.addTable(f.rows,{x:J.x||w[3],y:J.y,w:Number(Z)/L0,colW:V,autoPage:!1}),J.addImage)if(J.addImage.options=J.addImage.options||{},!J.addImage.image||!J.addImage.image.path&&!J.addImage.image.data)console.warn("Warning: tableToSlides.addImage requires either `path` or `data`");else D.addImage({path:J.addImage.image.path,data:J.addImage.image.data,x:J.addImage.options.x,y:J.addImage.options.y,w:J.addImage.options.w,h:J.addImage.options.h});if(J.addShape)D.addShape(J.addShape.shapeName,J.addShape.options||{});if(J.addTable)D.addTable(J.addTable.rows,J.addTable.options||{});if(J.addText)D.addText(J.addText.text,J.addText.options||{})})}var hB=0;function xB($,q){if($.bkgd)q.bkgd=$.bkgd;if($.objects&&Array.isArray($.objects)&&$.objects.length>0)$.objects.forEach((Q,K)=>{let J=Object.keys(Q)[0],Z=q;if(W1[J]&&J==="chart")WJ(Z,Q[J].type,Q[J].data,Q[J].opts);else if(W1[J]&&J==="image")BJ(Z,Q[J]);else if(W1[J]&&J==="line")E7(Z,B1.LINE,Q[J]);else if(W1[J]&&J==="rect")E7(Z,B1.RECTANGLE,Q[J]);else if(W1[J]&&J==="text")L5(Z,[{text:Q[J].text}],Q[J].options,!1);else if(W1[J]&&J==="placeholder")Q[J].options.placeholder=Q[J].options.name,delete Q[J].options.name,Q[J].options._placeholderType=Q[J].options.type,delete Q[J].options.type,Q[J].options._placeholderIdx=100+K,L5(Z,[{text:Q[J].text}],Q[J].options,!0)});if($.slideNumber&&typeof $.slideNumber==="object")q._slideNumberProps=$.slideNumber}function WJ($,q,Q,K){var J;function Z(w){if(!w||w.style==="none")return;if(w.size!==void 0&&(isNaN(Number(w.size))||w.size<=0))console.warn("Warning: chart.gridLine.size must be greater than 0."),delete w.size;if(w.style&&!["solid","dash","dot"].includes(w.style))console.warn("Warning: chart.gridLine.style options: `solid`, `dash`, `dot`."),delete w.style;if(w.cap&&!["flat","square","round"].includes(w.cap))console.warn("Warning: chart.gridLine.cap options: `flat`, `square`, `round`."),delete w.cap}let G=++hB,W={_type:null,text:null,options:null,chartRid:null},B=null,V=[];if(Array.isArray(q))q.forEach((w)=>{V=V.concat(w.data)}),B=Q||K;else V=Q,B=K;V.forEach((w,F)=>{if(w._dataIndex=F,w.labels!==void 0&&!Array.isArray(w.labels[0]))w.labels=[w.labels]});let U=B&&typeof B==="object"?B:{};if(U._type=q,U.x=typeof U.x<"u"&&U.x!=null&&!isNaN(Number(U.x))?U.x:1,U.y=typeof U.y<"u"&&U.y!=null&&!isNaN(Number(U.y))?U.y:1,U.w=U.w||"50%",U.h=U.h||"50%",U.objectName=U.objectName?k0(U.objectName):`Chart ${$._slideObjects.filter((w)=>w._type===D0.chart).length}`,!["bar","col"].includes(U.barDir||""))U.barDir="col";if(U._type===q0.AREA){if(!["stacked","standard","percentStacked"].includes(U.barGrouping||""))U.barGrouping="standard"}if(U._type===q0.BAR){if(!["clustered","stacked","percentStacked"].includes(U.barGrouping||""))U.barGrouping="clustered"}if(U._type===q0.BAR3D){if(!["clustered","stacked","standard","percentStacked"].includes(U.barGrouping||""))U.barGrouping="standard"}if((J=U.barGrouping)===null||J===void 0?void 0:J.includes("tacked")){if(!U.barGapWidthPct)U.barGapWidthPct=50}if(U.dataLabelPosition){if(U._type===q0.AREA||U._type===q0.BAR3D||U._type===q0.DOUGHNUT||U._type===q0.RADAR)delete U.dataLabelPosition;if(U._type===q0.PIE){if(!["bestFit","ctr","inEnd","outEnd"].includes(U.dataLabelPosition))delete U.dataLabelPosition}if(U._type===q0.BUBBLE||U._type===q0.BUBBLE3D||U._type===q0.LINE||U._type===q0.SCATTER){if(!["b","ctr","l","r","t"].includes(U.dataLabelPosition))delete U.dataLabelPosition}if(U._type===q0.BAR){if(!["stacked","percentStacked"].includes(U.barGrouping||"")){if(!["ctr","inBase","inEnd"].includes(U.dataLabelPosition))delete U.dataLabelPosition}if(!["clustered"].includes(U.barGrouping||"")){if(!["ctr","inBase","inEnd","outEnd"].includes(U.dataLabelPosition))delete U.dataLabelPosition}}}if(U.dataLabelBkgrdColors=U.dataLabelBkgrdColors||!U.dataLabelBkgrdColors?U.dataLabelBkgrdColors:!1,!["b","l","r","t","tr"].includes(U.legendPos||""))U.legendPos="r";if(!["cone","coneToMax","box","cylinder","pyramid","pyramidToMax"].includes(U.bar3DShape||""))U.bar3DShape="box";if(!["circle","dash","diamond","dot","none","square","triangle"].includes(U.lineDataSymbol||""))U.lineDataSymbol="circle";if(!["gap","span"].includes(U.displayBlanksAs||""))U.displayBlanksAs="span";if(!["standard","marker","filled"].includes(U.radarStyle||""))U.radarStyle="standard";if(U.lineDataSymbolSize=U.lineDataSymbolSize&&!isNaN(U.lineDataSymbolSize)?U.lineDataSymbolSize:6,U.lineDataSymbolLineSize=U.lineDataSymbolLineSize&&!isNaN(U.lineDataSymbolLineSize)?Y0(U.lineDataSymbolLineSize):Y0(0.75),U.layout)["x","y","w","h"].forEach((w)=>{let F=U.layout[w];if(isNaN(Number(F))||F<0||F>1)console.warn("Warning: chart.layout."+w+" can only be 0-1"),delete U.layout[w]});if(U.catGridLine=U.catGridLine||(U._type===q0.SCATTER?{color:"D9D9D9",size:1}:{style:"none"}),U.valGridLine=U.valGridLine||(U._type===q0.SCATTER?{color:"D9D9D9",size:1}:{}),U.serGridLine=U.serGridLine||(U._type===q0.SCATTER?{color:"D9D9D9",size:1}:{style:"none"}),Z(U.catGridLine),Z(U.valGridLine),Z(U.serGridLine),c7(U.shadow),U.showDataTable=U.showDataTable||!U.showDataTable?U.showDataTable:!1,U.showDataTableHorzBorder=U.showDataTableHorzBorder||!U.showDataTableHorzBorder?U.showDataTableHorzBorder:!0,U.showDataTableVertBorder=U.showDataTableVertBorder||!U.showDataTableVertBorder?U.showDataTableVertBorder:!0,U.showDataTableOutline=U.showDataTableOutline||!U.showDataTableOutline?U.showDataTableOutline:!0,U.showDataTableKeys=U.showDataTableKeys||!U.showDataTableKeys?U.showDataTableKeys:!0,U.showLabel=U.showLabel||!U.showLabel?U.showLabel:!1,U.showLegend=U.showLegend||!U.showLegend?U.showLegend:!1,U.showPercent=U.showPercent||!U.showPercent?U.showPercent:!0,U.showTitle=U.showTitle||!U.showTitle?U.showTitle:!1,U.showValue=U.showValue||!U.showValue?U.showValue:!1,U.showLeaderLines=U.showLeaderLines||!U.showLeaderLines?U.showLeaderLines:!1,U.catAxisLineShow=typeof U.catAxisLineShow<"u"?U.catAxisLineShow:!0,U.valAxisLineShow=typeof U.valAxisLineShow<"u"?U.valAxisLineShow:!0,U.serAxisLineShow=typeof U.serAxisLineShow<"u"?U.serAxisLineShow:!0,U.v3DRotX=!isNaN(U.v3DRotX)&&U.v3DRotX>=-90&&U.v3DRotX<=90?U.v3DRotX:30,U.v3DRotY=!isNaN(U.v3DRotY)&&U.v3DRotY>=0&&U.v3DRotY<=360?U.v3DRotY:30,U.v3DRAngAx=U.v3DRAngAx||!U.v3DRAngAx?U.v3DRAngAx:!0,U.v3DPerspective=!isNaN(U.v3DPerspective)&&U.v3DPerspective>=0&&U.v3DPerspective<=240?U.v3DPerspective:30,U.barGapWidthPct=!isNaN(U.barGapWidthPct)&&U.barGapWidthPct>=0&&U.barGapWidthPct<=1000?U.barGapWidthPct:150,U.barGapDepthPct=!isNaN(U.barGapDepthPct)&&U.barGapDepthPct>=0&&U.barGapDepthPct<=1000?U.barGapDepthPct:150,U.chartColors=Array.isArray(U.chartColors)?U.chartColors:U._type===q0.PIE||U._type===q0.DOUGHNUT?jB:z8,U.chartColorsOpacity=U.chartColorsOpacity&&!isNaN(U.chartColorsOpacity)?U.chartColorsOpacity:null,U.border=U.border&&typeof U.border==="object"?U.border:null,U.border&&(!U.border.pt||isNaN(U.border.pt)))U.border.pt=v6.pt;if(U.border&&(!U.border.color||typeof U.border.color!=="string"))U.border.color=v6.color;if(U.plotArea=U.plotArea||{},U.plotArea.border=U.plotArea.border&&typeof U.plotArea.border==="object"?U.plotArea.border:null,U.plotArea.border&&(!U.plotArea.border.pt||isNaN(U.plotArea.border.pt)))U.plotArea.border.pt=v6.pt;if(U.plotArea.border&&(!U.plotArea.border.color||typeof U.plotArea.border.color!=="string"))U.plotArea.border.color=v6.color;if(U.border)U.plotArea.border=U.border;if(U.plotArea.fill=U.plotArea.fill||{color:null,transparency:null},U.fill)U.plotArea.fill.color=U.fill;if(U.chartArea=U.chartArea||{},U.chartArea.border=U.chartArea.border&&typeof U.chartArea.border==="object"?U.chartArea.border:null,U.chartArea.border)U.chartArea.border={color:U.chartArea.border.color||v6.color,pt:U.chartArea.border.pt||v6.pt};if(U.chartArea.roundedCorners=typeof U.chartArea.roundedCorners==="boolean"?U.chartArea.roundedCorners:!0,U.dataBorder=U.dataBorder&&typeof U.dataBorder==="object"?U.dataBorder:null,U.dataBorder&&(!U.dataBorder.pt||isNaN(U.dataBorder.pt)))U.dataBorder.pt=0.75;if(U.dataBorder&&U.dataBorder.color){let w=typeof U.dataBorder.color==="string"&&U.dataBorder.color.length===6&&/^[0-9A-Fa-f]{6}$/.test(U.dataBorder.color),F=Object.values(D5).includes(U.dataBorder.color);if(!w&&!F)U.dataBorder.color="F9F9F9"}if(!U.dataLabelFormatCode&&U._type===q0.SCATTER)U.dataLabelFormatCode="General";if(!U.dataLabelFormatCode&&(U._type===q0.PIE||U._type===q0.DOUGHNUT))U.dataLabelFormatCode=U.showPercent?"0%":"General";if(U.dataLabelFormatCode=U.dataLabelFormatCode&&typeof U.dataLabelFormatCode==="string"?U.dataLabelFormatCode:"#,##0",!U.dataLabelFormatScatter&&U._type===q0.SCATTER)U.dataLabelFormatScatter="custom";if(U.lineSize=typeof U.lineSize==="number"?U.lineSize:2,U.valAxisMajorUnit=typeof U.valAxisMajorUnit==="number"?U.valAxisMajorUnit:null,U._type===q0.AREA||U._type===q0.BAR||U._type===q0.BAR3D||U._type===q0.LINE)U.catAxisMultiLevelLabels=!!U.catAxisMultiLevelLabels;else delete U.catAxisMultiLevelLabels;return W._type="chart",W.options=U,W.chartRid=a2($),$._relsChart.push({rId:a2($),data:V,opts:U,type:U._type,globalId:G,fileName:`chart${G}.xml`,Target:`/ppt/charts/chart${G}.xml`}),$._slideObjects.push(W),W}function BJ($,q){let Q={_type:null,text:null,options:null,image:null,imageRid:null,hyperlink:null},K=q.x||0,J=q.y||0,Z=q.w||0,G=q.h||0,W=q.sizing||null,B=q.hyperlink||"",V=q.data||"",U=q.path||"",w=a2($),F=q.objectName?k0(q.objectName):`Image ${$._slideObjects.filter((k)=>k._type===D0.image).length}`;if(!U&&!V)return console.error("ERROR: addImage() requires either 'data' or 'path' parameter!"),null;else if(U&&typeof U!=="string")return console.error(`ERROR: addImage() 'path' should be a string, ex: {path:'/img/sample.png'} - you sent ${String(U)}`),null;else if(V&&typeof V!=="string")return console.error(`ERROR: addImage() 'data' should be a string, ex: {data:'image/png;base64,NMP[...]'} - you sent ${String(V)}`),null;else if(V&&typeof V==="string"&&!V.toLowerCase().includes("base64,"))return console.error("ERROR: Image `data` value lacks a base64 header! Ex: 'image/png;base64,NMP[...]')"),null;let M=(U.substring(U.lastIndexOf("/")+1).split("?")[0].split(".").pop().split("#")[0]||"png").toLowerCase();if(V&&/image\/(\w+);/.exec(V)&&/image\/(\w+);/.exec(V).length>0)M=/image\/(\w+);/.exec(V)[1];else if(V===null||V===void 0?void 0:V.toLowerCase().includes("image/svg+xml"))M="svg";if(Q._type=D0.image,Q.image=U||"preencoded.png",Q.options={x:K||0,y:J||0,w:Z||1,h:G||1,altText:q.altText||"",rounding:typeof q.rounding==="boolean"?q.rounding:!1,sizing:W,placeholder:q.placeholder,rotate:q.rotate||0,flipV:q.flipV||!1,flipH:q.flipH||!1,transparency:q.transparency||0,objectName:F,shadow:c7(q.shadow)},M==="svg")$._relsMedia.push({path:U||V+"png",type:"image/png",extn:"png",data:V||"",rId:w,Target:`../media/image-${$._slideNum}-${$._relsMedia.length+1}.png`,isSvgPng:!0,svgSize:{w:H0(Q.options.w,"X",$._presLayout),h:H0(Q.options.h,"Y",$._presLayout)}}),Q.imageRid=w,$._relsMedia.push({path:U||V,type:"image/svg+xml",extn:M,data:V||"",rId:w+1,Target:`../media/image-${$._slideNum}-${$._relsMedia.length+1}.${M}`}),Q.imageRid=w+1;else{let k=$._relsMedia.filter((f)=>f.path&&f.path===U&&f.type==="image/"+M&&!f.isDuplicate)[0];$._relsMedia.push({path:U||"preencoded."+M,type:"image/"+M,extn:M,data:V||"",rId:w,isDuplicate:!!(k===null||k===void 0?void 0:k.Target),Target:(k===null||k===void 0?void 0:k.Target)?k.Target:`../media/image-${$._slideNum}-${$._relsMedia.length+1}.${M}`}),Q.imageRid=w}if(typeof B==="object")if(!B.url&&!B.slide)throw Error("ERROR: `hyperlink` option requires either: `url` or `slide`");else w++,$._rels.push({type:D0.hyperlink,data:B.slide?"slide":"dummy",rId:w,Target:B.url||B.slide.toString()}),B._rId=w,Q.hyperlink=B;$._slideObjects.push(Q)}function OB($,q){let Q=q.x||0,K=q.y||0,J=q.w||2,Z=q.h||2,G=q.data||"",W=q.link||"",B=q.path||"",V=q.type||"audio",U="",w=q.cover||gB,F=q.objectName?k0(q.objectName):`Media ${$._slideObjects.filter((k)=>k._type===D0.media).length}`,M={_type:D0.media};if(!B&&!G&&V!=="online")throw Error("addMedia() error: either `data` or `path` are required!");else if(G&&!G.toLowerCase().includes("base64,"))throw Error("addMedia() error: `data` value lacks a base64 header! Ex: 'video/mpeg;base64,NMP[...]')");else if(!w.toLowerCase().includes("base64,"))throw Error("addMedia() error: `cover` value lacks a base64 header! Ex: 'data:image/png;base64,iV[...]')");if(V==="online"&&!W)throw Error("addMedia() error: online videos require `link` value");if(U=q.extn||(G?G.split(";")[0].split("/")[1]:B.split(".").pop())||"mp3",M.mtype=V,M.media=B||"preencoded.mov",M.options={},M.options.x=Q,M.options.y=K,M.options.w=J,M.options.h=Z,M.options.objectName=F,V==="online"){let k=a2($);$._relsMedia.push({path:B||"preencoded"+U,data:"dummy",type:"online",extn:U,rId:k,Target:W}),M.mediaRid=k,$._relsMedia.push({path:"preencoded.png",data:w,type:"image/png",extn:"png",rId:a2($),Target:`../media/image-${$._slideNum}-${$._relsMedia.length+1}.png`})}else{let k=$._relsMedia.filter((L)=>L.path&&L.path===B&&L.type===V+"/"+U&&!L.isDuplicate)[0],f=a2($);$._relsMedia.push({path:B||"preencoded"+U,type:V+"/"+U,extn:U,data:G||"",rId:f,isDuplicate:!!(k===null||k===void 0?void 0:k.Target),Target:(k===null||k===void 0?void 0:k.Target)?k.Target:`../media/media-${$._slideNum}-${$._relsMedia.length+1}.${U}`}),M.mediaRid=f,$._relsMedia.push({path:B||"preencoded"+U,type:V+"/"+U,extn:U,data:G||"",rId:a2($),isDuplicate:!!(k===null||k===void 0?void 0:k.Target),Target:(k===null||k===void 0?void 0:k.Target)?k.Target:`../media/media-${$._slideNum}-${$._relsMedia.length+0}.${U}`}),$._relsMedia.push({path:"preencoded.png",type:"image/png",extn:"png",data:w,rId:a2($),Target:`../media/image-${$._slideNum}-${$._relsMedia.length+1}.png`})}$._slideObjects.push(M)}function PB($,q){$._slideObjects.push({_type:D0.notes,text:[{text:q}]})}function E7($,q,Q){let K=typeof Q==="object"?Q:{};K.line=K.line||{type:"none"};let J={_type:D0.text,shape:q||B1.RECTANGLE,options:K,text:null};if(!q)throw Error("Missing/Invalid shape parameter! Example: `addShape(pptxgen.shapes.LINE, {x:1, y:1, w:1, h:1});`");let Z={type:K.line.type||"solid",color:K.line.color||VJ,transparency:K.line.transparency||0,width:K.line.width||1,dashType:K.line.dashType||"solid",beginArrowType:K.line.beginArrowType||null,endArrowType:K.line.endArrowType||null};if(typeof K.line==="object"&&K.line.type!=="none")K.line=Z;if(K.x=K.x||(K.x===0?0:1),K.y=K.y||(K.y===0?0:1),K.w=K.w||(K.w===0?0:1),K.h=K.h||(K.h===0?0:1),K.objectName=K.objectName?k0(K.objectName):`Shape ${$._slideObjects.filter((G)=>G._type===D0.text).length}`,typeof K.line==="string"){let G=Z;G.color=String(K.line),K.line=G}if(typeof K.lineSize==="number")K.line.width=K.lineSize;if(typeof K.lineDash==="string")K.line.dashType=K.lineDash;if(typeof K.lineHead==="string")K.line.beginArrowType=K.lineHead;if(typeof K.lineTail==="string")K.line.endArrowType=K.lineTail;g6($,J),$._slideObjects.push(J)}function TB($,q,Q,K,J,Z,G){let W=[$],B=Q&&typeof Q==="object"?Q:{};B.objectName=B.objectName?k0(B.objectName):`Table ${$._slideObjects.filter((F)=>F._type===D0.table).length}`;{if(q===null||q.length===0||!Array.isArray(q))throw Error("addTable: Array expected! EX: 'slide.addTable( [rows], {options} );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)");if(!q[0]||!Array.isArray(q[0]))throw Error("addTable: 'rows' should be an array of cells! EX: 'slide.addTable( [ ['A'], ['B'], {text:'C',options:{align:'center'}} ] );' (https://gitbrent.github.io/PptxGenJS/docs/api-tables.html)")}let V=[];if(q.forEach((F)=>{let M=[];if(Array.isArray(F))F.forEach((k)=>{let f={_type:D0.tablecell,text:"",options:typeof k==="object"&&k.options?k.options:{}};if(typeof k==="string"||typeof k==="number")f.text=k.toString();else if(k.text){if(typeof k.text==="string"||typeof k.text==="number")f.text=k.text.toString();else if(k.text)f.text=k.text;if(k.options&&typeof k.options==="object")f.options=k.options}f.options.border=f.options.border||B.border||[{type:"none"},{type:"none"},{type:"none"},{type:"none"}];let L=f.options.border;if(!Array.isArray(L)&&typeof L==="object")f.options.border=[L,L,L,L];if(!f.options.border[0])f.options.border[0]={type:"none"};if(!f.options.border[1])f.options.border[1]={type:"none"};if(!f.options.border[2])f.options.border[2]={type:"none"};if(!f.options.border[3])f.options.border[3]={type:"none"};[0,1,2,3].forEach((z)=>{f.options.border[z]={type:f.options.border[z].type||H6.type,color:f.options.border[z].color||H6.color,pt:typeof f.options.border[z].pt==="number"?f.options.border[z].pt:H6.pt}}),M.push(f)});else console.log("addTable: tableRows has a bad row. A row should be an array of cells. You provided:"),console.log(F);V.push(M)}),B.x=H0(B.x||(B.x===0?0:L0/2),"X",J),B.y=H0(B.y||(B.y===0?0:L0/2),"Y",J),B.h)B.h=H0(B.h,"Y",J);if(B.fontSize=B.fontSize||k2,B.margin=B.margin===0||B.margin?B.margin:JJ,typeof B.margin==="number")B.margin=[Number(B.margin),Number(B.margin),Number(B.margin),Number(B.margin)];if(JSON.stringify({arrRows:V}).indexOf("hyperlink")===-1){if(!B.color)B.color=B.color||Q2}if(typeof B.border==="string")console.warn("addTable `border` option must be an object. Ex: `{border: {type:'none'}}`"),B.border=null;else if(Array.isArray(B.border))[0,1,2,3].forEach((F)=>{B.border[F]=B.border[F]?{type:B.border[F].type||H6.type,color:B.border[F].color||H6.color,pt:B.border[F].pt||H6.pt}:{type:"none"}});if(B.autoPage=typeof B.autoPage==="boolean"?B.autoPage:!1,B.autoPageRepeatHeader=typeof B.autoPageRepeatHeader==="boolean"?B.autoPageRepeatHeader:!1,B.autoPageHeaderRows=typeof B.autoPageHeaderRows<"u"&&!isNaN(Number(B.autoPageHeaderRows))?Number(B.autoPageHeaderRows):1,B.autoPageLineWeight=typeof B.autoPageLineWeight<"u"&&!isNaN(Number(B.autoPageLineWeight))?Number(B.autoPageLineWeight):0,B.autoPageLineWeight){if(B.autoPageLineWeight>1)B.autoPageLineWeight=1;else if(B.autoPageLineWeight<-1)B.autoPageLineWeight=-1}let U=M8;if(K&&typeof K._margin<"u"){if(Array.isArray(K._margin))U=K._margin;else if(!isNaN(Number(K._margin)))U=[Number(K._margin),Number(K._margin),Number(K._margin),Number(K._margin)]}if(B.colW){let F=V[0].reduce((M,k)=>{var f;if(((f=k===null||k===void 0?void 0:k.options)===null||f===void 0?void 0:f.colspan)&&typeof k.options.colspan==="number")M+=k.options.colspan;else M+=1;return M},0);if(typeof B.colW==="string"||typeof B.colW==="number")B.w=Math.floor(Number(B.colW)*F),B.colW=null;else if(B.colW&&Array.isArray(B.colW)&&B.colW.length===1&&F>1)B.w=Math.floor(Number(B.colW)*F),B.colW=null;else if(B.colW&&Array.isArray(B.colW)&&B.colW.length!==F)console.warn("addTable: mismatch: (colW.length != data.length) Therefore, defaulting to evenly distributed col widths."),B.colW=null}else if(B.w)B.w=H0(B.w,"X",J);else B.w=Math.floor(J._sizeW/L0-U[1]-U[3]);if(B.x&&B.x<20)B.x=v0(B.x);if(B.y&&B.y<20)B.y=v0(B.y);if(B.w&&typeof B.w==="number"&&B.w<20)B.w=v0(B.w);if(B.h&&typeof B.h==="number"&&B.h<20)B.h=v0(B.h);V.forEach((F)=>{F.forEach((M,k)=>{if(typeof M==="number"||typeof M==="string")F[k]={_type:D0.tablecell,text:String(F[k]),options:B};else if(typeof M==="object"){if(typeof M.text==="number")F[k].text=F[k].text.toString();else if(typeof M.text>"u"||M.text===null)F[k].text="";F[k].options=M.options||{},F[k]._type=D0.tablecell}})});let w=[];if(B&&!B.autoPage)g6($,V),$._slideObjects.push({_type:D0.table,arrTabRows:V,options:Object.assign({},B)});else{if(B.autoPageRepeatHeader)B._arrObjTabHeadRows=V.filter((F,M)=>M{if(!G($._slideNum+M))W.push(Z({masterName:(K===null||K===void 0?void 0:K._name)||null}));if(M>0)B.y=v0(B.autoPageSlideStartY||B.newSlideStartY||U[0]);{let k=G($._slideNum+M);if(B.autoPage=!1,g6(k,F.rows),k.addTable(F.rows,Object.assign({},B)),M>0)w.push(k)}})}return w}function L5($,q,Q,K){let J={_type:K?D0.placeholder:D0.text,shape:(Q===null||Q===void 0?void 0:Q.shape)||B1.RECTANGLE,text:!q||q.length===0?[{text:"",options:null}]:q,options:Q||{}};function Z(G){{if(!G.placeholder)G.color=G.color||J.options.color||$.color||Q2;if(G.placeholder||K)G.bullet=G.bullet||!1;if(G.placeholder&&$._slideLayout&&$._slideLayout._slideObjects){let W=$._slideLayout._slideObjects.filter((B)=>B._type==="placeholder"&&B.options&&B.options.placeholder&&B.options.placeholder===G.placeholder)[0];if(W===null||W===void 0?void 0:W.options)G=Object.assign(Object.assign({},G),W.options)}if(G.objectName=G.objectName?k0(G.objectName):`Text ${$._slideObjects.filter((W)=>W._type===D0.text).length}`,G.shape===B1.LINE){let W={type:G.line.type||"solid",color:G.line.color||VJ,transparency:G.line.transparency||0,width:G.line.width||1,dashType:G.line.dashType||"solid",beginArrowType:G.line.beginArrowType||null,endArrowType:G.line.endArrowType||null};if(typeof G.line==="object")G.line=W;if(typeof G.line==="string"){let B=W;if(typeof G.line==="string")B.color=G.line;G.line=B}if(typeof G.lineSize==="number")G.line.width=G.lineSize;if(typeof G.lineDash==="string")G.line.dashType=G.lineDash;if(typeof G.lineHead==="string")G.line.beginArrowType=G.lineHead;if(typeof G.lineTail==="string")G.line.endArrowType=G.lineTail}if(G.line=G.line||{},G.lineSpacing=G.lineSpacing&&!isNaN(G.lineSpacing)?G.lineSpacing:null,G.lineSpacingMultiple=G.lineSpacingMultiple&&!isNaN(G.lineSpacingMultiple)?G.lineSpacingMultiple:null,G._bodyProp=G._bodyProp||{},G._bodyProp.autoFit=G.autoFit||!1,G._bodyProp.anchor=!G.placeholder?I6.ctr:null,G._bodyProp.vert=G.vert||null,G._bodyProp.wrap=typeof G.wrap==="boolean"?G.wrap:!0,G.inset&&!isNaN(Number(G.inset))||G.inset===0)G._bodyProp.lIns=v0(G.inset),G._bodyProp.rIns=v0(G.inset),G._bodyProp.tIns=v0(G.inset),G._bodyProp.bIns=v0(G.inset);if(typeof G.underline==="boolean"&&G.underline===!0)G.underline={style:"sng"}}{if((G.align||"").toLowerCase().indexOf("c")===0)G._bodyProp.align=R6.center;else if((G.align||"").toLowerCase().indexOf("l")===0)G._bodyProp.align=R6.left;else if((G.align||"").toLowerCase().indexOf("r")===0)G._bodyProp.align=R6.right;else if((G.align||"").toLowerCase().indexOf("j")===0)G._bodyProp.align=R6.justify;if((G.valign||"").toLowerCase().indexOf("b")===0)G._bodyProp.anchor=I6.b;else if((G.valign||"").toLowerCase().indexOf("m")===0)G._bodyProp.anchor=I6.ctr;else if((G.valign||"").toLowerCase().indexOf("t")===0)G._bodyProp.anchor=I6.t}return c7(G.shadow),G}J.options=Z(J.options),J.text.forEach((G)=>G.options=Z(G.options||{})),g6($,J.text||""),$._slideObjects.push(J)}function uB($){($._slideLayout._slideObjects||[]).forEach((q)=>{if(q._type===D0.placeholder){if($._slideObjects.filter((Q)=>Q.options&&Q.options.placeholder===q.options.placeholder).length===0)L5($,[{text:""}],q.options,!1)}})}function zJ($,q){var Q;if(q.bkgd){if(!q.background)q.background={};if(typeof q.bkgd==="string")q.background.color=q.bkgd;else{if(q.bkgd.data)q.background.data=q.bkgd.data;if(q.bkgd.path)q.background.path=q.bkgd.path;if(q.bkgd.src)q.background.path=q.bkgd.src}}if((Q=q.background)===null||Q===void 0?void 0:Q.fill)q.background.color=q.background.fill;if($&&($.path||$.data)){$.path=$.path||"preencoded.png";let K=($.path.split(".").pop()||"png").split("?")[0];if(K==="jpg")K="jpeg";q._relsMedia=q._relsMedia||[];let J=q._relsMedia.length+1;q._relsMedia.push({path:$.path,type:D0.image,extn:K,data:$.data||null,rId:J,Target:`../media/${(q._name||"").replace(/\s+/gi,"-")}-image-${q._relsMedia.length+1}.${K}`}),q._bkgdImgRid=J}}function g6($,q,Q){let K=[];if(typeof q==="string"||typeof q==="number")return;else if(Array.isArray(q))K=q;else if(typeof q==="object")K=[q];K.forEach((J,Z)=>{if(Q&&Q[Z]&&Q[Z].hyperlink)J.options=Object.assign(Object.assign({},J.options),Q[Z]);if(Array.isArray(J)){let G=[];J.forEach((W)=>{if(W.options&&!W.text.options)G.push(W.options)}),g6($,J,G)}else if(Array.isArray(J.text))g6($,J.text,Q&&Q[Z]?[Q[Z]]:void 0);else if(J&&typeof J==="object"&&J.options&&J.options.hyperlink&&!J.options.hyperlink._rId)if(typeof J.options.hyperlink!=="object")console.log("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink: {url:'https://github.com'}` ");else if(!J.options.hyperlink.url&&!J.options.hyperlink.slide)console.log("ERROR: 'hyperlink requires either: `url` or `slide`'");else{let G=a2($);$._rels.push({type:D0.hyperlink,data:J.options.hyperlink.slide?"slide":"dummy",rId:G,Target:k0(J.options.hyperlink.url)||J.options.hyperlink.slide.toString()}),J.options.hyperlink._rId=G}else if(J&&typeof J==="object"&&J.options&&J.options.hyperlink&&J.options.hyperlink._rId){if($._rels.filter((G)=>G.rId===J.options.hyperlink._rId).length===0)$._rels.push({type:D0.hyperlink,data:J.options.hyperlink.slide?"slide":"dummy",rId:J.options.hyperlink._rId,Target:k0(J.options.hyperlink.url)||J.options.hyperlink.slide.toString()})}})}class FJ{constructor($){var q;this.addSlide=$.addSlide,this.getSlide=$.getSlide,this._name=`Slide ${$.slideNumber}`,this._presLayout=$.presLayout,this._rId=$.slideRId,this._rels=[],this._relsChart=[],this._relsMedia=[],this._setSlideNum=$.setSlideNum,this._slideId=$.slideId,this._slideLayout=$.slideLayout||null,this._slideNum=$.slideNumber,this._slideObjects=[],this._slideNumberProps=((q=this._slideLayout)===null||q===void 0?void 0:q._slideNumberProps)?this._slideLayout._slideNumberProps:null}set bkgd($){if(this._bkgd=$,!this._background||!this._background.color){if(!this._background)this._background={};if(typeof $==="string")this._background.color=$}}get bkgd(){return this._bkgd}set background($){if(this._background=$,$)zJ($,this)}get background(){return this._background}set color($){this._color=$}get color(){return this._color}set hidden($){this._hidden=$}get hidden(){return this._hidden}set slideNumber($){this._slideNumberProps=$,this._setSlideNum($)}get slideNumber(){return this._slideNumberProps}get newAutoPagedSlides(){return this._newAutoPagedSlides}addChart($,q,Q){let K=Q||{};return K._type=$,WJ(this,$,q,Q),this}addImage($){return BJ(this,$),this}addMedia($){return OB(this,$),this}addNotes($){return PB(this,$),this}addShape($,q){return E7(this,$,q),this}addTable($,q){return this._newAutoPagedSlides=TB(this,$,q,this._slideLayout,this._presLayout,this.addSlide,this.getSlide),this}addText($,q){return L5(this,typeof $==="string"||typeof $==="number"?[{text:$,options:q}]:$,q,!1),this}}function SB($,q){return W2(this,void 0,void 0,function*(){let Q=$.data;return yield new Promise((K,J)=>{var Z,G;let W=new _7.default,B=(Q.length-1)*2+1,V=((G=(Z=Q[0])===null||Z===void 0?void 0:Z.labels)===null||G===void 0?void 0:G.length)>1;W.folder("_rels"),W.folder("docProps"),W.folder("xl/_rels"),W.folder("xl/tables"),W.folder("xl/theme"),W.folder("xl/worksheets"),W.folder("xl/worksheets/_rels"),W.file("[Content_Types].xml",' \n'),W.file("_rels/.rels",` `),W.file("docProps/app.xml",`Microsoft Macintosh Excel0falseWorksheets1Sheet1falsefalsefalse16.0300 `),W.file("docProps/core.xml",'PptxGenJSPptxGenJS'+new Date().toISOString()+''+new Date().toISOString()+""),W.file("xl/_rels/workbook.xml.rels",''),W.file("xl/styles.xml",'\n'),W.file("xl/theme/theme1.xml",''),W.file("xl/workbook.xml",` `),W.file("xl/worksheets/_rels/sheet1.xml.rels",` `);{let U='';if($.opts._type===q0.BUBBLE||$.opts._type===q0.BUBBLE3D)U+=``;else if($.opts._type===q0.SCATTER)U+=``;else if(V){let w=Q.length;Q[0].labels.forEach((F)=>w+=F.filter((M)=>M&&M!=="").length),U+=``,U+=""}else{let w=Q.length+Q[0].labels.length*Q[0].labels[0].length+Q[0].labels.length,F=Q.length+Q[0].labels.length*Q[0].labels[0].length+1;U+=``,U+=''}if($.opts._type===q0.BUBBLE||$.opts._type===q0.BUBBLE3D)Q.forEach((w,F)=>{if(F===0)U+="X-Axis";else U+=`${k0(w.name||`Y-Axis${F}`)}`,U+=`${k0(`Size${F}`)}`});else Q.forEach((w)=>{U+=`${k0((w.name||" ").replace("X-Axis","X-Values"))}`});if($.opts._type!==q0.BUBBLE&&$.opts._type!==q0.BUBBLE3D&&$.opts._type!==q0.SCATTER)Q[0].labels.slice().reverse().forEach((w)=>{w.filter((F)=>F&&F!=="").forEach((F)=>{U+=`${k0(F)}`})});U+=` `,W.file("xl/sharedStrings.xml",U)}{let U='';if($.opts._type===q0.BUBBLE||$.opts._type===q0.BUBBLE3D){U+=``,U+=``;let w=1;Q.forEach((F,M)=>{if(M===0)U+=``;else U+=``,w++,U+=``})}else if($.opts._type===q0.SCATTER)U+=`
`,U+=``,Q.forEach((w,F)=>{U+=``});else U+=`
`,U+=``,Q[0].labels.forEach((w,F)=>{U+=``}),Q.forEach((w,F)=>{U+=``});U+="",U+='',U+="
",W.file("xl/tables/table1.xml",U)}{let U='';if(U+='',$.opts._type===q0.BUBBLE||$.opts._type===q0.BUBBLE3D)U+=``;else if($.opts._type===q0.SCATTER)U+=``;else U+=``;if(U+='',U+='',$.opts._type===q0.BUBBLE||$.opts._type===q0.BUBBLE3D){U+="",U+=``,U+='0';for(let w=1;w${w}`;U+="",Q[0].values.forEach((w,F)=>{U+=``,U+=`${w}`;let M=2;for(let k=1;k${Q[k].values[F]||""}`,M++,U+=`${Q[k].sizes[F]||""}`,M++;U+=""})}else if($.opts._type===q0.SCATTER){U+="",U+=``;for(let w=0;w${w}`;U+="",Q[0].values.forEach((w,F)=>{U+=``,U+=`${w}`;for(let M=1;M${Q[M].values[F]||Q[M].values[F]===0?Q[M].values[F]:""}`;U+=""})}else if(U+="",!V){U+=``,Q[0].labels.forEach((w,F)=>{U+=`0`});for(let w=0;w${w+1}`;U+="",Q[0].labels[0].forEach((w,F)=>{U+=``;for(let M=Q[0].labels.length-1;M>=0;M--)U+=``,U+=`${Q.length+F+1}`,U+="";for(let M=0;M${Q[M].values[F]||""}`;U+=""})}else{U+=``;for(let k=0;k0`;for(let k=Q[0].labels.length-1;k${k}`;U+="";let w=Q.length,F=Q[0].labels[0].length,M=Q[0].labels.length;for(let k=0;k`;let f=w,L=Q[0].labels.slice().reverse();L.forEach((D,z)=>{if(D[k]){let H=z===0?1:L[z-1].filter((v)=>v&&v!=="").length;f+=H,U+=`${f}`}});for(let D=0;D${Q[D].values[k]||0}`;U+=""}}U+="",U+='',U+=` -`,W.file("xl/worksheets/sheet1.xml",U)}W.generateAsync({type:"base64"}).then((U)=>{q.file(`ppt/embeddings/Microsoft_Excel_Worksheet${$.globalId}.xlsx`,U,{base64:!0}),q.file("ppt/charts/_rels/"+$.fileName+".rels",``),q.file(`ppt/charts/${$.fileName}`,gB($)),K("")}).catch((U)=>{J(U)})})})}function gB($){var q,Q,K,J;let Z='',G=!1;{if(Z+='',Z+='',Z+=``,Z+="",$.opts.showTitle)Z+=H5({title:$.opts.title||"Chart Title",color:$.opts.titleColor,fontFace:$.opts.titleFontFace,fontSize:$.opts.titleFontSize||MB,titleAlign:$.opts.titleAlign,titleBold:$.opts.titleBold,titlePos:$.opts.titlePos,titleRotate:$.opts.titleRotate},$.opts.x,$.opts.y),Z+='';else Z+='';if($.opts._type===q0.BAR3D)Z+=``;if(Z+="",$.opts.layout)Z+="",Z+=" ",Z+=' ',Z+=' ',Z+=' ',Z+=' ',Z+=' ',Z+=' ',Z+=' ',Z+=" ",Z+="";else Z+=""}if(Array.isArray($.opts._type))$.opts._type.forEach((W)=>{let B=Object.assign(Object.assign({},$.opts),W.options),V=B.secondaryValAxis?N5:o2,U=B.secondaryCatAxis?x7:B8;G=G||B.secondaryValAxis,Z+=eK(W.type,W.data,B,V,U)});else Z+=eK($.opts._type,$.data,$.opts,o2,B8);if($.opts._type!==q0.PIE&&$.opts._type!==q0.DOUGHNUT){if($.opts.valAxes&&$.opts.valAxes.length>1&&!G)throw Error("Secondary axis must be used by one of the multiple charts");if($.opts.catAxes){if(!$.opts.valAxes||$.opts.valAxes.length!==$.opts.catAxes.length)throw Error("There must be the same number of value and category axes.");Z+=A7(Object.assign(Object.assign({},$.opts),$.opts.catAxes[0]),B8,o2)}else Z+=A7($.opts,B8,o2);if($.opts.valAxes){if(Z+=X7(Object.assign(Object.assign({},$.opts),$.opts.valAxes[0]),o2),$.opts.valAxes[1])Z+=X7(Object.assign(Object.assign({},$.opts),$.opts.valAxes[1]),N5)}else if(Z+=X7($.opts,o2),$.opts._type===q0.BAR3D)Z+=AB($.opts,VJ,o2);if(((q=$.opts)===null||q===void 0?void 0:q.catAxes)&&((Q=$.opts)===null||Q===void 0?void 0:Q.catAxes[1]))Z+=A7(Object.assign(Object.assign({},$.opts),$.opts.catAxes[1]),x7,N5)}{if($.opts.showDataTable)Z+="",Z+=` `,Z+=` `,Z+=` `,Z+=` `,Z+=" ",Z+=" ",Z+=' ',Z+=" ",Z+=" ",Z+=" ",Z+=' ',Z+=" ",Z+=" ",Z+=' ',Z+=` `,Z+=' ',Z+=' ',Z+=' ',Z+=' ',Z+=" ",Z+=" ",Z+=' ',Z+=" ",Z+=" ",Z+="";if(Z+=" ",Z+=((K=$.opts.plotArea.fill)===null||K===void 0?void 0:K.color)?B2($.opts.plotArea.fill):"",Z+=$.opts.plotArea.border?`${B2($.opts.plotArea.border.color)}`:"",Z+=" ",Z+=" ",Z+="",$.opts.showLegend){if(Z+="",Z+='',Z+='',$.opts.legendFontFace||$.opts.legendFontSize||$.opts.legendColor){if(Z+="",Z+=" ",Z+=" ",Z+=" ",Z+=" ",Z+=$.opts.legendFontSize?``:"",$.opts.legendColor)Z+=B2($.opts.legendColor);if($.opts.legendFontFace)Z+='';if($.opts.legendFontFace)Z+='';Z+=" ",Z+=" ",Z+=' ',Z+=" ",Z+=""}Z+=""}}if(Z+=' ',Z+=' ',$.opts._type===q0.SCATTER)Z+='';return Z+="",Z+="",Z+=((J=$.opts.chartArea.fill)===null||J===void 0?void 0:J.color)?B2($.opts.chartArea.fill):"",Z+=$.opts.chartArea.border?`${B2($.opts.chartArea.border.color)}`:"",Z+=" ",Z+="",Z+='',Z+="",Z}function eK($,q,Q,K,J,Z){let G=-1,W=1,B=null,V="";switch($){case q0.AREA:case q0.BAR:case q0.BAR3D:case q0.LINE:case q0.RADAR:if(V+=``,$===q0.AREA&&Q.barGrouping==="stacked")V+='';if($===q0.BAR||$===q0.BAR3D)V+='',V+='';if($===q0.RADAR)V+='';V+='',q.forEach((U)=>{var w;G++,V+="",V+=` `,V+=" ",V+=" ",V+=" Sheet1!$"+j0(U._dataIndex+U.labels.length+1)+"$1",V+=' '+k0(U.name)+"",V+=" ",V+=" ";let F=Q.chartColors?Q.chartColors[G%Q.chartColors.length]:null;if(V+=" ",F==="transparent")V+="";else if(Q.chartColorsOpacity)V+=""+R0(F,``)+"";else V+=""+R0(F)+"";if($===q0.LINE||$===q0.RADAR)if(Q.lineSize===0)V+="";else V+=`${R0(F)}`,V+='';else if(Q.dataBorder)V+=`${R0(Q.dataBorder.color)}`;if(V+=T1(Q.shadow,P1),V+=" ",V+=' ',$!==q0.RADAR){if(V+="",V+=``,Q.dataLabelBkgrdColors)V+=`${R0(F)}`;if(V+="",V+=``,V+=`${R0(Q.dataLabelColor||Q2)}`,V+=``,V+="",Q.dataLabelPosition)V+=``;V+='',V+=``,V+=``,V+=``,V+=""}if($===q0.LINE||$===q0.RADAR){if(V+="",V+=' ',Q.lineDataSymbolSize)V+=``;V+=" ",V+=` ${R0(Q.chartColors[U._dataIndex+1>Q.chartColors.length?Math.floor(Math.random()*Q.chartColors.length):U._dataIndex])}`,V+=` ${R0(Q.lineDataSymbolLineColor||F)}`,V+=" ",V+=" ",V+=""}if(($===q0.BAR||$===q0.BAR3D)&&q.length===1&&(Q.chartColors&&Q.chartColors!==z8&&Q.chartColors.length>1||((w=Q.invertedColors)===null||w===void 0?void 0:w.length)))U.values.forEach((M,k)=>{let f=M<0?Q.invertedColors||Q.chartColors||z8:Q.chartColors||[];if(V+=" ",V+=` `,V+=' ',V+=' ',V+=" ",Q.lineSize===0)V+="";else if($===q0.BAR)V+="",V+=' ',V+="";else V+="",V+=" ",V+=' ',V+=" ",V+="";V+=T1(Q.shadow,P1),V+=" ",V+=" "});{if(V+="",Q.catLabelFormatCode)V+=" ",V+=` Sheet1!$A$2:$A$${U.labels[0].length+1}`,V+=" ",V+=" "+(Q.catLabelFormatCode||"General")+"",V+=` `,U.labels[0].forEach((M,k)=>V+=`${k0(M)}`),V+=" ",V+=" ";else V+=" ",V+=` Sheet1!$A$2:$${j0(U.labels.length)}$${U.labels[0].length+1}`,V+=" ",V+=` `,U.labels.forEach((M)=>{V+="",M.forEach((k,f)=>V+=`${k0(k)}`),V+=""}),V+=" ",V+=" ";V+=""}if(V+="",V+=" ",V+=`Sheet1!$${j0(U._dataIndex+U.labels.length+1)}$2:$${j0(U._dataIndex+U.labels.length+1)}$${U.labels[0].length+1}`,V+=" ",V+=" "+(Q.valLabelFormatCode||Q.dataTableFormatCode||"General")+"",V+=` `,U.values.forEach((M,k)=>V+=`${M||M===0?M:""}`),V+=" ",V+=" ",V+="",$===q0.LINE)V+='';V+=""});{if(V+=" ",V+=` `,V+=" ",V+=" ",V+=" ",V+=" ",V+=` `,V+=" "+R0(Q.dataLabelColor||Q2)+"",V+=' ',V+=" ",V+=" ",V+=" ",Q.dataLabelPosition)V+=' ';V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=` `,V+=" "}if($===q0.BAR)V+=` `,V+=` `;else if($===q0.BAR3D)V+=` `,V+=` `,V+=' ';else if($===q0.LINE)V+=' ';V+=``,V+=``;break;case q0.SCATTER:V+="",V+='',V+='',G=-1,q.filter((U,w)=>w>0).forEach((U,w)=>{G++,V+="",V+=` `,V+=` `,V+=" ",V+=" ",V+=` Sheet1!$${j0(w+2)}$1`,V+=' '+k0(U.name)+"",V+=" ",V+=" ",V+=" ";{let F=Q.chartColors[G%Q.chartColors.length];if(F==="transparent")V+="";else if(Q.chartColorsOpacity)V+=""+R0(F,'')+"";else V+=""+R0(F)+"";if(Q.lineSize===0)V+="";else V+=`${R0(F)}`,V+=``;V+=T1(Q.shadow,P1)}V+=" ";{if(V+="",V+=' ',Q.lineDataSymbolSize)V+=``;V+="",V+=`${R0(Q.chartColors[w+1>Q.chartColors.length?Math.floor(Math.random()*Q.chartColors.length):w])}`,V+=`${R0(Q.lineDataSymbolLineColor||Q.chartColors[G%Q.chartColors.length])}`,V+="",V+="",V+=""}if(Q.showLabel){let F=Y5("-xxxx-xxxx-xxxx-xxxxxxxxxxxx");if(U.labels[0]&&(Q.dataLabelFormatScatter==="custom"||Q.dataLabelFormatScatter==="customXY"))V+="",U.labels[0].forEach((M,k)=>{if(Q.dataLabelFormatScatter==="custom"||Q.dataLabelFormatScatter==="customXY"){if(V+=" ",V+=` `,V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=' ',V+=" "+k0(M)+"",V+=" ",Q.dataLabelFormatScatter==="customXY"&&!/^ *$/.test(M))V+=" ",V+=' ',V+=" (",V+=" ",V+=' ',V+=' ',V+=" ",V+=" ",V+=" ",V+=" ["+k0(U.name)+"",V+=" ",V+=" ",V+=' ',V+=" , ",V+=" ",V+=' ',V+=' ',V+=" ",V+=" ",V+=" ",V+=" ["+k0(U.name)+"]",V+=" ",V+=" ",V+=' ',V+=" )",V+=" ",V+=' ';if(V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",Q.dataLabelPosition)V+=' ';V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=" ",V+=' ',V+=' ',V+=` `,V+=" ",V+=" ",V+=""}}),V+="";if(Q.dataLabelFormatScatter==="XY"){if(V+="",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=' ',V+=" ",V+=" ",Q.dataLabelPosition)V+=' ';V+=' ',V+=` `,V+=` `,V+=` `,V+=' ',V+=' ',V+=" ",V+=' ',V+=' ',V+=" ",V+=" ",V+=""}}if(q.length===1&&Q.chartColors!==z8)U.values.forEach((F,M)=>{let k=F<0?Q.invertedColors||Q.chartColors||z8:Q.chartColors||[];if(V+=" ",V+=` `,V+=' ',V+=' ',V+=" ",Q.lineSize===0)V+="";else V+="",V+=' ',V+="";V+=T1(Q.shadow,P1),V+=" ",V+=" "});V+="",V+=" ",V+=` Sheet1!$A$2:$A$${q[0].values.length+1}`,V+=" ",V+=" General",V+=` `,q[0].values.forEach((F,M)=>{V+=`${F||F===0?F:""}`}),V+=" ",V+=" ",V+="",V+="",V+=" ",V+=` Sheet1!$${j0(w+2)}$2:$${j0(w+2)}$${q[0].values.length+1}`,V+=" ",V+=" General",V+=` `,q[0].values.forEach((F,M)=>{V+=`${U.values[M]||U.values[M]===0?U.values[M]:""}`}),V+=" ",V+=" ",V+="",V+='',V+=""});{if(V+=" ",V+=` `,V+=" ",V+=" ",V+=" ",V+=" ",V+=` `,V+=" "+R0(Q.dataLabelColor||Q2)+"",V+=' ',V+=" ",V+=" ",V+=" ",Q.dataLabelPosition)V+=' ';V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=" "}V+=``,V+="";break;case q0.BUBBLE:case q0.BUBBLE3D:V+="",V+='',G=-1,q.filter((U,w)=>w>0).forEach((U,w)=>{G++,V+="",V+=` `,V+=` `,V+=" ",V+=" ",V+=" Sheet1!$"+j0(W+1)+"$1",V+=' '+k0(U.name)+"",V+=" ",V+=" ";{V+="";let F=Q.chartColors[G%Q.chartColors.length];if(F==="transparent")V+="";else if(Q.chartColorsOpacity)V+=`${R0(F,'')}`;else V+=""+R0(F)+"";if(Q.lineSize===0)V+="";else if(Q.dataBorder)V+=`${R0(Q.dataBorder.color)}`;else V+=`${R0(F)}`,V+=``;V+=T1(Q.shadow,P1),V+=""}V+="",V+=" ",V+=` Sheet1!$A$2:$A$${q[0].values.length+1}`,V+=" ",V+=" General",V+=` `,q[0].values.forEach((F,M)=>{V+=`${F||F===0?F:""}`}),V+=" ",V+=" ",V+="",V+="",V+=" ",V+=`Sheet1!$${j0(W+1)}$2:$${j0(W+1)}$${q[0].values.length+1}`,W++,V+=" ",V+=" General",V+=` `,q[0].values.forEach((F,M)=>{V+=`${U.values[M]||U.values[M]===0?U.values[M]:""}`}),V+=" ",V+=" ",V+="",V+=" ",V+=" ",V+=`Sheet1!$${j0(W+1)}$2:$${j0(W+1)}$${U.sizes.length+1}`,W++,V+=" ",V+=" General",V+=` `,U.sizes.forEach((F,M)=>{V+=`${F||""}`}),V+=" ",V+=" ",V+=" ",V+=' ',V+=""});{if(V+="",V+=``,V+="",V+=``,V+=`${R0(Q.dataLabelColor||Q2)}`,V+=``,V+="",Q.dataLabelPosition)V+=``;V+='',V+=``,V+=``,V+="",V+=' ',V+=' ',V+=" ",V+="",V+=""}V+=``,V+="";break;case q0.DOUGHNUT:case q0.PIE:if(B=q[0],V+="",V+=' ',V+="",V+=' ',V+=' ',V+=" ",V+=" ",V+=" Sheet1!$B$1",V+=" ",V+=' ',V+=' '+k0(B.name)+"",V+=" ",V+=" ",V+=" ",V+=" ",V+=' ',V+=' ',Q.dataNoEffects)V+="";else V+=T1(Q.shadow,P1);if(V+=" ",B.labels[0].forEach((U,w)=>{if(V+="",V+=` `,V+=' ',V+=" ",V+=`${R0(Q.chartColors[w+1>Q.chartColors.length?Math.floor(Math.random()*Q.chartColors.length):w])}`,Q.dataBorder)V+=`${R0(Q.dataBorder.color)}`;V+=T1(Q.shadow,P1),V+=" ",V+=""}),V+="",B.labels[0].forEach((U,w)=>{if(V+="",V+=` `,V+=` `,V+=" ",V+=" ",V+=" ",V+=` `,V+=" "+R0(Q.dataLabelColor||Q2)+"",V+=` `,V+=" ",V+=" ",V+=" ",$===q0.PIE&&Q.dataLabelPosition)V+=``;V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=" "}),V+=` `,V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=` `,V+=' ',V+=" ",V+=" ",V+=" ",V+=" ",V+=$===q0.PIE?'':"",V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=` `,V+="",V+="",V+=" ",V+=` Sheet1!$A$2:$A$${B.labels[0].length+1}`,V+=" ",V+=` `,B.labels[0].forEach((U,w)=>{V+=`${k0(U)}`}),V+=" ",V+=" ",V+="",V+=" ",V+=" ",V+=` Sheet1!$B$2:$B$${B.labels[0].length+1}`,V+=" ",V+=` `,B.values.forEach((U,w)=>{V+=`${U||U===0?U:""}`}),V+=" ",V+=" ",V+=" ",V+=" ",V+=` `,$===q0.DOUGHNUT)V+=``;V+="";break;default:V+="";break}return V}function A7($,q,Q){let K="";if($._type===q0.SCATTER||$._type===q0.BUBBLE||$._type===q0.BUBBLE3D)K+="";else K+="";if(K+=' ',K+=" ",K+='',$.catAxisMaxVal||$.catAxisMaxVal===0)K+=``;if($.catAxisMinVal||$.catAxisMinVal===0)K+=``;if(K+="",K+=' ',K+=' ',K+=$.catGridLine.style!=="none"?b7($.catGridLine):"",$.showCatAxisTitle)K+=H5({color:$.catAxisTitleColor,fontFace:$.catAxisTitleFontFace,fontSize:$.catAxisTitleFontSize,titleRotate:$.catAxisTitleRotate,title:$.catAxisTitle||"Axis Title"});if($._type===q0.SCATTER||$._type===q0.BUBBLE||$._type===q0.BUBBLE3D)K+=' ';else K+=' ';if($._type===q0.SCATTER)K+=' ',K+=' ',K+=' ';else K+=' ',K+=' ',K+=' ';if(K+=" ",K+=` `,K+=!$.catAxisLineShow?"":""+R0($.catAxisLineColor||u1.color)+"",K+=' ',K+=" ",K+=" ",K+=" ",K+=" ",$.catAxisLabelRotate)K+=``;else K+="";if(K+=" ",K+=" ",K+=" ",K+=` `,K+=" "+R0($.catAxisLabelColor||Q2)+"",K+=' ',K+=" ",K+=" ",K+=' ',K+=" ",K+=" ",K+=' ',K+=` `,K+=' ',K+=' ',K+=` `,$.catAxisLabelFrequency)K+=' ';if($.catLabelFormatCode||$._type===q0.SCATTER||$._type===q0.BUBBLE||$._type===q0.BUBBLE3D){if($.catLabelFormatCode){if(["catAxisBaseTimeUnit","catAxisMajorTimeUnit","catAxisMinorTimeUnit"].forEach((J)=>{if($[J]&&(typeof $[J]!=="string"||!["days","months","years"].includes($[J].toLowerCase())))console.warn(`"${J}" must be one of: 'days','months','years' !`),$[J]=null}),$.catAxisBaseTimeUnit)K+='';if($.catAxisMajorTimeUnit)K+='';if($.catAxisMinorTimeUnit)K+=''}if($.catAxisMajorUnit)K+=``;if($.catAxisMinorUnit)K+=``}if($._type===q0.SCATTER||$._type===q0.BUBBLE||$._type===q0.BUBBLE3D)K+="";else K+="";return K}function X7($,q){let Q=q===o2?$.barDir==="col"?"l":"b":$.barDir!=="col"?"r":"t";if(q===N5)Q="r";let K=q===o2?B8:x7,J="";if(J+="",J+=' ',J+=" ",$.valAxisLogScaleBase)J+=``;if(J+='',$.valAxisMaxVal||$.valAxisMaxVal===0)J+=``;if($.valAxisMinVal||$.valAxisMinVal===0)J+=``;if(J+=" ",J+=` `,J+=' ',$.valGridLine.style!=="none")J+=b7($.valGridLine);if($.showValAxisTitle)J+=H5({color:$.valAxisTitleColor,fontFace:$.valAxisTitleFontFace,fontSize:$.valAxisTitleFontSize,titleRotate:$.valAxisTitleRotate,title:$.valAxisTitle||"Axis Title"});if(J+=``,$._type===q0.SCATTER)J+=' ',J+=' ',J+=' ';else J+=' ',J+=' ',J+=' ';if(J+=" ",J+=` `,J+=!$.valAxisLineShow?"":""+R0($.valAxisLineColor||u1.color)+"",J+=' ',J+=" ",J+=" ",J+=" ",J+=" ",J+=` `,J+=" ",J+=" ",J+=" ",J+=` `,J+=" "+R0($.valAxisLabelColor||Q2)+"",J+=' ',J+=" ",J+=" ",J+=' ',J+=" ",J+=" ",J+=' ',typeof $.catAxisCrossesAt==="number")J+=` `;else if(typeof $.catAxisCrossesAt==="string")J+=' ';else J+=' ';if(J+=' ',$.valAxisMajorUnit)J+=` `;if($.valAxisDisplayUnit)J+=`${$.valAxisDisplayUnitLabel?"":""}`;return J+="",J}function AB($,q,Q){let K="";if(K+="",K+=' ',K+=' ',K+=' ',K+=' ',K+=$.serGridLine.style!=="none"?b7($.serGridLine):"",$.showSerAxisTitle)K+=H5({color:$.serAxisTitleColor,fontFace:$.serAxisTitleFontFace,fontSize:$.serAxisTitleFontSize,titleRotate:$.serAxisTitleRotate,title:$.serAxisTitle||"Axis Title"});if(K+=` `,K+=' ',K+=' ',K+=` `,K+=" ",K+=' ',K+=!$.serAxisLineShow?"":`${R0($.serAxisLineColor||u1.color)}`,K+=' ',K+=" ",K+=" ",K+=" ",K+=" ",K+=" ",K+=" ",K+=" ",K+=" ",K+=` `,K+=` ${R0($.serAxisLabelColor||Q2)}`,K+=` `,K+=" ",K+=" ",K+=' ',K+=" ",K+=" ",K+=' ',K+=' ',$.serAxisLabelFrequency)K+=' ';if($.serLabelFormatCode){if(["serAxisBaseTimeUnit","serAxisMajorTimeUnit","serAxisMinorTimeUnit"].forEach((J)=>{if($[J]&&(typeof $[J]!=="string"||!["days","months","years"].includes(J.toLowerCase())))console.warn(`"${J}" must be one of: 'days','months','years' !`),$[J]=null}),$.serAxisBaseTimeUnit)K+=` `;if($.serAxisMajorTimeUnit)K+=` `;if($.serAxisMinorTimeUnit)K+=` `;if($.serAxisMajorUnit)K+=` `;if($.serAxisMinorUnit)K+=` `}return K+="",K}function H5($,q,Q){let K=$.titleAlign==="left"||$.titleAlign==="right"?``:"",J=$.titleRotate?``:"",Z=$.fontSize?`sz="${Math.round($.fontSize*100)}"`:"",G=$.titleBold?1:0,W="";if($.titlePos&&typeof $.titlePos.x==="number"&&typeof $.titlePos.y==="number"){let B=$.titlePos.x+q,V=$.titlePos.y+Q,U=B===0?0:B*(B/5)/10;if(U>=1)U=U/10;if(U>=0.1)U=U/10;let w=V===0?0:V*(V/5)/10;if(w>=1)w=w/10;if(w>=0.1)w=w/10;W=``}return` +`,W.file("xl/worksheets/sheet1.xml",U)}W.generateAsync({type:"base64"}).then((U)=>{q.file(`ppt/embeddings/Microsoft_Excel_Worksheet${$.globalId}.xlsx`,U,{base64:!0}),q.file("ppt/charts/_rels/"+$.fileName+".rels",``),q.file(`ppt/charts/${$.fileName}`,EB($)),K("")}).catch((U)=>{J(U)})})})}function EB($){var q,Q,K,J;let Z='',G=!1;{if(Z+='',Z+='',Z+=``,Z+="",$.opts.showTitle)Z+=H5({title:$.opts.title||"Chart Title",color:$.opts.titleColor,fontFace:$.opts.titleFontFace,fontSize:$.opts.titleFontSize||IB,titleAlign:$.opts.titleAlign,titleBold:$.opts.titleBold,titlePos:$.opts.titlePos,titleRotate:$.opts.titleRotate},$.opts.x,$.opts.y),Z+='';else Z+='';if($.opts._type===q0.BAR3D)Z+=``;if(Z+="",$.opts.layout)Z+="",Z+=" ",Z+=' ',Z+=' ',Z+=' ',Z+=' ',Z+=' ',Z+=' ',Z+=' ',Z+=" ",Z+="";else Z+=""}if(Array.isArray($.opts._type))$.opts._type.forEach((W)=>{let B=Object.assign(Object.assign({},$.opts),W.options),V=B.secondaryValAxis?N5:o2,U=B.secondaryCatAxis?x7:B8;G=G||B.secondaryValAxis,Z+=$J(W.type,W.data,B,V,U)});else Z+=$J($.opts._type,$.data,$.opts,o2,B8);if($.opts._type!==q0.PIE&&$.opts._type!==q0.DOUGHNUT){if($.opts.valAxes&&$.opts.valAxes.length>1&&!G)throw Error("Secondary axis must be used by one of the multiple charts");if($.opts.catAxes){if(!$.opts.valAxes||$.opts.valAxes.length!==$.opts.catAxes.length)throw Error("There must be the same number of value and category axes.");Z+=A7(Object.assign(Object.assign({},$.opts),$.opts.catAxes[0]),B8,o2)}else Z+=A7($.opts,B8,o2);if($.opts.valAxes){if(Z+=X7(Object.assign(Object.assign({},$.opts),$.opts.valAxes[0]),o2),$.opts.valAxes[1])Z+=X7(Object.assign(Object.assign({},$.opts),$.opts.valAxes[1]),N5)}else if(Z+=X7($.opts,o2),$.opts._type===q0.BAR3D)Z+=_B($.opts,UJ,o2);if(((q=$.opts)===null||q===void 0?void 0:q.catAxes)&&((Q=$.opts)===null||Q===void 0?void 0:Q.catAxes[1]))Z+=A7(Object.assign(Object.assign({},$.opts),$.opts.catAxes[1]),x7,N5)}{if($.opts.showDataTable)Z+="",Z+=` `,Z+=` `,Z+=` `,Z+=` `,Z+=" ",Z+=" ",Z+=' ',Z+=" ",Z+=" ",Z+=" ",Z+=' ',Z+=" ",Z+=" ",Z+=' ',Z+=` `,Z+=' ',Z+=' ',Z+=' ',Z+=' ',Z+=" ",Z+=" ",Z+=' ',Z+=" ",Z+=" ",Z+="";if(Z+=" ",Z+=((K=$.opts.plotArea.fill)===null||K===void 0?void 0:K.color)?B2($.opts.plotArea.fill):"",Z+=$.opts.plotArea.border?`${B2($.opts.plotArea.border.color)}`:"",Z+=" ",Z+=" ",Z+="",$.opts.showLegend){if(Z+="",Z+='',Z+='',$.opts.legendFontFace||$.opts.legendFontSize||$.opts.legendColor){if(Z+="",Z+=" ",Z+=" ",Z+=" ",Z+=" ",Z+=$.opts.legendFontSize?``:"",$.opts.legendColor)Z+=B2($.opts.legendColor);if($.opts.legendFontFace)Z+='';if($.opts.legendFontFace)Z+='';Z+=" ",Z+=" ",Z+=' ',Z+=" ",Z+=""}Z+=""}}if(Z+=' ',Z+=' ',$.opts._type===q0.SCATTER)Z+='';return Z+="",Z+="",Z+=((J=$.opts.chartArea.fill)===null||J===void 0?void 0:J.color)?B2($.opts.chartArea.fill):"",Z+=$.opts.chartArea.border?`${B2($.opts.chartArea.border.color)}`:"",Z+=" ",Z+="",Z+='',Z+="",Z}function $J($,q,Q,K,J,Z){let G=-1,W=1,B=null,V="";switch($){case q0.AREA:case q0.BAR:case q0.BAR3D:case q0.LINE:case q0.RADAR:if(V+=``,$===q0.AREA&&Q.barGrouping==="stacked")V+='';if($===q0.BAR||$===q0.BAR3D)V+='',V+='';if($===q0.RADAR)V+='';V+='',q.forEach((U)=>{var w;G++,V+="",V+=` `,V+=" ",V+=" ",V+=" Sheet1!$"+j0(U._dataIndex+U.labels.length+1)+"$1",V+=' '+k0(U.name)+"",V+=" ",V+=" ";let F=Q.chartColors?Q.chartColors[G%Q.chartColors.length]:null;if(V+=" ",F==="transparent")V+="";else if(Q.chartColorsOpacity)V+=""+R0(F,``)+"";else V+=""+R0(F)+"";if($===q0.LINE||$===q0.RADAR)if(Q.lineSize===0)V+="";else V+=`${R0(F)}`,V+='';else if(Q.dataBorder)V+=`${R0(Q.dataBorder.color)}`;if(V+=T1(Q.shadow,P1),V+=" ",V+=' ',$!==q0.RADAR){if(V+="",V+=``,Q.dataLabelBkgrdColors)V+=`${R0(F)}`;if(V+="",V+=``,V+=`${R0(Q.dataLabelColor||Q2)}`,V+=``,V+="",Q.dataLabelPosition)V+=``;V+='',V+=``,V+=``,V+=``,V+=""}if($===q0.LINE||$===q0.RADAR){if(V+="",V+=' ',Q.lineDataSymbolSize)V+=``;V+=" ",V+=` ${R0(Q.chartColors[U._dataIndex+1>Q.chartColors.length?Math.floor(Math.random()*Q.chartColors.length):U._dataIndex])}`,V+=` ${R0(Q.lineDataSymbolLineColor||F)}`,V+=" ",V+=" ",V+=""}if(($===q0.BAR||$===q0.BAR3D)&&q.length===1&&(Q.chartColors&&Q.chartColors!==z8&&Q.chartColors.length>1||((w=Q.invertedColors)===null||w===void 0?void 0:w.length)))U.values.forEach((M,k)=>{let f=M<0?Q.invertedColors||Q.chartColors||z8:Q.chartColors||[];if(V+=" ",V+=` `,V+=' ',V+=' ',V+=" ",Q.lineSize===0)V+="";else if($===q0.BAR)V+="",V+=' ',V+="";else V+="",V+=" ",V+=' ',V+=" ",V+="";V+=T1(Q.shadow,P1),V+=" ",V+=" "});{if(V+="",Q.catLabelFormatCode)V+=" ",V+=` Sheet1!$A$2:$A$${U.labels[0].length+1}`,V+=" ",V+=" "+(Q.catLabelFormatCode||"General")+"",V+=` `,U.labels[0].forEach((M,k)=>V+=`${k0(M)}`),V+=" ",V+=" ";else V+=" ",V+=` Sheet1!$A$2:$${j0(U.labels.length)}$${U.labels[0].length+1}`,V+=" ",V+=` `,U.labels.forEach((M)=>{V+="",M.forEach((k,f)=>V+=`${k0(k)}`),V+=""}),V+=" ",V+=" ";V+=""}if(V+="",V+=" ",V+=`Sheet1!$${j0(U._dataIndex+U.labels.length+1)}$2:$${j0(U._dataIndex+U.labels.length+1)}$${U.labels[0].length+1}`,V+=" ",V+=" "+(Q.valLabelFormatCode||Q.dataTableFormatCode||"General")+"",V+=` `,U.values.forEach((M,k)=>V+=`${M||M===0?M:""}`),V+=" ",V+=" ",V+="",$===q0.LINE)V+='';V+=""});{if(V+=" ",V+=` `,V+=" ",V+=" ",V+=" ",V+=" ",V+=` `,V+=" "+R0(Q.dataLabelColor||Q2)+"",V+=' ',V+=" ",V+=" ",V+=" ",Q.dataLabelPosition)V+=' ';V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=` `,V+=" "}if($===q0.BAR)V+=` `,V+=` `;else if($===q0.BAR3D)V+=` `,V+=` `,V+=' ';else if($===q0.LINE)V+=' ';V+=``,V+=``;break;case q0.SCATTER:V+="",V+='',V+='',G=-1,q.filter((U,w)=>w>0).forEach((U,w)=>{G++,V+="",V+=` `,V+=` `,V+=" ",V+=" ",V+=` Sheet1!$${j0(w+2)}$1`,V+=' '+k0(U.name)+"",V+=" ",V+=" ",V+=" ";{let F=Q.chartColors[G%Q.chartColors.length];if(F==="transparent")V+="";else if(Q.chartColorsOpacity)V+=""+R0(F,'')+"";else V+=""+R0(F)+"";if(Q.lineSize===0)V+="";else V+=`${R0(F)}`,V+=``;V+=T1(Q.shadow,P1)}V+=" ";{if(V+="",V+=' ',Q.lineDataSymbolSize)V+=``;V+="",V+=`${R0(Q.chartColors[w+1>Q.chartColors.length?Math.floor(Math.random()*Q.chartColors.length):w])}`,V+=`${R0(Q.lineDataSymbolLineColor||Q.chartColors[G%Q.chartColors.length])}`,V+="",V+="",V+=""}if(Q.showLabel){let F=Y5("-xxxx-xxxx-xxxx-xxxxxxxxxxxx");if(U.labels[0]&&(Q.dataLabelFormatScatter==="custom"||Q.dataLabelFormatScatter==="customXY"))V+="",U.labels[0].forEach((M,k)=>{if(Q.dataLabelFormatScatter==="custom"||Q.dataLabelFormatScatter==="customXY"){if(V+=" ",V+=` `,V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=' ',V+=" "+k0(M)+"",V+=" ",Q.dataLabelFormatScatter==="customXY"&&!/^ *$/.test(M))V+=" ",V+=' ',V+=" (",V+=" ",V+=' ',V+=' ',V+=" ",V+=" ",V+=" ",V+=" ["+k0(U.name)+"",V+=" ",V+=" ",V+=' ',V+=" , ",V+=" ",V+=' ',V+=' ',V+=" ",V+=" ",V+=" ",V+=" ["+k0(U.name)+"]",V+=" ",V+=" ",V+=' ',V+=" )",V+=" ",V+=' ';if(V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",Q.dataLabelPosition)V+=' ';V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=" ",V+=' ',V+=' ',V+=` `,V+=" ",V+=" ",V+=""}}),V+="";if(Q.dataLabelFormatScatter==="XY"){if(V+="",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=' ',V+=" ",V+=" ",Q.dataLabelPosition)V+=' ';V+=' ',V+=` `,V+=` `,V+=` `,V+=' ',V+=' ',V+=" ",V+=' ',V+=' ',V+=" ",V+=" ",V+=""}}if(q.length===1&&Q.chartColors!==z8)U.values.forEach((F,M)=>{let k=F<0?Q.invertedColors||Q.chartColors||z8:Q.chartColors||[];if(V+=" ",V+=` `,V+=' ',V+=' ',V+=" ",Q.lineSize===0)V+="";else V+="",V+=' ',V+="";V+=T1(Q.shadow,P1),V+=" ",V+=" "});V+="",V+=" ",V+=` Sheet1!$A$2:$A$${q[0].values.length+1}`,V+=" ",V+=" General",V+=` `,q[0].values.forEach((F,M)=>{V+=`${F||F===0?F:""}`}),V+=" ",V+=" ",V+="",V+="",V+=" ",V+=` Sheet1!$${j0(w+2)}$2:$${j0(w+2)}$${q[0].values.length+1}`,V+=" ",V+=" General",V+=` `,q[0].values.forEach((F,M)=>{V+=`${U.values[M]||U.values[M]===0?U.values[M]:""}`}),V+=" ",V+=" ",V+="",V+='',V+=""});{if(V+=" ",V+=` `,V+=" ",V+=" ",V+=" ",V+=" ",V+=` `,V+=" "+R0(Q.dataLabelColor||Q2)+"",V+=' ',V+=" ",V+=" ",V+=" ",Q.dataLabelPosition)V+=' ';V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=" "}V+=``,V+="";break;case q0.BUBBLE:case q0.BUBBLE3D:V+="",V+='',G=-1,q.filter((U,w)=>w>0).forEach((U,w)=>{G++,V+="",V+=` `,V+=` `,V+=" ",V+=" ",V+=" Sheet1!$"+j0(W+1)+"$1",V+=' '+k0(U.name)+"",V+=" ",V+=" ";{V+="";let F=Q.chartColors[G%Q.chartColors.length];if(F==="transparent")V+="";else if(Q.chartColorsOpacity)V+=`${R0(F,'')}`;else V+=""+R0(F)+"";if(Q.lineSize===0)V+="";else if(Q.dataBorder)V+=`${R0(Q.dataBorder.color)}`;else V+=`${R0(F)}`,V+=``;V+=T1(Q.shadow,P1),V+=""}V+="",V+=" ",V+=` Sheet1!$A$2:$A$${q[0].values.length+1}`,V+=" ",V+=" General",V+=` `,q[0].values.forEach((F,M)=>{V+=`${F||F===0?F:""}`}),V+=" ",V+=" ",V+="",V+="",V+=" ",V+=`Sheet1!$${j0(W+1)}$2:$${j0(W+1)}$${q[0].values.length+1}`,W++,V+=" ",V+=" General",V+=` `,q[0].values.forEach((F,M)=>{V+=`${U.values[M]||U.values[M]===0?U.values[M]:""}`}),V+=" ",V+=" ",V+="",V+=" ",V+=" ",V+=`Sheet1!$${j0(W+1)}$2:$${j0(W+1)}$${U.sizes.length+1}`,W++,V+=" ",V+=" General",V+=` `,U.sizes.forEach((F,M)=>{V+=`${F||""}`}),V+=" ",V+=" ",V+=" ",V+=' ',V+=""});{if(V+="",V+=``,V+="",V+=``,V+=`${R0(Q.dataLabelColor||Q2)}`,V+=``,V+="",Q.dataLabelPosition)V+=``;V+='',V+=``,V+=``,V+="",V+=' ',V+=' ',V+=" ",V+="",V+=""}V+=``,V+="";break;case q0.DOUGHNUT:case q0.PIE:if(B=q[0],V+="",V+=' ',V+="",V+=' ',V+=' ',V+=" ",V+=" ",V+=" Sheet1!$B$1",V+=" ",V+=' ',V+=' '+k0(B.name)+"",V+=" ",V+=" ",V+=" ",V+=" ",V+=' ',V+=' ',Q.dataNoEffects)V+="";else V+=T1(Q.shadow,P1);if(V+=" ",B.labels[0].forEach((U,w)=>{if(V+="",V+=` `,V+=' ',V+=" ",V+=`${R0(Q.chartColors[w+1>Q.chartColors.length?Math.floor(Math.random()*Q.chartColors.length):w])}`,Q.dataBorder)V+=`${R0(Q.dataBorder.color)}`;V+=T1(Q.shadow,P1),V+=" ",V+=""}),V+="",B.labels[0].forEach((U,w)=>{if(V+="",V+=` `,V+=` `,V+=" ",V+=" ",V+=" ",V+=` `,V+=" "+R0(Q.dataLabelColor||Q2)+"",V+=` `,V+=" ",V+=" ",V+=" ",$===q0.PIE&&Q.dataLabelPosition)V+=``;V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=" "}),V+=` `,V+=" ",V+=" ",V+=" ",V+=" ",V+=" ",V+=` `,V+=' ',V+=" ",V+=" ",V+=" ",V+=" ",V+=$===q0.PIE?'':"",V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=' ',V+=` `,V+="",V+="",V+=" ",V+=` Sheet1!$A$2:$A$${B.labels[0].length+1}`,V+=" ",V+=` `,B.labels[0].forEach((U,w)=>{V+=`${k0(U)}`}),V+=" ",V+=" ",V+="",V+=" ",V+=" ",V+=` Sheet1!$B$2:$B$${B.labels[0].length+1}`,V+=" ",V+=` `,B.values.forEach((U,w)=>{V+=`${U||U===0?U:""}`}),V+=" ",V+=" ",V+=" ",V+=" ",V+=` `,$===q0.DOUGHNUT)V+=``;V+="";break;default:V+="";break}return V}function A7($,q,Q){let K="";if($._type===q0.SCATTER||$._type===q0.BUBBLE||$._type===q0.BUBBLE3D)K+="";else K+="";if(K+=' ',K+=" ",K+='',$.catAxisMaxVal||$.catAxisMaxVal===0)K+=``;if($.catAxisMinVal||$.catAxisMinVal===0)K+=``;if(K+="",K+=' ',K+=' ',K+=$.catGridLine.style!=="none"?b7($.catGridLine):"",$.showCatAxisTitle)K+=H5({color:$.catAxisTitleColor,fontFace:$.catAxisTitleFontFace,fontSize:$.catAxisTitleFontSize,titleRotate:$.catAxisTitleRotate,title:$.catAxisTitle||"Axis Title"});if($._type===q0.SCATTER||$._type===q0.BUBBLE||$._type===q0.BUBBLE3D)K+=' ';else K+=' ';if($._type===q0.SCATTER)K+=' ',K+=' ',K+=' ';else K+=' ',K+=' ',K+=' ';if(K+=" ",K+=` `,K+=!$.catAxisLineShow?"":""+R0($.catAxisLineColor||u1.color)+"",K+=' ',K+=" ",K+=" ",K+=" ",K+=" ",$.catAxisLabelRotate)K+=``;else K+="";if(K+=" ",K+=" ",K+=" ",K+=` `,K+=" "+R0($.catAxisLabelColor||Q2)+"",K+=' ',K+=" ",K+=" ",K+=' ',K+=" ",K+=" ",K+=' ',K+=` `,K+=' ',K+=' ',K+=` `,$.catAxisLabelFrequency)K+=' ';if($.catLabelFormatCode||$._type===q0.SCATTER||$._type===q0.BUBBLE||$._type===q0.BUBBLE3D){if($.catLabelFormatCode){if(["catAxisBaseTimeUnit","catAxisMajorTimeUnit","catAxisMinorTimeUnit"].forEach((J)=>{if($[J]&&(typeof $[J]!=="string"||!["days","months","years"].includes($[J].toLowerCase())))console.warn(`"${J}" must be one of: 'days','months','years' !`),$[J]=null}),$.catAxisBaseTimeUnit)K+='';if($.catAxisMajorTimeUnit)K+='';if($.catAxisMinorTimeUnit)K+=''}if($.catAxisMajorUnit)K+=``;if($.catAxisMinorUnit)K+=``}if($._type===q0.SCATTER||$._type===q0.BUBBLE||$._type===q0.BUBBLE3D)K+="";else K+="";return K}function X7($,q){let Q=q===o2?$.barDir==="col"?"l":"b":$.barDir!=="col"?"r":"t";if(q===N5)Q="r";let K=q===o2?B8:x7,J="";if(J+="",J+=' ',J+=" ",$.valAxisLogScaleBase)J+=``;if(J+='',$.valAxisMaxVal||$.valAxisMaxVal===0)J+=``;if($.valAxisMinVal||$.valAxisMinVal===0)J+=``;if(J+=" ",J+=` `,J+=' ',$.valGridLine.style!=="none")J+=b7($.valGridLine);if($.showValAxisTitle)J+=H5({color:$.valAxisTitleColor,fontFace:$.valAxisTitleFontFace,fontSize:$.valAxisTitleFontSize,titleRotate:$.valAxisTitleRotate,title:$.valAxisTitle||"Axis Title"});if(J+=``,$._type===q0.SCATTER)J+=' ',J+=' ',J+=' ';else J+=' ',J+=' ',J+=' ';if(J+=" ",J+=` `,J+=!$.valAxisLineShow?"":""+R0($.valAxisLineColor||u1.color)+"",J+=' ',J+=" ",J+=" ",J+=" ",J+=" ",J+=` `,J+=" ",J+=" ",J+=" ",J+=` `,J+=" "+R0($.valAxisLabelColor||Q2)+"",J+=' ',J+=" ",J+=" ",J+=' ',J+=" ",J+=" ",J+=' ',typeof $.catAxisCrossesAt==="number")J+=` `;else if(typeof $.catAxisCrossesAt==="string")J+=' ';else J+=' ';if(J+=' ',$.valAxisMajorUnit)J+=` `;if($.valAxisDisplayUnit)J+=`${$.valAxisDisplayUnitLabel?"":""}`;return J+="",J}function _B($,q,Q){let K="";if(K+="",K+=' ',K+=' ',K+=' ',K+=' ',K+=$.serGridLine.style!=="none"?b7($.serGridLine):"",$.showSerAxisTitle)K+=H5({color:$.serAxisTitleColor,fontFace:$.serAxisTitleFontFace,fontSize:$.serAxisTitleFontSize,titleRotate:$.serAxisTitleRotate,title:$.serAxisTitle||"Axis Title"});if(K+=` `,K+=' ',K+=' ',K+=` `,K+=" ",K+=' ',K+=!$.serAxisLineShow?"":`${R0($.serAxisLineColor||u1.color)}`,K+=' ',K+=" ",K+=" ",K+=" ",K+=" ",K+=" ",K+=" ",K+=" ",K+=" ",K+=` `,K+=` ${R0($.serAxisLabelColor||Q2)}`,K+=` `,K+=" ",K+=" ",K+=' ',K+=" ",K+=" ",K+=' ',K+=' ',$.serAxisLabelFrequency)K+=' ';if($.serLabelFormatCode){if(["serAxisBaseTimeUnit","serAxisMajorTimeUnit","serAxisMinorTimeUnit"].forEach((J)=>{if($[J]&&(typeof $[J]!=="string"||!["days","months","years"].includes(J.toLowerCase())))console.warn(`"${J}" must be one of: 'days','months','years' !`),$[J]=null}),$.serAxisBaseTimeUnit)K+=` `;if($.serAxisMajorTimeUnit)K+=` `;if($.serAxisMinorTimeUnit)K+=` `;if($.serAxisMajorUnit)K+=` `;if($.serAxisMinorUnit)K+=` `}return K+="",K}function H5($,q,Q){let K=$.titleAlign==="left"||$.titleAlign==="right"?``:"",J=$.titleRotate?``:"",Z=$.fontSize?`sz="${Math.round($.fontSize*100)}"`:"",G=$.titleBold?1:0,W="";if($.titlePos&&typeof $.titlePos.x==="number"&&typeof $.titlePos.y==="number"){let B=$.titlePos.x+q,V=$.titlePos.y+Q,U=B===0?0:B*(B/5)/10;if(U>=1)U=U/10;if(U>=0.1)U=U/10;let w=V===0?0:V*(V/5)/10;if(w>=1)w=w/10;if(w>=0.1)w=w/10;W=``}return` ${J} @@ -53,23 +53,23 @@ ${W} - `}function j0($){let q="",Q=$-1;if(Q<=25)q=W8[Q];else q=`${W8[Math.floor(Q/W8.length-1)]}${W8[Q%W8.length]}`;return q}function T1($,q){if(!$)return"";else if(typeof $!=="object")return console.warn("`shadow` options must be an object. Ex: `{shadow: {type:'none'}}`"),"";let Q="",K=Object.assign(Object.assign({},q),$),J=K.type||"outer",Z=Y0(K.blur),G=Y0(K.offset),W=Math.round(K.angle*60000),B=K.color,V=Math.round(K.opacity*1e5),U=K.rotateWithShape?1:0;return Q+=``,Q+=``,Q+=``,Q+=``,Q+="",Q}function b7($){let q="";return q+=" ",q+=` `,q+=' ',q+=' ',q+=" ",q+=" ",q+="",q}function k5($){if(!$||$==="flat")return"flat";else if($==="square")return"sq";else if($==="round")return"rnd";else throw Error(`Invalid chart line cap: ${$}`)}function y7($){var q,Q;let K=typeof process<"u"&&!!((q=process.versions)===null||q===void 0?void 0:q.node)&&((Q=process.release)===null||Q===void 0?void 0:Q.name)==="node",J,Z,G=K?()=>W2(this,void 0,void 0,function*(){({default:J}=yield import("node:fs")),{default:Z}=yield Promise.resolve().then(() => (sK(),rK))}):()=>W2(this,void 0,void 0,function*(){});if(K)G();let W=[],B=$._relsMedia.filter((U)=>U.type!=="online"&&!U.data&&(!U.path||U.path&&!U.path.includes("preencoded"))),V=[];return B.forEach((U)=>{if(!V.includes(U.path))U.isDuplicate=!1,V.push(U.path);else U.isDuplicate=!0}),B.filter((U)=>!U.isDuplicate).forEach((U)=>{W.push((()=>W2(this,void 0,void 0,function*(){if(!Z)yield G();if(K&&J&&U.path.indexOf("http")!==0)try{let w=J.readFileSync(U.path);return U.data=Buffer.from(w).toString("base64"),B.filter((F)=>F.isDuplicate&&F.path===U.path).forEach((F)=>F.data=U.data),"done"}catch(w){throw U.data=j6,B.filter((F)=>F.isDuplicate&&F.path===U.path).forEach((F)=>F.data=U.data),Error(`ERROR: Unable to read media: "${U.path}" -${String(w)}`)}if(K&&Z&&U.path.startsWith("http"))return yield new Promise((w,F)=>{Z.get(U.path,(M)=>{let k="";M.setEncoding("binary"),M.on("data",(f)=>k+=f),M.on("end",()=>{U.data=Buffer.from(k,"binary").toString("base64"),B.filter((f)=>f.isDuplicate&&f.path===U.path).forEach((f)=>f.data=U.data),w("done")}),M.on("error",()=>{U.data=j6,B.filter((f)=>f.isDuplicate&&f.path===U.path).forEach((f)=>f.data=U.data),F(Error(`ERROR! Unable to load image (https.get): ${U.path}`))})})});return yield new Promise((w,F)=>{let M=new XMLHttpRequest;M.onload=()=>{let k=new FileReader;k.onloadend=()=>{if(U.data=k.result,B.filter((f)=>f.isDuplicate&&f.path===U.path).forEach((f)=>f.data=U.data),!U.isSvgPng)w("done");else $J(U).then(()=>w("done")).catch(F)},k.readAsDataURL(M.response)},M.onerror=()=>{U.data=j6,B.filter((k)=>k.isDuplicate&&k.path===U.path).forEach((k)=>k.data=U.data),F(Error(`ERROR! Unable to load image (xhr.onerror): ${U.path}`))},M.open("GET",U.path),M.responseType="blob",M.send()})}))())}),$._relsMedia.filter((U)=>U.isSvgPng&&U.data).forEach((U)=>{(()=>W2(this,void 0,void 0,function*(){if(K&&!J)yield G();if(K&&J)U.data=j6,W.push(Promise.resolve("done"));else W.push($J(U))}))()}),W}function $J($){return W2(this,void 0,void 0,function*(){return yield new Promise((q,Q)=>{let K=new Image;K.onload=()=>{if(K.width+K.height===0)K.onerror("h/w=0");let J=document.createElement("CANVAS"),Z=J.getContext("2d");J.width=K.width,J.height=K.height,Z.drawImage(K,0,0);try{$.data=J.toDataURL($.type),q("done")}catch(G){K.onerror(G.toString())}J=null},K.onerror=()=>{$.data=j6,Q(Error(`ERROR! Unable to load image (image.onerror): ${$.path}`))},K.src=typeof $.data==="string"?$.data:j6})})}var XB={cover:function($,q){let Q=$.h/$.w,J=q.h/q.w>Q,Z=J?q.h/Q:q.w,G=J?q.h:q.w*Q,W=Math.round(50000*(1-q.w/Z)),B=Math.round(50000*(1-q.h/G));return``},contain:function($,q){let Q=$.h/$.w,J=q.h/q.w>Q,Z=J?q.w:q.h/Q,G=J?q.w*Q:q.h,W=Math.round(50000*(1-q.w/Z)),B=Math.round(50000*(1-q.h/G));return``},crop:function($,q){let Q=q.x,K=$.w-(q.x+q.w),J=q.y,Z=$.h-(q.y+q.h),G=Math.round(1e5*(Q/$.w)),W=Math.round(1e5*(K/$.w)),B=Math.round(1e5*(J/$.h)),V=Math.round(1e5*(Z/$.h));return``}};function n7($){var q;let Q=$._name?'':"",K=1;if($._bkgdImgRid)Q+=``;else if((q=$.background)===null||q===void 0?void 0:q.color)Q+=`${B2($.background)}`;else if(!$.bkgd&&$._name&&$._name===h7)Q+='';if(Q+="",Q+='',Q+='',Q+='',$._slideObjects.forEach((J,Z)=>{var G,W,B,V,U,w,F,M;let k=0,f=0,L=H0("75%","X",$._presLayout),D=0,z,N="",H=null,v=null,j=0,n=0,d=null,_=null,X=(G=J.options)===null||G===void 0?void 0:G.sizing,P=(W=J.options)===null||W===void 0?void 0:W.rounding;if($._slideLayout!==void 0&&$._slideLayout._slideObjects!==void 0&&J.options&&J.options.placeholder)z=$._slideLayout._slideObjects.filter((h)=>h.options.placeholder===J.options.placeholder)[0];if(J.options=J.options||{},typeof J.options.x<"u")k=H0(J.options.x,"X",$._presLayout);if(typeof J.options.y<"u")f=H0(J.options.y,"Y",$._presLayout);if(typeof J.options.w<"u")L=H0(J.options.w,"X",$._presLayout);if(typeof J.options.h<"u")D=H0(J.options.h,"Y",$._presLayout);let g=L,c=D;if(z){if(z.options.x||z.options.x===0)k=H0(z.options.x,"X",$._presLayout);if(z.options.y||z.options.y===0)f=H0(z.options.y,"Y",$._presLayout);if(z.options.w||z.options.w===0)L=H0(z.options.w,"X",$._presLayout);if(z.options.h||z.options.h===0)D=H0(z.options.h,"Y",$._presLayout)}if(J.options.flipH)N+=' flipH="1"';if(J.options.flipV)N+=' flipV="1"';if(J.options.rotate)N+=` rot="${S1(J.options.rotate)}"`;switch(J._type){case D0.table:if(H=J.arrTabRows,v=J.options,j=0,n=0,H[0].forEach((h)=>{d=h.options||null,j+=(d===null||d===void 0?void 0:d.colspan)?Number(d.colspan):1}),_=``,_+=' ',_+=``,_+='',Array.isArray(v.colW)){_+="";for(let h=0;h`}_+=""}else{if(n=v.colW?v.colW:L0,J.options.w&&!v.colW)n=Math.round((typeof J.options.w==="number"?J.options.w:1)/j);_+="";for(let h=0;h`;_+=""}H.forEach((h)=>{var x,l;for(let $0=0;$01){let W0=Array(F0-1).fill(void 0).map(()=>{return{_type:D0.tablecell,options:{rowspan:p},_hmerge:!0}});h.splice($0+1,0,...W0),$0+=F0}else $0+=1}}),H.forEach((h,x)=>{let l=H[x+1];if(!l)return;h.forEach(($0,Z0)=>{var F0,p;let W0=$0._rowContinue||((F0=$0.options)===null||F0===void 0?void 0:F0.rowspan),y=(p=$0.options)===null||p===void 0?void 0:p.colspan,i=$0._hmerge;if(W0&&W0>1){let U0={_type:D0.tablecell,options:{colspan:y},_rowContinue:W0-1,_vmerge:!0,_hmerge:i};l.splice(Z0,0,U0)}})}),H.forEach((h,x)=>{let l=0;if(Array.isArray(v.rowH)&&v.rowH[x])l=v0(Number(v.rowH[x]));else if(v.rowH&&!isNaN(Number(v.rowH)))l=v0(Number(v.rowH));else if(J.options.cy||J.options.h)l=Math.round((J.options.h?v0(J.options.h):typeof J.options.cy==="number"?J.options.cy:1)/H.length);_+=``,h.forEach(($0)=>{var Z0,F0,p,W0,y;let i=$0,U0={rowSpan:((Z0=i.options)===null||Z0===void 0?void 0:Z0.rowspan)>1?i.options.rowspan:void 0,gridSpan:((F0=i.options)===null||F0===void 0?void 0:F0.colspan)>1?i.options.colspan:void 0,vMerge:i._vmerge?1:void 0,hMerge:i._hmerge?1:void 0},m=Object.keys(U0).map((K0)=>[K0,U0[K0]]).filter(([,K0])=>!!K0).map(([K0,R])=>`${String(K0)}="${String(R)}"`).join(" ");if(m)m=" "+m;if(i._hmerge||i._vmerge){_+=``;return}let V0=i.options||{};i.options=V0,["align","bold","border","color","fill","fontFace","fontSize","margin","textDirection","underline","valign"].forEach((K0)=>{if(v[K0]&&!V0[K0]&&V0[K0]!==0)V0[K0]=v[K0]});let w0=V0.valign?` anchor="${V0.valign.replace(/^c$/i,"ctr").replace(/^m$/i,"ctr").replace("center","ctr").replace("middle","ctr").replace("top","t").replace("btm","b").replace("bottom","b")}"`:"",S=V0.textDirection&&V0.textDirection!=="horz"?` vert="${V0.textDirection}"`:"",b=((W0=(p=i._optImp)===null||p===void 0?void 0:p.fill)===null||W0===void 0?void 0:W0.color)?i._optImp.fill.color:((y=i._optImp)===null||y===void 0?void 0:y.fill)&&typeof i._optImp.fill==="string"?i._optImp.fill:"";b=b||V0.fill?V0.fill:"";let O=b?B2(b):"",E=V0.margin===0||V0.margin?V0.margin:KJ;if(!Array.isArray(E)&&typeof E==="number")E=[E,E,E,E];let a="";if(E[0]>=1)a=` marL="${Y0(E[3])}" marR="${Y0(E[1])}" marT="${Y0(E[0])}" marB="${Y0(E[2])}"`;else a=` marL="${v0(E[3])}" marR="${v0(E[1])}" marT="${v0(E[0])}" marB="${v0(E[2])}"`;if(_+=`${qJ(i)}`,V0.border&&Array.isArray(V0.border))[{idx:3,name:"lnL"},{idx:1,name:"lnR"},{idx:0,name:"lnT"},{idx:2,name:"lnB"}].forEach((K0)=>{if(V0.border[K0.idx].type!=="none")_+=``,_+=`${R0(V0.border[K0.idx].color)}`,_+=``,_+=``;else _+=``});_+=O,_+=" ",_+=" "}),_+=""}),_+=" ",_+=" ",_+=" ",_+="",Q+=_,K++;break;case D0.text:case D0.placeholder:if(!J.options.line&&D===0)D=L0*0.3;if(!J.options._bodyProp)J.options._bodyProp={};if(J.options.margin&&Array.isArray(J.options.margin))J.options._bodyProp.lIns=Y0(J.options.margin[0]||0),J.options._bodyProp.rIns=Y0(J.options.margin[1]||0),J.options._bodyProp.bIns=Y0(J.options.margin[2]||0),J.options._bodyProp.tIns=Y0(J.options.margin[3]||0);else if(typeof J.options.margin==="number")J.options._bodyProp.lIns=Y0(J.options.margin),J.options._bodyProp.rIns=Y0(J.options.margin),J.options._bodyProp.bIns=Y0(J.options.margin),J.options._bodyProp.tIns=Y0(J.options.margin);if(Q+="",Q+=``,(B=J.options.hyperlink)===null||B===void 0?void 0:B.url)Q+=``;if((V=J.options.hyperlink)===null||V===void 0?void 0:V.slide)Q+=``;if(Q+="",Q+="':"/>"),Q+=`${J._type==="placeholder"?w5(J):w5(z)}`,Q+="",Q+=``,Q+=``,Q+=``,J.shape==="custGeom")Q+="",Q+="",Q+="",Q+="",Q+="",Q+="",Q+='',Q+="",Q+=``,(w=J.options.points)===null||w===void 0||w.forEach((h,x)=>{if("curve"in h)switch(h.curve.type){case"arc":Q+=``;break;case"cubic":Q+=` + `}function j0($){let q="",Q=$-1;if(Q<=25)q=W8[Q];else q=`${W8[Math.floor(Q/W8.length-1)]}${W8[Q%W8.length]}`;return q}function T1($,q){if(!$)return"";else if(typeof $!=="object")return console.warn("`shadow` options must be an object. Ex: `{shadow: {type:'none'}}`"),"";let Q="",K=Object.assign(Object.assign({},q),$),J=K.type||"outer",Z=Y0(K.blur),G=Y0(K.offset),W=Math.round(K.angle*60000),B=K.color,V=Math.round(K.opacity*1e5),U=K.rotateWithShape?1:0;return Q+=``,Q+=``,Q+=``,Q+=``,Q+="",Q}function b7($){let q="";return q+=" ",q+=` `,q+=' ',q+=' ',q+=" ",q+=" ",q+="",q}function k5($){if(!$||$==="flat")return"flat";else if($==="square")return"sq";else if($==="round")return"rnd";else throw Error(`Invalid chart line cap: ${$}`)}function y7($){var q,Q;let K=typeof process<"u"&&!!((q=process.versions)===null||q===void 0?void 0:q.node)&&((Q=process.release)===null||Q===void 0?void 0:Q.name)==="node",J,Z,G=K?()=>W2(this,void 0,void 0,function*(){({default:J}=yield import("node:fs")),{default:Z}=yield Promise.resolve().then(() => (tK(),sK))}):()=>W2(this,void 0,void 0,function*(){});if(K)G();let W=[],B=$._relsMedia.filter((U)=>U.type!=="online"&&!U.data&&(!U.path||U.path&&!U.path.includes("preencoded"))),V=[];return B.forEach((U)=>{if(!V.includes(U.path))U.isDuplicate=!1,V.push(U.path);else U.isDuplicate=!0}),B.filter((U)=>!U.isDuplicate).forEach((U)=>{W.push((()=>W2(this,void 0,void 0,function*(){if(!Z)yield G();if(K&&J&&U.path.indexOf("http")!==0)try{let w=J.readFileSync(U.path);return U.data=Buffer.from(w).toString("base64"),B.filter((F)=>F.isDuplicate&&F.path===U.path).forEach((F)=>F.data=U.data),"done"}catch(w){throw U.data=j6,B.filter((F)=>F.isDuplicate&&F.path===U.path).forEach((F)=>F.data=U.data),Error(`ERROR: Unable to read media: "${U.path}" +${String(w)}`)}if(K&&Z&&U.path.startsWith("http"))return yield new Promise((w,F)=>{Z.get(U.path,(M)=>{let k="";M.setEncoding("binary"),M.on("data",(f)=>k+=f),M.on("end",()=>{U.data=Buffer.from(k,"binary").toString("base64"),B.filter((f)=>f.isDuplicate&&f.path===U.path).forEach((f)=>f.data=U.data),w("done")}),M.on("error",()=>{U.data=j6,B.filter((f)=>f.isDuplicate&&f.path===U.path).forEach((f)=>f.data=U.data),F(Error(`ERROR! Unable to load image (https.get): ${U.path}`))})})});return yield new Promise((w,F)=>{let M=new XMLHttpRequest;M.onload=()=>{let k=new FileReader;k.onloadend=()=>{if(U.data=k.result,B.filter((f)=>f.isDuplicate&&f.path===U.path).forEach((f)=>f.data=U.data),!U.isSvgPng)w("done");else QJ(U).then(()=>w("done")).catch(F)},k.readAsDataURL(M.response)},M.onerror=()=>{U.data=j6,B.filter((k)=>k.isDuplicate&&k.path===U.path).forEach((k)=>k.data=U.data),F(Error(`ERROR! Unable to load image (xhr.onerror): ${U.path}`))},M.open("GET",U.path),M.responseType="blob",M.send()})}))())}),$._relsMedia.filter((U)=>U.isSvgPng&&U.data).forEach((U)=>{(()=>W2(this,void 0,void 0,function*(){if(K&&!J)yield G();if(K&&J)U.data=j6,W.push(Promise.resolve("done"));else W.push(QJ(U))}))()}),W}function QJ($){return W2(this,void 0,void 0,function*(){return yield new Promise((q,Q)=>{let K=new Image;K.onload=()=>{if(K.width+K.height===0)K.onerror("h/w=0");let J=document.createElement("CANVAS"),Z=J.getContext("2d");J.width=K.width,J.height=K.height,Z.drawImage(K,0,0);try{$.data=J.toDataURL($.type),q("done")}catch(G){K.onerror(G.toString())}J=null},K.onerror=()=>{$.data=j6,Q(Error(`ERROR! Unable to load image (image.onerror): ${$.path}`))},K.src=typeof $.data==="string"?$.data:j6})})}var cB={cover:function($,q){let Q=$.h/$.w,J=q.h/q.w>Q,Z=J?q.h/Q:q.w,G=J?q.h:q.w*Q,W=Math.round(50000*(1-q.w/Z)),B=Math.round(50000*(1-q.h/G));return``},contain:function($,q){let Q=$.h/$.w,J=q.h/q.w>Q,Z=J?q.w:q.h/Q,G=J?q.w*Q:q.h,W=Math.round(50000*(1-q.w/Z)),B=Math.round(50000*(1-q.h/G));return``},crop:function($,q){let Q=q.x,K=$.w-(q.x+q.w),J=q.y,Z=$.h-(q.y+q.h),G=Math.round(1e5*(Q/$.w)),W=Math.round(1e5*(K/$.w)),B=Math.round(1e5*(J/$.h)),V=Math.round(1e5*(Z/$.h));return``}};function n7($){var q;let Q=$._name?'':"",K=1;if($._bkgdImgRid)Q+=``;else if((q=$.background)===null||q===void 0?void 0:q.color)Q+=`${B2($.background)}`;else if(!$.bkgd&&$._name&&$._name===h7)Q+='';if(Q+="",Q+='',Q+='',Q+='',$._slideObjects.forEach((J,Z)=>{var G,W,B,V,U,w,F,M;let k=0,f=0,L=H0("75%","X",$._presLayout),D=0,z,N="",H=null,v=null,j=0,n=0,d=null,_=null,X=(G=J.options)===null||G===void 0?void 0:G.sizing,P=(W=J.options)===null||W===void 0?void 0:W.rounding;if($._slideLayout!==void 0&&$._slideLayout._slideObjects!==void 0&&J.options&&J.options.placeholder)z=$._slideLayout._slideObjects.filter((h)=>h.options.placeholder===J.options.placeholder)[0];if(J.options=J.options||{},typeof J.options.x<"u")k=H0(J.options.x,"X",$._presLayout);if(typeof J.options.y<"u")f=H0(J.options.y,"Y",$._presLayout);if(typeof J.options.w<"u")L=H0(J.options.w,"X",$._presLayout);if(typeof J.options.h<"u")D=H0(J.options.h,"Y",$._presLayout);let g=L,c=D;if(z){if(z.options.x||z.options.x===0)k=H0(z.options.x,"X",$._presLayout);if(z.options.y||z.options.y===0)f=H0(z.options.y,"Y",$._presLayout);if(z.options.w||z.options.w===0)L=H0(z.options.w,"X",$._presLayout);if(z.options.h||z.options.h===0)D=H0(z.options.h,"Y",$._presLayout)}if(J.options.flipH)N+=' flipH="1"';if(J.options.flipV)N+=' flipV="1"';if(J.options.rotate)N+=` rot="${S1(J.options.rotate)}"`;switch(J._type){case D0.table:if(H=J.arrTabRows,v=J.options,j=0,n=0,H[0].forEach((h)=>{d=h.options||null,j+=(d===null||d===void 0?void 0:d.colspan)?Number(d.colspan):1}),_=``,_+=' ',_+=``,_+='',Array.isArray(v.colW)){_+="";for(let h=0;h`}_+=""}else{if(n=v.colW?v.colW:L0,J.options.w&&!v.colW)n=Math.round((typeof J.options.w==="number"?J.options.w:1)/j);_+="";for(let h=0;h`;_+=""}H.forEach((h)=>{var x,l;for(let $0=0;$01){let W0=Array(F0-1).fill(void 0).map(()=>{return{_type:D0.tablecell,options:{rowspan:p},_hmerge:!0}});h.splice($0+1,0,...W0),$0+=F0}else $0+=1}}),H.forEach((h,x)=>{let l=H[x+1];if(!l)return;h.forEach(($0,Z0)=>{var F0,p;let W0=$0._rowContinue||((F0=$0.options)===null||F0===void 0?void 0:F0.rowspan),y=(p=$0.options)===null||p===void 0?void 0:p.colspan,i=$0._hmerge;if(W0&&W0>1){let U0={_type:D0.tablecell,options:{colspan:y},_rowContinue:W0-1,_vmerge:!0,_hmerge:i};l.splice(Z0,0,U0)}})}),H.forEach((h,x)=>{let l=0;if(Array.isArray(v.rowH)&&v.rowH[x])l=v0(Number(v.rowH[x]));else if(v.rowH&&!isNaN(Number(v.rowH)))l=v0(Number(v.rowH));else if(J.options.cy||J.options.h)l=Math.round((J.options.h?v0(J.options.h):typeof J.options.cy==="number"?J.options.cy:1)/H.length);_+=``,h.forEach(($0)=>{var Z0,F0,p,W0,y;let i=$0,U0={rowSpan:((Z0=i.options)===null||Z0===void 0?void 0:Z0.rowspan)>1?i.options.rowspan:void 0,gridSpan:((F0=i.options)===null||F0===void 0?void 0:F0.colspan)>1?i.options.colspan:void 0,vMerge:i._vmerge?1:void 0,hMerge:i._hmerge?1:void 0},m=Object.keys(U0).map((K0)=>[K0,U0[K0]]).filter(([,K0])=>!!K0).map(([K0,R])=>`${String(K0)}="${String(R)}"`).join(" ");if(m)m=" "+m;if(i._hmerge||i._vmerge){_+=``;return}let V0=i.options||{};i.options=V0,["align","bold","border","color","fill","fontFace","fontSize","margin","textDirection","underline","valign"].forEach((K0)=>{if(v[K0]&&!V0[K0]&&V0[K0]!==0)V0[K0]=v[K0]});let w0=V0.valign?` anchor="${V0.valign.replace(/^c$/i,"ctr").replace(/^m$/i,"ctr").replace("center","ctr").replace("middle","ctr").replace("top","t").replace("btm","b").replace("bottom","b")}"`:"",S=V0.textDirection&&V0.textDirection!=="horz"?` vert="${V0.textDirection}"`:"",b=((W0=(p=i._optImp)===null||p===void 0?void 0:p.fill)===null||W0===void 0?void 0:W0.color)?i._optImp.fill.color:((y=i._optImp)===null||y===void 0?void 0:y.fill)&&typeof i._optImp.fill==="string"?i._optImp.fill:"";b=b||V0.fill?V0.fill:"";let O=b?B2(b):"",E=V0.margin===0||V0.margin?V0.margin:JJ;if(!Array.isArray(E)&&typeof E==="number")E=[E,E,E,E];let a="";if(E[0]>=1)a=` marL="${Y0(E[3])}" marR="${Y0(E[1])}" marT="${Y0(E[0])}" marB="${Y0(E[2])}"`;else a=` marL="${v0(E[3])}" marR="${v0(E[1])}" marT="${v0(E[0])}" marB="${v0(E[2])}"`;if(_+=`${KJ(i)}`,V0.border&&Array.isArray(V0.border))[{idx:3,name:"lnL"},{idx:1,name:"lnR"},{idx:0,name:"lnT"},{idx:2,name:"lnB"}].forEach((K0)=>{if(V0.border[K0.idx].type!=="none")_+=``,_+=`${R0(V0.border[K0.idx].color)}`,_+=``,_+=``;else _+=``});_+=O,_+=" ",_+=" "}),_+=""}),_+=" ",_+=" ",_+=" ",_+="",Q+=_,K++;break;case D0.text:case D0.placeholder:if(!J.options.line&&D===0)D=L0*0.3;if(!J.options._bodyProp)J.options._bodyProp={};if(J.options.margin&&Array.isArray(J.options.margin))J.options._bodyProp.lIns=Y0(J.options.margin[0]||0),J.options._bodyProp.rIns=Y0(J.options.margin[1]||0),J.options._bodyProp.bIns=Y0(J.options.margin[2]||0),J.options._bodyProp.tIns=Y0(J.options.margin[3]||0);else if(typeof J.options.margin==="number")J.options._bodyProp.lIns=Y0(J.options.margin),J.options._bodyProp.rIns=Y0(J.options.margin),J.options._bodyProp.bIns=Y0(J.options.margin),J.options._bodyProp.tIns=Y0(J.options.margin);if(Q+="",Q+=``,(B=J.options.hyperlink)===null||B===void 0?void 0:B.url)Q+=``;if((V=J.options.hyperlink)===null||V===void 0?void 0:V.slide)Q+=``;if(Q+="",Q+="':"/>"),Q+=`${J._type==="placeholder"?w5(J):w5(z)}`,Q+="",Q+=``,Q+=``,Q+=``,J.shape==="custGeom")Q+="",Q+="",Q+="",Q+="",Q+="",Q+="",Q+='',Q+="",Q+=``,(w=J.options.points)===null||w===void 0||w.forEach((h,x)=>{if("curve"in h)switch(h.curve.type){case"arc":Q+=``;break;case"cubic":Q+=` `;break;case"quadratic":Q+=` - `;break}else if("close"in h)Q+="";else if(h.moveTo||x===0)Q+=``;else Q+=``}),Q+="",Q+="",Q+="";else{if(Q+='',J.options.rectRadius)Q+=``;else if(J.options.angleRange){for(let h=0;h<2;h++){let x=J.options.angleRange[h];Q+=``}if(J.options.arcThicknessRatio)Q+=``}Q+=""}if(Q+=J.options.fill?B2(J.options.fill):"",J.options.line){if(Q+=J.options.line.width?``:"",J.options.line.color)Q+=B2(J.options.line);if(J.options.line.dashType)Q+=``;if(J.options.line.beginArrowType)Q+=``;if(J.options.line.endArrowType)Q+=``;Q+=""}if(J.options.shadow&&J.options.shadow.type!=="none")J.options.shadow.type=J.options.shadow.type||"outer",J.options.shadow.blur=Y0(J.options.shadow.blur||8),J.options.shadow.offset=Y0(J.options.shadow.offset||4),J.options.shadow.angle=Math.round((J.options.shadow.angle||270)*60000),J.options.shadow.opacity=Math.round((J.options.shadow.opacity||0.75)*1e5),J.options.shadow.color=J.options.shadow.color||tK.color,Q+="",Q+=` `,Q+=` `,Q+=` `,Q+=" ",Q+="";Q+="",Q+=qJ(J),Q+="";break;case D0.image:if(Q+="",Q+=" ",Q+=``,(F=J.hyperlink)===null||F===void 0?void 0:F.url)Q+=``;if((M=J.hyperlink)===null||M===void 0?void 0:M.slide)Q+=``;if(Q+=" ",Q+=' ',Q+=" "+w5(z)+"",Q+=" ",Q+="",($._relsMedia||[]).filter((h)=>h.rId===J.imageRid)[0]&&($._relsMedia||[]).filter((h)=>h.rId===J.imageRid)[0].extn==="svg")Q+=``,Q+=J.options.transparency?` `:"",Q+=" ",Q+=' ',Q+=` `,Q+=" ",Q+=" ",Q+="";else Q+=``,Q+=J.options.transparency?``:"",Q+="";if(X===null||X===void 0?void 0:X.type){let h=X.w?H0(X.w,"X",$._presLayout):L,x=X.h?H0(X.h,"Y",$._presLayout):D,l=H0(X.x||0,"X",$._presLayout),$0=H0(X.y||0,"Y",$._presLayout);Q+=XB[X.type]({w:g,h:c},{w:h,h:x,x:l,y:$0}),g=h,c=x}else Q+=" ";if(Q+="",Q+="",Q+=" ",Q+=` `,Q+=` `,Q+=" ",Q+=` `,J.options.shadow&&J.options.shadow.type!=="none")J.options.shadow.type=J.options.shadow.type||"outer",J.options.shadow.blur=Y0(J.options.shadow.blur||8),J.options.shadow.offset=Y0(J.options.shadow.offset||4),J.options.shadow.angle=Math.round((J.options.shadow.angle||270)*60000),J.options.shadow.opacity=Math.round((J.options.shadow.opacity||0.75)*1e5),J.options.shadow.color=J.options.shadow.color||tK.color,Q+="",Q+=``,Q+=``,Q+=``,Q+=``,Q+="";Q+="",Q+="";break;case D0.media:if(J.mtype==="online")Q+="",Q+=" ",Q+=``,Q+=" ",Q+=" ",Q+=` `,Q+=" ",Q+=" ",Q+=` `,Q+=" ",Q+=` `,Q+=' ',Q+=" ",Q+="";else Q+="",Q+=" ",Q+=``,Q+=' ',Q+=" ",Q+=` `,Q+=" ",Q+=' ',Q+=` `,Q+=" ",Q+=" ",Q+=" ",Q+=" ",Q+=` `,Q+=" ",Q+=` `,Q+=' ',Q+=" ",Q+="";break;case D0.chart:Q+="",Q+=" ",Q+=` `,Q+=" ",Q+=` ${w5(z)}`,Q+=" ",Q+=` `,Q+=' ',Q+=' ',Q+=` `,Q+=" ",Q+=" ",Q+="";break;default:Q+="";break}}),$._slideNumberProps){if(!$._slideNumberProps.align)$._slideNumberProps.align="left";if(Q+="",Q+=" ",Q+=' ',Q+=' ',Q+=" ",Q+=" ",Q+=` `,Q+="",Q+="`,$._slideNumberProps.color)Q+=B2($._slideNumberProps.color);if($._slideNumberProps.fontFace)Q+=``;Q+=""}if(Q+="",Q+="",$._slideNumberProps.align.startsWith("l"))Q+='';else if($._slideNumberProps.align.startsWith("c"))Q+='';else if($._slideNumberProps.align.startsWith("r"))Q+='';else Q+='';Q+=``,Q+=`${$._slideNum}`,Q+=""}return Q+="",Q+="",Q}function d7($,q){let Q=0,K=''+n0+'';return $._rels.forEach((J)=>{if(Q=Math.max(Q,J.rId),J.type.toLowerCase().includes("hyperlink"))if(J.data==="slide")K+=``;else K+=``;else if(J.type.toLowerCase().includes("notesSlide"))K+=``}),($._relsChart||[]).forEach((J)=>{Q=Math.max(Q,J.rId),K+=``}),($._relsMedia||[]).forEach((J)=>{let Z=J.rId.toString();if(Q=Math.max(Q,J.rId),J.type.toLowerCase().includes("image"))K+='';else if(J.type.toLowerCase().includes("audio"))if(K.includes(' Target="'+J.Target+'"'))K+='';else K+='';else if(J.type.toLowerCase().includes("video"))if(K.includes(' Target="'+J.Target+'"'))K+='';else K+='';else if(J.type.toLowerCase().includes("online"))if(K.includes(' Target="'+J.Target+'"'))K+='';else K+=''}),q.forEach((J,Z)=>{K+=``}),K+="",K}function QJ($,q){var Q,K;let J="",Z="",G="",W="",B=q?"a:lvl1pPr":"a:pPr",V=Y0(FB),U=`<${B}${$.options.rtlMode?' rtl="1" ':""}`;{if($.options.align)switch($.options.align){case"left":U+=' algn="l"';break;case"right":U+=' algn="r"';break;case"center":U+=' algn="ctr"';break;case"justify":U+=' algn="just"';break;default:U+="";break}if($.options.lineSpacing)Z=``;else if($.options.lineSpacingMultiple)Z=``;if($.options.indentLevel&&!isNaN(Number($.options.indentLevel))&&$.options.indentLevel>0)U+=` lvl="${$.options.indentLevel}"`;if($.options.paraSpaceBefore&&!isNaN(Number($.options.paraSpaceBefore))&&$.options.paraSpaceBefore>0)G+=``;if($.options.paraSpaceAfter&&!isNaN(Number($.options.paraSpaceAfter))&&$.options.paraSpaceAfter>0)G+=``;if(typeof $.options.bullet==="object"){if((K=(Q=$===null||$===void 0?void 0:$.options)===null||Q===void 0?void 0:Q.bullet)===null||K===void 0?void 0:K.indent)V=Y0($.options.bullet.indent);if($.options.bullet.type){if($.options.bullet.type.toString().toLowerCase()==="number")U+=` marL="${$.options.indentLevel&&$.options.indentLevel>0?V+V*$.options.indentLevel:V}" indent="-${V}"`,J=``}else if($.options.bullet.characterCode){let w=`&#x${$.options.bullet.characterCode};`;if(!/^[0-9A-Fa-f]{4}$/.test($.options.bullet.characterCode))console.warn("Warning: `bullet.characterCode should be a 4-digit unicode charatcer (ex: 22AB)`!"),w=C6.DEFAULT;U+=` marL="${$.options.indentLevel&&$.options.indentLevel>0?V+V*$.options.indentLevel:V}" indent="-${V}"`,J=''}else if($.options.bullet.code){let w=`&#x${$.options.bullet.code};`;if(!/^[0-9A-Fa-f]{4}$/.test($.options.bullet.code))console.warn("Warning: `bullet.code should be a 4-digit hex code (ex: 22AB)`!"),w=C6.DEFAULT;U+=` marL="${$.options.indentLevel&&$.options.indentLevel>0?V+V*$.options.indentLevel:V}" indent="-${V}"`,J=''}else U+=` marL="${$.options.indentLevel&&$.options.indentLevel>0?V+V*$.options.indentLevel:V}" indent="-${V}"`,J=``}else if($.options.bullet)U+=` marL="${$.options.indentLevel&&$.options.indentLevel>0?V+V*$.options.indentLevel:V}" indent="-${V}"`,J=``;else if(!$.options.bullet)U+=' indent="0" marL="0"',J="";if($.options.tabStops&&Array.isArray($.options.tabStops))W=`${$.options.tabStops.map((F)=>``).join("")}`;if(U+=">"+Z+G+J+W,q)U+=FJ($.options,!0);U+=""}return U}function FJ($,q){var Q;let K="",J=q?"a:defRPr":"a:rPr";if(K+="<"+J+' lang="'+($.lang?$.lang:"en-US")+'"'+($.lang?' altLang="en-US"':""),K+=$.fontSize?` sz="${Math.round($.fontSize*100)}"`:"",K+=($===null||$===void 0?void 0:$.bold)?` b="${$.bold?"1":"0"}"`:"",K+=($===null||$===void 0?void 0:$.italic)?` i="${$.italic?"1":"0"}"`:"",K+=($===null||$===void 0?void 0:$.strike)?` strike="${typeof $.strike==="string"?$.strike:"sngStrike"}"`:"",typeof $.underline==="object"&&((Q=$.underline)===null||Q===void 0?void 0:Q.style))K+=` u="${$.underline.style}"`;else if(typeof $.underline==="string")K+=` u="${String($.underline)}"`;else if($.hyperlink)K+=' u="sng"';if($.baseline)K+=` baseline="${Math.round($.baseline*50)}"`;else if($.subscript)K+=' baseline="-40000"';else if($.superscript)K+=' baseline="30000"';if(K+=$.charSpacing?` spc="${Math.round($.charSpacing*100)}" kern="0"`:"",K+=' dirty="0">',$.color||$.fontFace||$.outline||typeof $.underline==="object"&&$.underline.color){if($.outline&&typeof $.outline==="object")K+=`${B2($.outline.color||"FFFFFF")}`;if($.color)K+=B2({color:$.color,transparency:$.transparency});if($.highlight)K+=`${R0($.highlight)}`;if(typeof $.underline==="object"&&$.underline.color)K+=`${B2($.underline.color)}`;if($.glow)K+=`${kB($.glow,wB)}`;if($.fontFace)K+=``}if($.hyperlink){if(typeof $.hyperlink!=="object")throw Error("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink:{url:'https://github.com'}` ");else if(!$.hyperlink.url&&!$.hyperlink.slide)throw Error("ERROR: 'hyperlink requires either `url` or `slide`'");else if($.hyperlink.url)K+=`":"/>"}`;else if($.hyperlink.slide)K+=`":"/>"}`;if($.color)K+=" ",K+=' ',K+=' ',K+=" ",K+=" ",K+=""}return K+=``,K}function yB($){return $.text?`${FJ($.options,!1)}${k0($.text)}`:""}function hB($){let q="";else if($.options.fit==="resize")q+=""}if($.options.shrinkText)q+="";q+=$.options._bodyProp.autoFit?"":"",q+=""}else q+=' wrap="square" rtlCol="0">',q+="";return $._type===D0.tablecell?"":q}function qJ($){let q=$.options||{},Q=[],K=[];if(q&&$._type!==D0.tablecell&&(typeof $.text>"u"||$.text===null))return"";let J=$._type===D0.tablecell?"":"";if(J+=hB($),q.h===0&&q.line&&q.align)J+='';else if($._type==="placeholder")J+=`${QJ($,!0)}`;else J+="";if(typeof $.text==="string"||typeof $.text==="number")Q.push({text:$.text.toString(),options:q||{}});else if($.text&&!Array.isArray($.text)&&typeof $.text==="object"&&Object.keys($.text).includes("text"))Q.push({text:$.text||"",options:$.options||{}});else if(Array.isArray($.text))Q=$.text.map((W)=>({text:W.text,options:W.options}));Q.forEach((W,B)=>{if(!W.text)W.text="";if(W.options=W.options||q||{},B===0&&W.options&&!W.options.bullet&&q.bullet)W.options.bullet=q.bullet;if(typeof W.text==="string"||typeof W.text==="number")W.text=W.text.toString().replace(/\r*\n/g,n0);if(W.text.includes(n0)&&W.text.match(/\n$/g)===null)W.text.split(n0).forEach((V)=>{W.options.breakLine=!0,K.push({text:V,options:W.options})});else K.push(W)});let Z=[],G=[];if(K.forEach((W,B)=>{if(G.length>0&&(W.options.align||q.align)){if(W.options.align!==K[B-1].options.align)Z.push(G),G=[]}else if(G.length>0&&W.options.bullet&&G.length>0)Z.push(G),G=[],W.options.breakLine=!1;if(G.push(W),G.length>0&&W.options.breakLine){if(B+1{var B;let V=!1;J+="";let U=`{if(w.options._lineIdx=F,F>0&&w.options.softBreakBefore)J+="";if(w.options.align=w.options.align||q.align,w.options.lineSpacing=w.options.lineSpacing||q.lineSpacing,w.options.lineSpacingMultiple=w.options.lineSpacingMultiple||q.lineSpacingMultiple,w.options.indentLevel=w.options.indentLevel||q.indentLevel,w.options.paraSpaceBefore=w.options.paraSpaceBefore||q.paraSpaceBefore,w.options.paraSpaceAfter=w.options.paraSpaceAfter||q.paraSpaceAfter,U=QJ(w,!1),J+=U.replace("",""),Object.entries(q).filter(([M])=>!(w.options.hyperlink&&M==="color")).forEach(([M,k])=>{if(M!=="bullet"&&!w.options[M])w.options[M]=k}),J+=yB(w),!w.text&&q.fontSize||w.options.fontSize)V=!0,q.fontSize=q.fontSize||w.options.fontSize}),$._type===D0.tablecell&&(q.fontSize||q.fontFace))if(q.fontFace)J+=`',J+=``,J+=``,J+=``,J+="";else J+=`';else if(V)J+=`';else J+=``;J+=""}),J.indexOf("")===-1)J+="";return J+=$._type===D0.tablecell?"":"",J}function w5($){var q,Q;if(!$)return"";let K=((q=$.options)===null||q===void 0?void 0:q._placeholderIdx)?$.options._placeholderIdx:"",J=((Q=$.options)===null||Q===void 0?void 0:Q._placeholderType)?$.options._placeholderType:"",Z=J&&F8[J]?F8[J].toString():"";return``;break}else if("close"in h)Q+="";else if(h.moveTo||x===0)Q+=``;else Q+=``}),Q+="",Q+="",Q+="";else{if(Q+='',J.options.rectRadius)Q+=``;else if(J.options.angleRange){for(let h=0;h<2;h++){let x=J.options.angleRange[h];Q+=``}if(J.options.arcThicknessRatio)Q+=``}Q+=""}if(Q+=J.options.fill?B2(J.options.fill):"",J.options.line){if(Q+=J.options.line.width?``:"",J.options.line.color)Q+=B2(J.options.line);if(J.options.line.dashType)Q+=``;if(J.options.line.beginArrowType)Q+=``;if(J.options.line.endArrowType)Q+=``;Q+=""}if(J.options.shadow&&J.options.shadow.type!=="none")J.options.shadow.type=J.options.shadow.type||"outer",J.options.shadow.blur=Y0(J.options.shadow.blur||8),J.options.shadow.offset=Y0(J.options.shadow.offset||4),J.options.shadow.angle=Math.round((J.options.shadow.angle||270)*60000),J.options.shadow.opacity=Math.round((J.options.shadow.opacity||0.75)*1e5),J.options.shadow.color=J.options.shadow.color||eK.color,Q+="",Q+=` `,Q+=` `,Q+=` `,Q+=" ",Q+="";Q+="",Q+=KJ(J),Q+="";break;case D0.image:if(Q+="",Q+=" ",Q+=``,(F=J.hyperlink)===null||F===void 0?void 0:F.url)Q+=``;if((M=J.hyperlink)===null||M===void 0?void 0:M.slide)Q+=``;if(Q+=" ",Q+=' ',Q+=" "+w5(z)+"",Q+=" ",Q+="",($._relsMedia||[]).filter((h)=>h.rId===J.imageRid)[0]&&($._relsMedia||[]).filter((h)=>h.rId===J.imageRid)[0].extn==="svg")Q+=``,Q+=J.options.transparency?` `:"",Q+=" ",Q+=' ',Q+=` `,Q+=" ",Q+=" ",Q+="";else Q+=``,Q+=J.options.transparency?``:"",Q+="";if(X===null||X===void 0?void 0:X.type){let h=X.w?H0(X.w,"X",$._presLayout):L,x=X.h?H0(X.h,"Y",$._presLayout):D,l=H0(X.x||0,"X",$._presLayout),$0=H0(X.y||0,"Y",$._presLayout);Q+=cB[X.type]({w:g,h:c},{w:h,h:x,x:l,y:$0}),g=h,c=x}else Q+=" ";if(Q+="",Q+="",Q+=" ",Q+=` `,Q+=` `,Q+=" ",Q+=` `,J.options.shadow&&J.options.shadow.type!=="none")J.options.shadow.type=J.options.shadow.type||"outer",J.options.shadow.blur=Y0(J.options.shadow.blur||8),J.options.shadow.offset=Y0(J.options.shadow.offset||4),J.options.shadow.angle=Math.round((J.options.shadow.angle||270)*60000),J.options.shadow.opacity=Math.round((J.options.shadow.opacity||0.75)*1e5),J.options.shadow.color=J.options.shadow.color||eK.color,Q+="",Q+=``,Q+=``,Q+=``,Q+=``,Q+="";Q+="",Q+="";break;case D0.media:if(J.mtype==="online")Q+="",Q+=" ",Q+=``,Q+=" ",Q+=" ",Q+=` `,Q+=" ",Q+=" ",Q+=` `,Q+=" ",Q+=` `,Q+=' ',Q+=" ",Q+="";else Q+="",Q+=" ",Q+=``,Q+=' ',Q+=" ",Q+=` `,Q+=" ",Q+=' ',Q+=` `,Q+=" ",Q+=" ",Q+=" ",Q+=" ",Q+=` `,Q+=" ",Q+=` `,Q+=' ',Q+=" ",Q+="";break;case D0.chart:Q+="",Q+=" ",Q+=` `,Q+=" ",Q+=` ${w5(z)}`,Q+=" ",Q+=` `,Q+=' ',Q+=' ',Q+=` `,Q+=" ",Q+=" ",Q+="";break;default:Q+="";break}}),$._slideNumberProps){if(!$._slideNumberProps.align)$._slideNumberProps.align="left";if(Q+="",Q+=" ",Q+=' ',Q+=' ',Q+=" ",Q+=" ",Q+=` `,Q+="",Q+="`,$._slideNumberProps.color)Q+=B2($._slideNumberProps.color);if($._slideNumberProps.fontFace)Q+=``;Q+=""}if(Q+="",Q+="",$._slideNumberProps.align.startsWith("l"))Q+='';else if($._slideNumberProps.align.startsWith("c"))Q+='';else if($._slideNumberProps.align.startsWith("r"))Q+='';else Q+='';Q+=``,Q+=`${$._slideNum}`,Q+=""}return Q+="",Q+="",Q}function d7($,q){let Q=0,K=''+n0+'';return $._rels.forEach((J)=>{if(Q=Math.max(Q,J.rId),J.type.toLowerCase().includes("hyperlink"))if(J.data==="slide")K+=``;else K+=``;else if(J.type.toLowerCase().includes("notesSlide"))K+=``}),($._relsChart||[]).forEach((J)=>{Q=Math.max(Q,J.rId),K+=``}),($._relsMedia||[]).forEach((J)=>{let Z=J.rId.toString();if(Q=Math.max(Q,J.rId),J.type.toLowerCase().includes("image"))K+='';else if(J.type.toLowerCase().includes("audio"))if(K.includes(' Target="'+J.Target+'"'))K+='';else K+='';else if(J.type.toLowerCase().includes("video"))if(K.includes(' Target="'+J.Target+'"'))K+='';else K+='';else if(J.type.toLowerCase().includes("online"))if(K.includes(' Target="'+J.Target+'"'))K+='';else K+=''}),q.forEach((J,Z)=>{K+=``}),K+="",K}function qJ($,q){var Q,K;let J="",Z="",G="",W="",B=q?"a:lvl1pPr":"a:pPr",V=Y0(RB),U=`<${B}${$.options.rtlMode?' rtl="1" ':""}`;{if($.options.align)switch($.options.align){case"left":U+=' algn="l"';break;case"right":U+=' algn="r"';break;case"center":U+=' algn="ctr"';break;case"justify":U+=' algn="just"';break;default:U+="";break}if($.options.lineSpacing)Z=``;else if($.options.lineSpacingMultiple)Z=``;if($.options.indentLevel&&!isNaN(Number($.options.indentLevel))&&$.options.indentLevel>0)U+=` lvl="${$.options.indentLevel}"`;if($.options.paraSpaceBefore&&!isNaN(Number($.options.paraSpaceBefore))&&$.options.paraSpaceBefore>0)G+=``;if($.options.paraSpaceAfter&&!isNaN(Number($.options.paraSpaceAfter))&&$.options.paraSpaceAfter>0)G+=``;if(typeof $.options.bullet==="object"){if((K=(Q=$===null||$===void 0?void 0:$.options)===null||Q===void 0?void 0:Q.bullet)===null||K===void 0?void 0:K.indent)V=Y0($.options.bullet.indent);if($.options.bullet.type){if($.options.bullet.type.toString().toLowerCase()==="number")U+=` marL="${$.options.indentLevel&&$.options.indentLevel>0?V+V*$.options.indentLevel:V}" indent="-${V}"`,J=``}else if($.options.bullet.characterCode){let w=`&#x${$.options.bullet.characterCode};`;if(!/^[0-9A-Fa-f]{4}$/.test($.options.bullet.characterCode))console.warn("Warning: `bullet.characterCode should be a 4-digit unicode charatcer (ex: 22AB)`!"),w=C6.DEFAULT;U+=` marL="${$.options.indentLevel&&$.options.indentLevel>0?V+V*$.options.indentLevel:V}" indent="-${V}"`,J=''}else if($.options.bullet.code){let w=`&#x${$.options.bullet.code};`;if(!/^[0-9A-Fa-f]{4}$/.test($.options.bullet.code))console.warn("Warning: `bullet.code should be a 4-digit hex code (ex: 22AB)`!"),w=C6.DEFAULT;U+=` marL="${$.options.indentLevel&&$.options.indentLevel>0?V+V*$.options.indentLevel:V}" indent="-${V}"`,J=''}else U+=` marL="${$.options.indentLevel&&$.options.indentLevel>0?V+V*$.options.indentLevel:V}" indent="-${V}"`,J=``}else if($.options.bullet)U+=` marL="${$.options.indentLevel&&$.options.indentLevel>0?V+V*$.options.indentLevel:V}" indent="-${V}"`,J=``;else if(!$.options.bullet)U+=' indent="0" marL="0"',J="";if($.options.tabStops&&Array.isArray($.options.tabStops))W=`${$.options.tabStops.map((F)=>``).join("")}`;if(U+=">"+Z+G+J+W,q)U+=MJ($.options,!0);U+=""}return U}function MJ($,q){var Q;let K="",J=q?"a:defRPr":"a:rPr";if(K+="<"+J+' lang="'+($.lang?$.lang:"en-US")+'"'+($.lang?' altLang="en-US"':""),K+=$.fontSize?` sz="${Math.round($.fontSize*100)}"`:"",K+=($===null||$===void 0?void 0:$.bold)?` b="${$.bold?"1":"0"}"`:"",K+=($===null||$===void 0?void 0:$.italic)?` i="${$.italic?"1":"0"}"`:"",K+=($===null||$===void 0?void 0:$.strike)?` strike="${typeof $.strike==="string"?$.strike:"sngStrike"}"`:"",typeof $.underline==="object"&&((Q=$.underline)===null||Q===void 0?void 0:Q.style))K+=` u="${$.underline.style}"`;else if(typeof $.underline==="string")K+=` u="${String($.underline)}"`;else if($.hyperlink)K+=' u="sng"';if($.baseline)K+=` baseline="${Math.round($.baseline*50)}"`;else if($.subscript)K+=' baseline="-40000"';else if($.superscript)K+=' baseline="30000"';if(K+=$.charSpacing?` spc="${Math.round($.charSpacing*100)}" kern="0"`:"",K+=' dirty="0">',$.color||$.fontFace||$.outline||typeof $.underline==="object"&&$.underline.color){if($.outline&&typeof $.outline==="object")K+=`${B2($.outline.color||"FFFFFF")}`;if($.color)K+=B2({color:$.color,transparency:$.transparency});if($.highlight)K+=`${R0($.highlight)}`;if(typeof $.underline==="object"&&$.underline.color)K+=`${B2($.underline.color)}`;if($.glow)K+=`${AB($.glow,CB)}`;if($.fontFace)K+=``}if($.hyperlink){if(typeof $.hyperlink!=="object")throw Error("ERROR: text `hyperlink` option should be an object. Ex: `hyperlink:{url:'https://github.com'}` ");else if(!$.hyperlink.url&&!$.hyperlink.slide)throw Error("ERROR: 'hyperlink requires either `url` or `slide`'");else if($.hyperlink.url)K+=`":"/>"}`;else if($.hyperlink.slide)K+=`":"/>"}`;if($.color)K+=" ",K+=' ',K+=' ',K+=" ",K+=" ",K+=""}return K+=``,K}function bB($){return $.text?`${MJ($.options,!1)}${k0($.text)}`:""}function nB($){let q="";else if($.options.fit==="resize")q+=""}if($.options.shrinkText)q+="";q+=$.options._bodyProp.autoFit?"":"",q+=""}else q+=' wrap="square" rtlCol="0">',q+="";return $._type===D0.tablecell?"":q}function KJ($){let q=$.options||{},Q=[],K=[];if(q&&$._type!==D0.tablecell&&(typeof $.text>"u"||$.text===null))return"";let J=$._type===D0.tablecell?"":"";if(J+=nB($),q.h===0&&q.line&&q.align)J+='';else if($._type==="placeholder")J+=`${qJ($,!0)}`;else J+="";if(typeof $.text==="string"||typeof $.text==="number")Q.push({text:$.text.toString(),options:q||{}});else if($.text&&!Array.isArray($.text)&&typeof $.text==="object"&&Object.keys($.text).includes("text"))Q.push({text:$.text||"",options:$.options||{}});else if(Array.isArray($.text))Q=$.text.map((W)=>({text:W.text,options:W.options}));Q.forEach((W,B)=>{if(!W.text)W.text="";if(W.options=W.options||q||{},B===0&&W.options&&!W.options.bullet&&q.bullet)W.options.bullet=q.bullet;if(typeof W.text==="string"||typeof W.text==="number")W.text=W.text.toString().replace(/\r*\n/g,n0);if(W.text.includes(n0)&&W.text.match(/\n$/g)===null)W.text.split(n0).forEach((V)=>{W.options.breakLine=!0,K.push({text:V,options:W.options})});else K.push(W)});let Z=[],G=[];if(K.forEach((W,B)=>{if(G.length>0&&(W.options.align||q.align)){if(W.options.align!==K[B-1].options.align)Z.push(G),G=[]}else if(G.length>0&&W.options.bullet&&G.length>0)Z.push(G),G=[],W.options.breakLine=!1;if(G.push(W),G.length>0&&W.options.breakLine){if(B+1{var B;let V=!1;J+="";let U=`{if(w.options._lineIdx=F,F>0&&w.options.softBreakBefore)J+="";if(w.options.align=w.options.align||q.align,w.options.lineSpacing=w.options.lineSpacing||q.lineSpacing,w.options.lineSpacingMultiple=w.options.lineSpacingMultiple||q.lineSpacingMultiple,w.options.indentLevel=w.options.indentLevel||q.indentLevel,w.options.paraSpaceBefore=w.options.paraSpaceBefore||q.paraSpaceBefore,w.options.paraSpaceAfter=w.options.paraSpaceAfter||q.paraSpaceAfter,U=qJ(w,!1),J+=U.replace("",""),Object.entries(q).filter(([M])=>!(w.options.hyperlink&&M==="color")).forEach(([M,k])=>{if(M!=="bullet"&&!w.options[M])w.options[M]=k}),J+=bB(w),!w.text&&q.fontSize||w.options.fontSize)V=!0,q.fontSize=q.fontSize||w.options.fontSize}),$._type===D0.tablecell&&(q.fontSize||q.fontFace))if(q.fontFace)J+=`',J+=``,J+=``,J+=``,J+="";else J+=`';else if(V)J+=`';else J+=``;J+=""}),J.indexOf("")===-1)J+="";return J+=$._type===D0.tablecell?"":"",J}function w5($){var q,Q;if(!$)return"";let K=((q=$.options)===null||q===void 0?void 0:q._placeholderIdx)?$.options._placeholderIdx:"",J=((Q=$.options)===null||Q===void 0?void 0:Q._placeholderType)?$.options._placeholderType:"",Z=J&&F8[J]?F8[J].toString():"";return`0?' hasCustomPrompt="1"':""} - />`}function xB($,q,Q){let K=''+n0;return K+='',K+='',K+='',K+='',K+='',K+='',K+='',K+='',K+='',K+='',$.forEach((J)=>{(J._relsMedia||[]).forEach((Z)=>{if(Z.type!=="image"&&Z.type!=="online"&&Z.type!=="chart"&&Z.extn!=="m4v"&&!K.includes(Z.type))K+=''})}),K+='',K+='',K+='',K+='',$.forEach((J,Z)=>{K+=``,K+=``,J._relsChart.forEach((G)=>{K+=``})}),K+='',K+='',K+='',K+='',q.forEach((J,Z)=>{K+=``,(J._relsChart||[]).forEach((G)=>{K+=' '})}),$.forEach((J,Z)=>{K+=``}),Q._relsChart.forEach((J)=>{K+=' '}),Q._relsMedia.forEach((J)=>{if(J.type!=="image"&&J.type!=="online"&&J.type!=="chart"&&J.extn!=="m4v"&&!K.includes(J.type))K+=' '}),K+=' ',K+=' ',K+="",K}function OB(){return`${n0} + />`}function dB($,q,Q){let K=''+n0;return K+='',K+='',K+='',K+='',K+='',K+='',K+='',K+='',K+='',K+='',$.forEach((J)=>{(J._relsMedia||[]).forEach((Z)=>{if(Z.type!=="image"&&Z.type!=="online"&&Z.type!=="chart"&&Z.extn!=="m4v"&&!K.includes(Z.type))K+=''})}),K+='',K+='',K+='',K+='',$.forEach((J,Z)=>{K+=``,K+=``,J._relsChart.forEach((G)=>{K+=``})}),K+='',K+='',K+='',K+='',q.forEach((J,Z)=>{K+=``,(J._relsChart||[]).forEach((G)=>{K+=' '})}),$.forEach((J,Z)=>{K+=``}),Q._relsChart.forEach((J)=>{K+=' '}),Q._relsMedia.forEach((J)=>{if(J.type!=="image"&&J.type!=="online"&&J.type!=="chart"&&J.extn!=="m4v"&&!K.includes(J.type))K+=' '}),K+=' ',K+=' ',K+="",K}function mB(){return`${n0} - `}function PB($,q){return`${n0} + `}function pB($,q){return`${n0} 0 0 Microsoft Office PowerPoint @@ -103,7 +103,7 @@ ${String(w)}`)}if(K&&Z&&U.path.startsWith("http"))return yield new Promise((w,F) false false 16.0000 - `}function TB($,q,Q,K){return` + `}function iB($,q,Q,K){return` ${k0($)} ${k0(q)} @@ -112,13 +112,13 @@ ${String(w)}`)}if(K&&Z&&U.path.startsWith("http"))return yield new Promise((w,F) ${K} ${new Date().toISOString().replace(/\.\d\d\dZ/,"Z")} ${new Date().toISOString().replace(/\.\d\d\dZ/,"Z")} - `}function uB($){let q=1,Q=''+n0;Q+='',Q+='';for(let K=1;K<=$.length;K++)Q+=``;return q++,Q+=``,Q}function SB($){return`${n0}${n7($)}`}function EB($){let q="";return $._slideObjects.forEach((Q)=>{if(Q._type===D0.notes)q+=(Q===null||Q===void 0?void 0:Q.text)&&Q.text[0]?Q.text[0].text:""}),q.replace(/\r*\n/g,n0)}function _B(){return`${n0}7/23/19Click to edit Master text stylesSecond levelThird levelFourth levelFifth level‹#›`}function cB($){return`${n0}${k0(EB($))}${$._slideNum}`}function bB($){return` + `}function oB($){let q=1,Q=''+n0;Q+='',Q+='';for(let K=1;K<=$.length;K++)Q+=``;return q++,Q+=``,Q}function aB($){return`${n0}${n7($)}`}function lB($){let q="";return $._slideObjects.forEach((Q)=>{if(Q._type===D0.notes)q+=(Q===null||Q===void 0?void 0:Q.text)&&Q.text[0]?Q.text[0].text:""}),q.replace(/\r*\n/g,n0)}function rB(){return`${n0}7/23/19Click to edit Master text stylesSecond levelThird levelFourth levelFifth level‹#›`}function sB($){return`${n0}${k0(lB($))}${$._slideNum}`}function tB($){return` ${n7($)} - `}function nB($,q){let Q=q.map((J,Z)=>``),K=''+n0;return K+='',K+=n7($),K+='',K+=""+Q.join("")+"",K+='',K+=' '+' '+' '+' '+' '+' '+' '+' '+' '+' '+' ',K+="",K}function dB($,q){return d7(q[$-1],[{target:"../slideMasters/slideMaster1.xml",type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster"}])}function mB($,q,Q){return d7($[Q-1],[{target:`../slideLayouts/slideLayout${aB($,q,Q)}.xml`,type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"},{target:`../notesSlides/notesSlide${Q}.xml`,type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide"}])}function pB($){return` + `}function eB($,q){let Q=q.map((J,Z)=>``),K=''+n0;return K+='',K+=n7($),K+='',K+=""+Q.join("")+"",K+='',K+=' '+' '+' '+' '+' '+' '+' '+' '+' '+' '+' ',K+="",K}function $z($,q){return d7(q[$-1],[{target:"../slideMasters/slideMaster1.xml",type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster"}])}function Qz($,q,Q){return d7($[Q-1],[{target:`../slideLayouts/slideLayout${Vz($,q,Q)}.xml`,type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"},{target:`../notesSlides/notesSlide${Q}.xml`,type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide"}])}function qz($){return` - `}function iB($,q){let Q=q.map((K,J)=>({target:`../slideLayouts/slideLayout${J+1}.xml`,type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"}));return Q.push({target:"../theme/theme1.xml",type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"}),d7($,Q)}function oB(){return`${n0} + `}function Kz($,q){let Q=q.map((K,J)=>({target:`../slideLayouts/slideLayout${J+1}.xml`,type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"}));return Q.push({target:"../theme/theme1.xml",type:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme"}),d7($,Q)}function Jz(){return`${n0} - `}function aB($,q,Q){for(let K=0;K`:'',G=((K=$.theme)===null||K===void 0?void 0:K.bodyFontFace)?``:'';return`${Z}${G}`}function rB($){let q=`${n0}`;q+='',q+="",$.slides.forEach((Q)=>q+=``),q+="",q+=``,q+=``,q+=``,q+="";for(let Q=1;Q<10;Q++)q+=``;if(q+="",$.sections&&$.sections.length>0)q+='',q+='',$.sections.forEach((Q)=>{q+=``,Q._slides.forEach((K)=>q+=``),q+=""}),q+="",q+='',q+="";return q+="",q}function sB(){return`${n0}`}function tB(){return`${n0}`}function eB(){return`${n0}`}var $z="4.0.1";class m7{set layout($){let q=this.LAYOUTS[$];if(q)this._layout=$,this._presLayout=q;else throw Error("UNKNOWN-LAYOUT")}get layout(){return this._layout}get version(){return this._version}set author($){this._author=$}get author(){return this._author}set company($){this._company=$}get company(){return this._company}set revision($){this._revision=$}get revision(){return this._revision}set subject($){this._subject=$}get subject(){return this._subject}set theme($){this._theme=$}get theme(){return this._theme}set title($){this._title=$}get title(){return this._title}set rtlMode($){this._rtlMode=$}get rtlMode(){return this._rtlMode}get masterSlide(){return this._masterSlide}get slides(){return this._slides}get sections(){return this._sections}get slideLayouts(){return this._slideLayouts}get AlignH(){return this._alignH}get AlignV(){return this._alignV}get ChartType(){return this._chartType}get OutputType(){return this._outputType}get presLayout(){return this._presLayout}get SchemeColor(){return this._schemeColor}get ShapeType(){return this._shapeType}get charts(){return this._charts}get colors(){return this._colors}get shapes(){return this._shapes}constructor(){this._version=$z,this._alignH=u7,this._alignV=S7,this._chartType=P7,this._outputType=O7,this._schemeColor=G2,this._shapeType=T7,this._charts=q0,this._colors=D5,this._shapes=B1,this.addNewSlide=(J)=>{let Z=this.sections.length>0&&this.sections[this.sections.length-1]._slides.filter((G)=>G._slideNum===this.slides[this.slides.length-1]._slideNum).length>0;return J.sectionTitle=Z?this.sections[this.sections.length-1].title:null,this.addSlide(J)},this.getSlide=(J)=>this.slides.filter((Z)=>Z._slideNum===J)[0],this.setSlideNumber=(J)=>{this.masterSlide._slideNumberProps=J,this.slideLayouts.filter((Z)=>Z._name===h7)[0]._slideNumberProps=J},this.createChartMediaRels=(J,Z,G)=>{J._relsChart.forEach((W)=>G.push(jB(W,Z))),J._relsMedia.forEach((W)=>{if(W.type!=="online"&&W.type!=="hyperlink"){let B=W.data&&typeof W.data==="string"?W.data:"";if(!B.includes(",")&&!B.includes(";"))B="image/png;base64,"+B;else if(!B.includes(","))B="image/png;base64,"+B;else if(!B.includes(";"))B="image/png;"+B;Z.file(W.Target.replace("..","ppt"),B.split(",").pop(),{base64:!0})}})},this.writeFileToBrowser=(J,Z)=>W2(this,void 0,void 0,function*(){let G=document.createElement("a");if(G.setAttribute("style","display:none;"),G.dataset.interception="off",document.body.appendChild(G),window.URL.createObjectURL){let W=window.URL.createObjectURL(new Blob([Z],{type:"application/vnd.openxmlformats-officedocument.presentationml.presentation"}));return G.href=W,G.download=J,G.click(),setTimeout(()=>{window.URL.revokeObjectURL(W),document.body.removeChild(G)},100),yield Promise.resolve(J)}}),this.exportPresentation=(J)=>W2(this,void 0,void 0,function*(){let Z=[],G=[],W=new _7.default;return this.slides.forEach((B)=>{G=G.concat(y7(B))}),this.slideLayouts.forEach((B)=>{G=G.concat(y7(B))}),G=G.concat(y7(this.masterSlide)),yield Promise.all(G).then(()=>W2(this,void 0,void 0,function*(){return this.slides.forEach((B)=>{if(B._slideLayout)CB(B)}),W.folder("_rels"),W.folder("docProps"),W.folder("ppt").folder("_rels"),W.folder("ppt/charts").folder("_rels"),W.folder("ppt/embeddings"),W.folder("ppt/media"),W.folder("ppt/slideLayouts").folder("_rels"),W.folder("ppt/slideMasters").folder("_rels"),W.folder("ppt/slides").folder("_rels"),W.folder("ppt/theme"),W.folder("ppt/notesMasters").folder("_rels"),W.folder("ppt/notesSlides").folder("_rels"),W.file("[Content_Types].xml",xB(this.slides,this.slideLayouts,this.masterSlide)),W.file("_rels/.rels",OB()),W.file("docProps/app.xml",PB(this.slides,this.company)),W.file("docProps/core.xml",TB(this.title,this.subject,this.author,this.revision)),W.file("ppt/_rels/presentation.xml.rels",uB(this.slides)),W.file("ppt/theme/theme1.xml",lB(this)),W.file("ppt/presentation.xml",rB(this)),W.file("ppt/presProps.xml",sB()),W.file("ppt/tableStyles.xml",tB()),W.file("ppt/viewProps.xml",eB()),this.slideLayouts.forEach((B,V)=>{W.file(`ppt/slideLayouts/slideLayout${V+1}.xml`,bB(B)),W.file(`ppt/slideLayouts/_rels/slideLayout${V+1}.xml.rels`,dB(V+1,this.slideLayouts))}),this.slides.forEach((B,V)=>{W.file(`ppt/slides/slide${V+1}.xml`,SB(B)),W.file(`ppt/slides/_rels/slide${V+1}.xml.rels`,mB(this.slides,this.slideLayouts,V+1)),W.file(`ppt/notesSlides/notesSlide${V+1}.xml`,cB(B)),W.file(`ppt/notesSlides/_rels/notesSlide${V+1}.xml.rels`,pB(V+1))}),W.file("ppt/slideMasters/slideMaster1.xml",nB(this.masterSlide,this.slideLayouts)),W.file("ppt/slideMasters/_rels/slideMaster1.xml.rels",iB(this.masterSlide,this.slideLayouts)),W.file("ppt/notesMasters/notesMaster1.xml",_B()),W.file("ppt/notesMasters/_rels/notesMaster1.xml.rels",oB()),this.slideLayouts.forEach((B)=>{this.createChartMediaRels(B,W,Z)}),this.slides.forEach((B)=>{this.createChartMediaRels(B,W,Z)}),this.createChartMediaRels(this.masterSlide,W,Z),yield Promise.all(Z).then(()=>W2(this,void 0,void 0,function*(){if(J.outputType==="STREAM")return yield W.generateAsync({type:"nodebuffer",compression:J.compression?"DEFLATE":"STORE"});else if(J.outputType)return yield W.generateAsync({type:J.outputType});else return yield W.generateAsync({type:"blob",compression:J.compression?"DEFLATE":"STORE"})}))}))});let $={name:"screen4x3",width:9144000,height:6858000},q={name:"screen16x9",width:9144000,height:5143500},Q={name:"screen16x10",width:9144000,height:5715000},K={name:"custom",width:12192000,height:6858000};this.LAYOUTS={LAYOUT_4x3:$,LAYOUT_16x9:q,LAYOUT_16x10:Q,LAYOUT_WIDE:K},this._author="PptxGenJS",this._company="PptxGenJS",this._revision="1",this._subject="PptxGenJS Presentation",this._title="PptxGenJS Presentation",this._presLayout={name:this.LAYOUTS[f6].name,_sizeW:this.LAYOUTS[f6].width,_sizeH:this.LAYOUTS[f6].height,width:this.LAYOUTS[f6].width,height:this.LAYOUTS[f6].height},this._rtlMode=!1,this._slideLayouts=[{_margin:M8,_name:h7,_presLayout:this._presLayout,_rels:[],_relsChart:[],_relsMedia:[],_slide:null,_slideNum:1000,_slideNumberProps:null,_slideObjects:[]}],this._slides=[],this._sections=[],this._masterSlide={addChart:null,addImage:null,addMedia:null,addNotes:null,addShape:null,addTable:null,addText:null,_name:null,_presLayout:this._presLayout,_rId:null,_rels:[],_relsChart:[],_relsMedia:[],_slideId:null,_slideLayout:null,_slideNum:null,_slideNumberProps:null,_slideObjects:[]}}stream($){return W2(this,void 0,void 0,function*(){return yield this.exportPresentation({compression:$===null||$===void 0?void 0:$.compression,outputType:"STREAM"})})}write($){return W2(this,void 0,void 0,function*(){let q=typeof $==="object"&&($===null||$===void 0?void 0:$.outputType)?$.outputType:$?$:null,Q=typeof $==="object"&&($===null||$===void 0?void 0:$.compression)?$.compression:!1;return yield this.exportPresentation({compression:Q,outputType:q})})}writeFile($){return W2(this,void 0,void 0,function*(){var q,Q;let K=typeof process<"u"&&!!((q=process.versions)===null||q===void 0?void 0:q.node)&&((Q=process.release)===null||Q===void 0?void 0:Q.name)==="node";if(typeof $==="string")console.warn("[WARNING] writeFile(string) is deprecated - pass { fileName } instead."),$={fileName:$};let{fileName:J="Presentation.pptx",compression:Z=!1}=$,G=J.toLowerCase().endsWith(".pptx")?J:`${J}.pptx`,W=K?"nodebuffer":null,B=yield this.exportPresentation({compression:Z,outputType:W});if(K){let{promises:V}=yield import("node:fs"),{writeFile:U}=V;return yield U(G,B),G}return yield this.writeFileToBrowser(G,B),G})}addSection($){if(!$)console.warn("addSection requires an argument");else if(!$.title)console.warn("addSection requires a title");let q={_type:"user",_slides:[],title:$.title};if($.order)this.sections.splice($.order,0,q);else this._sections.push(q)}addSlide($){let q=typeof $==="string"?$:($===null||$===void 0?void 0:$.masterName)?$.masterName:"",Q={_name:this.LAYOUTS[f6].name,_presLayout:this.presLayout,_rels:[],_relsChart:[],_relsMedia:[],_slideNum:this.slides.length+1};if(q){let J=this.slideLayouts.filter((Z)=>Z._name===q)[0];if(J)Q=J}let K=new zJ({addSlide:this.addNewSlide,getSlide:this.getSlide,presLayout:this.presLayout,setSlideNum:this.setSlideNumber,slideId:this.slides.length+256,slideRId:this.slides.length+2,slideNumber:this.slides.length+1,slideLayout:Q});if(this._slides.push(K),$===null||$===void 0?void 0:$.sectionTitle){let J=this.sections.filter((Z)=>Z.title===$.sectionTitle)[0];if(!J)console.warn(`addSlide: unable to find section with title: "${$.sectionTitle}"`);else J._slides.push(K)}else if(this.sections&&this.sections.length>0&&!($===null||$===void 0?void 0:$.sectionTitle)){let J=this._sections[this.sections.length-1];if(J._type==="default")J._slides.push(K);else this._sections.push({title:`Default-${this.sections.filter((Z)=>Z._type==="default").length+1}`,_type:"default",_slides:[K]})}return K}defineLayout($){if(!$)console.warn("defineLayout requires `{name, width, height}`");else if(!$.name)console.warn("defineLayout requires `name`");else if(!$.width)console.warn("defineLayout requires `width`");else if(!$.height)console.warn("defineLayout requires `height`");else if(typeof $.height!=="number")console.warn("defineLayout `height` should be a number (inches)");else if(typeof $.width!=="number")console.warn("defineLayout `width` should be a number (inches)");this.LAYOUTS[$.name]={name:$.name,_sizeW:Math.round(Number($.width)*L0),_sizeH:Math.round(Number($.height)*L0),width:Math.round(Number($.width)*L0),height:Math.round(Number($.height)*L0)}}defineSlideMaster($){let q=JSON.parse(JSON.stringify($));if(!q.title)throw Error("defineSlideMaster() object argument requires a `title` value. (https://gitbrent.github.io/PptxGenJS/docs/masters.html)");let Q={_margin:q.margin||M8,_name:q.title,_presLayout:this.presLayout,_rels:[],_relsChart:[],_relsMedia:[],_slide:null,_slideNum:1000+this.slideLayouts.length+1,_slideNumberProps:q.slideNumber||null,_slideObjects:[],background:q.background||null,bkgd:q.bkgd||null};if(vB(q,Q),this.slideLayouts.push(Q),q.background||q.bkgd)BJ(q.background,Q);if(Q._slideNumberProps&&!this.masterSlide._slideNumberProps)this.masterSlide._slideNumberProps=Q._slideNumberProps}tableToSlides($,q={}){LB(this,$,q,(q===null||q===void 0?void 0:q.masterSlideName)?this.slideLayouts.filter((Q)=>Q._name===q.masterSlideName)[0]:null)}}if(typeof globalThis.Buffer>"u")globalThis.Buffer=o;if(typeof globalThis.process>"u")globalThis.process=Qz;globalThis.__bundles=globalThis.__bundles||{};globalThis.__bundles.pptxgenjs=m7;})(); + `}function Vz($,q,Q){for(let K=0;K`:'',G=((K=$.theme)===null||K===void 0?void 0:K.bodyFontFace)?``:'';return`${Z}${G}`}function Zz($){let q=`${n0}`;q+='',q+="",$.slides.forEach((Q)=>q+=``),q+="",q+=``,q+=``,q+=``,q+="";for(let Q=1;Q<10;Q++)q+=``;if(q+="",$.sections&&$.sections.length>0)q+='',q+='',$.sections.forEach((Q)=>{q+=``,Q._slides.forEach((K)=>q+=``),q+=""}),q+="",q+='',q+="";return q+="",q}function Gz(){return`${n0}`}function Wz(){return`${n0}`}function Bz(){return`${n0}`}var zz="4.0.1";class m7{set layout($){let q=this.LAYOUTS[$];if(q)this._layout=$,this._presLayout=q;else throw Error("UNKNOWN-LAYOUT")}get layout(){return this._layout}get version(){return this._version}set author($){this._author=$}get author(){return this._author}set company($){this._company=$}get company(){return this._company}set revision($){this._revision=$}get revision(){return this._revision}set subject($){this._subject=$}get subject(){return this._subject}set theme($){this._theme=$}get theme(){return this._theme}set title($){this._title=$}get title(){return this._title}set rtlMode($){this._rtlMode=$}get rtlMode(){return this._rtlMode}get masterSlide(){return this._masterSlide}get slides(){return this._slides}get sections(){return this._sections}get slideLayouts(){return this._slideLayouts}get AlignH(){return this._alignH}get AlignV(){return this._alignV}get ChartType(){return this._chartType}get OutputType(){return this._outputType}get presLayout(){return this._presLayout}get SchemeColor(){return this._schemeColor}get ShapeType(){return this._shapeType}get charts(){return this._charts}get colors(){return this._colors}get shapes(){return this._shapes}constructor(){this._version=zz,this._alignH=u7,this._alignV=S7,this._chartType=P7,this._outputType=O7,this._schemeColor=G2,this._shapeType=T7,this._charts=q0,this._colors=D5,this._shapes=B1,this.addNewSlide=(J)=>{let Z=this.sections.length>0&&this.sections[this.sections.length-1]._slides.filter((G)=>G._slideNum===this.slides[this.slides.length-1]._slideNum).length>0;return J.sectionTitle=Z?this.sections[this.sections.length-1].title:null,this.addSlide(J)},this.getSlide=(J)=>this.slides.filter((Z)=>Z._slideNum===J)[0],this.setSlideNumber=(J)=>{this.masterSlide._slideNumberProps=J,this.slideLayouts.filter((Z)=>Z._name===h7)[0]._slideNumberProps=J},this.createChartMediaRels=(J,Z,G)=>{J._relsChart.forEach((W)=>G.push(SB(W,Z))),J._relsMedia.forEach((W)=>{if(W.type!=="online"&&W.type!=="hyperlink"){let B=W.data&&typeof W.data==="string"?W.data:"";if(!B.includes(",")&&!B.includes(";"))B="image/png;base64,"+B;else if(!B.includes(","))B="image/png;base64,"+B;else if(!B.includes(";"))B="image/png;"+B;Z.file(W.Target.replace("..","ppt"),B.split(",").pop(),{base64:!0})}})},this.writeFileToBrowser=(J,Z)=>W2(this,void 0,void 0,function*(){let G=document.createElement("a");if(G.setAttribute("style","display:none;"),G.dataset.interception="off",document.body.appendChild(G),window.URL.createObjectURL){let W=window.URL.createObjectURL(new Blob([Z],{type:"application/vnd.openxmlformats-officedocument.presentationml.presentation"}));return G.href=W,G.download=J,G.click(),setTimeout(()=>{window.URL.revokeObjectURL(W),document.body.removeChild(G)},100),yield Promise.resolve(J)}}),this.exportPresentation=(J)=>W2(this,void 0,void 0,function*(){let Z=[],G=[],W=new _7.default;return this.slides.forEach((B)=>{G=G.concat(y7(B))}),this.slideLayouts.forEach((B)=>{G=G.concat(y7(B))}),G=G.concat(y7(this.masterSlide)),yield Promise.all(G).then(()=>W2(this,void 0,void 0,function*(){return this.slides.forEach((B)=>{if(B._slideLayout)uB(B)}),W.folder("_rels"),W.folder("docProps"),W.folder("ppt").folder("_rels"),W.folder("ppt/charts").folder("_rels"),W.folder("ppt/embeddings"),W.folder("ppt/media"),W.folder("ppt/slideLayouts").folder("_rels"),W.folder("ppt/slideMasters").folder("_rels"),W.folder("ppt/slides").folder("_rels"),W.folder("ppt/theme"),W.folder("ppt/notesMasters").folder("_rels"),W.folder("ppt/notesSlides").folder("_rels"),W.file("[Content_Types].xml",dB(this.slides,this.slideLayouts,this.masterSlide)),W.file("_rels/.rels",mB()),W.file("docProps/app.xml",pB(this.slides,this.company)),W.file("docProps/core.xml",iB(this.title,this.subject,this.author,this.revision)),W.file("ppt/_rels/presentation.xml.rels",oB(this.slides)),W.file("ppt/theme/theme1.xml",Uz(this)),W.file("ppt/presentation.xml",Zz(this)),W.file("ppt/presProps.xml",Gz()),W.file("ppt/tableStyles.xml",Wz()),W.file("ppt/viewProps.xml",Bz()),this.slideLayouts.forEach((B,V)=>{W.file(`ppt/slideLayouts/slideLayout${V+1}.xml`,tB(B)),W.file(`ppt/slideLayouts/_rels/slideLayout${V+1}.xml.rels`,$z(V+1,this.slideLayouts))}),this.slides.forEach((B,V)=>{W.file(`ppt/slides/slide${V+1}.xml`,aB(B)),W.file(`ppt/slides/_rels/slide${V+1}.xml.rels`,Qz(this.slides,this.slideLayouts,V+1)),W.file(`ppt/notesSlides/notesSlide${V+1}.xml`,sB(B)),W.file(`ppt/notesSlides/_rels/notesSlide${V+1}.xml.rels`,qz(V+1))}),W.file("ppt/slideMasters/slideMaster1.xml",eB(this.masterSlide,this.slideLayouts)),W.file("ppt/slideMasters/_rels/slideMaster1.xml.rels",Kz(this.masterSlide,this.slideLayouts)),W.file("ppt/notesMasters/notesMaster1.xml",rB()),W.file("ppt/notesMasters/_rels/notesMaster1.xml.rels",Jz()),this.slideLayouts.forEach((B)=>{this.createChartMediaRels(B,W,Z)}),this.slides.forEach((B)=>{this.createChartMediaRels(B,W,Z)}),this.createChartMediaRels(this.masterSlide,W,Z),yield Promise.all(Z).then(()=>W2(this,void 0,void 0,function*(){if(J.outputType==="STREAM")return yield W.generateAsync({type:"nodebuffer",compression:J.compression?"DEFLATE":"STORE"});else if(J.outputType)return yield W.generateAsync({type:J.outputType});else return yield W.generateAsync({type:"blob",compression:J.compression?"DEFLATE":"STORE"})}))}))});let $={name:"screen4x3",width:9144000,height:6858000},q={name:"screen16x9",width:9144000,height:5143500},Q={name:"screen16x10",width:9144000,height:5715000},K={name:"custom",width:12192000,height:6858000};this.LAYOUTS={LAYOUT_4x3:$,LAYOUT_16x9:q,LAYOUT_16x10:Q,LAYOUT_WIDE:K},this._author="PptxGenJS",this._company="PptxGenJS",this._revision="1",this._subject="PptxGenJS Presentation",this._title="PptxGenJS Presentation",this._presLayout={name:this.LAYOUTS[f6].name,_sizeW:this.LAYOUTS[f6].width,_sizeH:this.LAYOUTS[f6].height,width:this.LAYOUTS[f6].width,height:this.LAYOUTS[f6].height},this._rtlMode=!1,this._slideLayouts=[{_margin:M8,_name:h7,_presLayout:this._presLayout,_rels:[],_relsChart:[],_relsMedia:[],_slide:null,_slideNum:1000,_slideNumberProps:null,_slideObjects:[]}],this._slides=[],this._sections=[],this._masterSlide={addChart:null,addImage:null,addMedia:null,addNotes:null,addShape:null,addTable:null,addText:null,_name:null,_presLayout:this._presLayout,_rId:null,_rels:[],_relsChart:[],_relsMedia:[],_slideId:null,_slideLayout:null,_slideNum:null,_slideNumberProps:null,_slideObjects:[]}}stream($){return W2(this,void 0,void 0,function*(){return yield this.exportPresentation({compression:$===null||$===void 0?void 0:$.compression,outputType:"STREAM"})})}write($){return W2(this,void 0,void 0,function*(){let q=typeof $==="object"&&($===null||$===void 0?void 0:$.outputType)?$.outputType:$?$:null,Q=typeof $==="object"&&($===null||$===void 0?void 0:$.compression)?$.compression:!1;return yield this.exportPresentation({compression:Q,outputType:q})})}writeFile($){return W2(this,void 0,void 0,function*(){var q,Q;let K=typeof process<"u"&&!!((q=process.versions)===null||q===void 0?void 0:q.node)&&((Q=process.release)===null||Q===void 0?void 0:Q.name)==="node";if(typeof $==="string")console.warn("[WARNING] writeFile(string) is deprecated - pass { fileName } instead."),$={fileName:$};let{fileName:J="Presentation.pptx",compression:Z=!1}=$,G=J.toLowerCase().endsWith(".pptx")?J:`${J}.pptx`,W=K?"nodebuffer":null,B=yield this.exportPresentation({compression:Z,outputType:W});if(K){let{promises:V}=yield import("node:fs"),{writeFile:U}=V;return yield U(G,B),G}return yield this.writeFileToBrowser(G,B),G})}addSection($){if(!$)console.warn("addSection requires an argument");else if(!$.title)console.warn("addSection requires a title");let q={_type:"user",_slides:[],title:$.title};if($.order)this.sections.splice($.order,0,q);else this._sections.push(q)}addSlide($){let q=typeof $==="string"?$:($===null||$===void 0?void 0:$.masterName)?$.masterName:"",Q={_name:this.LAYOUTS[f6].name,_presLayout:this.presLayout,_rels:[],_relsChart:[],_relsMedia:[],_slideNum:this.slides.length+1};if(q){let J=this.slideLayouts.filter((Z)=>Z._name===q)[0];if(J)Q=J}let K=new FJ({addSlide:this.addNewSlide,getSlide:this.getSlide,presLayout:this.presLayout,setSlideNum:this.setSlideNumber,slideId:this.slides.length+256,slideRId:this.slides.length+2,slideNumber:this.slides.length+1,slideLayout:Q});if(this._slides.push(K),$===null||$===void 0?void 0:$.sectionTitle){let J=this.sections.filter((Z)=>Z.title===$.sectionTitle)[0];if(!J)console.warn(`addSlide: unable to find section with title: "${$.sectionTitle}"`);else J._slides.push(K)}else if(this.sections&&this.sections.length>0&&!($===null||$===void 0?void 0:$.sectionTitle)){let J=this._sections[this.sections.length-1];if(J._type==="default")J._slides.push(K);else this._sections.push({title:`Default-${this.sections.filter((Z)=>Z._type==="default").length+1}`,_type:"default",_slides:[K]})}return K}defineLayout($){if(!$)console.warn("defineLayout requires `{name, width, height}`");else if(!$.name)console.warn("defineLayout requires `name`");else if(!$.width)console.warn("defineLayout requires `width`");else if(!$.height)console.warn("defineLayout requires `height`");else if(typeof $.height!=="number")console.warn("defineLayout `height` should be a number (inches)");else if(typeof $.width!=="number")console.warn("defineLayout `width` should be a number (inches)");this.LAYOUTS[$.name]={name:$.name,_sizeW:Math.round(Number($.width)*L0),_sizeH:Math.round(Number($.height)*L0),width:Math.round(Number($.width)*L0),height:Math.round(Number($.height)*L0)}}defineSlideMaster($){let q=JSON.parse(JSON.stringify($));if(!q.title)throw Error("defineSlideMaster() object argument requires a `title` value. (https://gitbrent.github.io/PptxGenJS/docs/masters.html)");let Q={_margin:q.margin||M8,_name:q.title,_presLayout:this.presLayout,_rels:[],_relsChart:[],_relsMedia:[],_slide:null,_slideNum:1000+this.slideLayouts.length+1,_slideNumberProps:q.slideNumber||null,_slideObjects:[],background:q.background||null,bkgd:q.bkgd||null};if(xB(q,Q),this.slideLayouts.push(Q),q.background||q.bkgd)zJ(q.background,Q);if(Q._slideNumberProps&&!this.masterSlide._slideNumberProps)this.masterSlide._slideNumberProps=Q._slideNumberProps}tableToSlides($,q={}){yB(this,$,q,(q===null||q===void 0?void 0:q.masterSlideName)?this.slideLayouts.filter((Q)=>Q._name===q.masterSlideName)[0]:null)}}if(typeof globalThis.Buffer>"u")globalThis.Buffer=o;if(typeof globalThis.process>"u")globalThis.process=Fz;globalThis.__bundles=globalThis.__bundles||{};globalThis.__bundles.pptxgenjs=m7;})(); diff --git a/apps/sim/lib/library/registry.ts b/apps/sim/lib/library/registry.ts new file mode 100644 index 00000000000..6d642dc88ab --- /dev/null +++ b/apps/sim/lib/library/registry.ts @@ -0,0 +1,17 @@ +import path from 'path' +import { createContentRegistry } from '@/lib/content/registry-factory' + +const LIBRARY_DIR = path.join(process.cwd(), 'content', 'library') +const AUTHORS_DIR = path.join(process.cwd(), 'content', 'authors') + +const libraryRegistry = createContentRegistry({ + contentDir: LIBRARY_DIR, + authorsDir: AUTHORS_DIR, +}) + +export const getAllPostMeta = libraryRegistry.getAllPostMeta +export const getPostBySlug = libraryRegistry.getPostBySlug +export const getAllTags = libraryRegistry.getAllTags +export const getRelatedPosts = libraryRegistry.getRelatedPosts +export const getNavLibraryPosts = libraryRegistry.getNavPosts +export const invalidateLibraryCaches = libraryRegistry.invalidateCaches diff --git a/apps/sim/lib/library/seo.ts b/apps/sim/lib/library/seo.ts new file mode 100644 index 00000000000..4932bc62441 --- /dev/null +++ b/apps/sim/lib/library/seo.ts @@ -0,0 +1,51 @@ +import type { Author, ContentMeta } from '@/lib/content/schema' +import type { ContentSection } from '@/lib/content/seo' +import { + buildArticleJsonLd, + buildAuthorGraphJsonLd as buildAuthorGraphJsonLdGeneric, + buildAuthorMetadata as buildAuthorMetadataGeneric, + buildCollectionPageJsonLd as buildCollectionPageJsonLdGeneric, + buildFaqJsonLd, + buildIndexMetadata as buildIndexMetadataGeneric, + buildPostGraphJsonLd as buildPostGraphJsonLdGeneric, + buildPostMetadata, + buildTagsBreadcrumbJsonLd as buildTagsBreadcrumbJsonLdGeneric, + buildTagsMetadata as buildTagsMetadataGeneric, +} from '@/lib/content/seo' + +export const LIBRARY_SECTION: ContentSection = { + name: 'Library', + basePath: '/library', + description: + 'Comparisons, how-tos, and roundups for teams evaluating and building AI agents with Sim.', +} + +export { buildArticleJsonLd, buildFaqJsonLd, buildPostMetadata } + +export function buildPostGraphJsonLd(post: ContentMeta) { + return buildPostGraphJsonLdGeneric(post, LIBRARY_SECTION) +} + +export function buildCollectionPageJsonLd() { + return buildCollectionPageJsonLdGeneric(LIBRARY_SECTION) +} + +export function buildIndexMetadata(input: { tag?: string; pageNum: number }) { + return buildIndexMetadataGeneric(LIBRARY_SECTION, input) +} + +export function buildTagsMetadata() { + return buildTagsMetadataGeneric(LIBRARY_SECTION) +} + +export function buildTagsBreadcrumbJsonLd() { + return buildTagsBreadcrumbJsonLdGeneric(LIBRARY_SECTION) +} + +export function buildAuthorMetadata(id: string, author?: Author) { + return buildAuthorMetadataGeneric(LIBRARY_SECTION, id, author) +} + +export function buildAuthorGraphJsonLd(author: Author) { + return buildAuthorGraphJsonLdGeneric(LIBRARY_SECTION, author) +} diff --git a/apps/sim/next.config.ts b/apps/sim/next.config.ts index 1a5d0132734..9affd751b0b 100644 --- a/apps/sim/next.config.ts +++ b/apps/sim/next.config.ts @@ -409,6 +409,26 @@ const nextConfig: NextConfig = { permanent: true, }) + /** + * AEO/GEO-style posts (listicles, comparisons, how-tos) were split out of + * `/blog` into the dedicated `/library` section so `/blog` stays + * editorial-only. Preserve previously indexed URLs for the moved posts. + */ + for (const slug of [ + 'best-zapier-alternatives', + 'ai-agents-vs-rpa', + 'ai-agent-vs-chatbot', + 'openai-vs-n8n-vs-sim', + 'ai-agent-ideas', + 'how-to-create-an-ai-agent', + ]) { + redirects.push({ + source: `/blog/${slug}`, + destination: `/library/${slug}`, + permanent: true, + }) + } + return redirects }, async rewrites() { diff --git a/apps/sim/public/blog/authors/emir.jpg b/apps/sim/public/authors/emir.jpg similarity index 100% rename from apps/sim/public/blog/authors/emir.jpg rename to apps/sim/public/authors/emir.jpg diff --git a/apps/sim/public/blog/authors/sid.jpg b/apps/sim/public/authors/sid.jpg similarity index 100% rename from apps/sim/public/blog/authors/sid.jpg rename to apps/sim/public/authors/sid.jpg diff --git a/apps/sim/public/blog/authors/vik.jpg b/apps/sim/public/authors/vik.jpg similarity index 100% rename from apps/sim/public/blog/authors/vik.jpg rename to apps/sim/public/authors/vik.jpg diff --git a/apps/sim/public/blog/authors/waleed.jpg b/apps/sim/public/authors/waleed.jpg similarity index 100% rename from apps/sim/public/blog/authors/waleed.jpg rename to apps/sim/public/authors/waleed.jpg diff --git a/apps/sim/public/blog/ai-agent-ideas/cover.jpg b/apps/sim/public/library/ai-agent-ideas/cover.jpg similarity index 100% rename from apps/sim/public/blog/ai-agent-ideas/cover.jpg rename to apps/sim/public/library/ai-agent-ideas/cover.jpg diff --git a/apps/sim/public/blog/ai-agent-ideas/cover.png b/apps/sim/public/library/ai-agent-ideas/cover.png similarity index 100% rename from apps/sim/public/blog/ai-agent-ideas/cover.png rename to apps/sim/public/library/ai-agent-ideas/cover.png diff --git a/apps/sim/public/blog/ai-agent-vs-chatbot/cover.jpg b/apps/sim/public/library/ai-agent-vs-chatbot/cover.jpg similarity index 100% rename from apps/sim/public/blog/ai-agent-vs-chatbot/cover.jpg rename to apps/sim/public/library/ai-agent-vs-chatbot/cover.jpg diff --git a/apps/sim/public/blog/ai-agent-vs-chatbot/cover.png b/apps/sim/public/library/ai-agent-vs-chatbot/cover.png similarity index 100% rename from apps/sim/public/blog/ai-agent-vs-chatbot/cover.png rename to apps/sim/public/library/ai-agent-vs-chatbot/cover.png diff --git a/apps/sim/public/blog/ai-agents-vs-rpa/cover.jpg b/apps/sim/public/library/ai-agents-vs-rpa/cover.jpg similarity index 100% rename from apps/sim/public/blog/ai-agents-vs-rpa/cover.jpg rename to apps/sim/public/library/ai-agents-vs-rpa/cover.jpg diff --git a/apps/sim/public/blog/ai-agents-vs-rpa/cover.png b/apps/sim/public/library/ai-agents-vs-rpa/cover.png similarity index 100% rename from apps/sim/public/blog/ai-agents-vs-rpa/cover.png rename to apps/sim/public/library/ai-agents-vs-rpa/cover.png diff --git a/apps/sim/public/blog/best-zapier-alternatives/cover.jpg b/apps/sim/public/library/best-zapier-alternatives/cover.jpg similarity index 100% rename from apps/sim/public/blog/best-zapier-alternatives/cover.jpg rename to apps/sim/public/library/best-zapier-alternatives/cover.jpg diff --git a/apps/sim/public/blog/best-zapier-alternatives/cover.png b/apps/sim/public/library/best-zapier-alternatives/cover.png similarity index 100% rename from apps/sim/public/blog/best-zapier-alternatives/cover.png rename to apps/sim/public/library/best-zapier-alternatives/cover.png diff --git a/apps/sim/public/blog/how-to-create-an-ai-agent/cover.jpg b/apps/sim/public/library/how-to-create-an-ai-agent/cover.jpg similarity index 100% rename from apps/sim/public/blog/how-to-create-an-ai-agent/cover.jpg rename to apps/sim/public/library/how-to-create-an-ai-agent/cover.jpg diff --git a/apps/sim/public/blog/how-to-create-an-ai-agent/cover.png b/apps/sim/public/library/how-to-create-an-ai-agent/cover.png similarity index 100% rename from apps/sim/public/blog/how-to-create-an-ai-agent/cover.png rename to apps/sim/public/library/how-to-create-an-ai-agent/cover.png diff --git a/apps/sim/public/blog/openai-vs-n8n-vs-sim/copilot.png b/apps/sim/public/library/openai-vs-n8n-vs-sim/copilot.png similarity index 100% rename from apps/sim/public/blog/openai-vs-n8n-vs-sim/copilot.png rename to apps/sim/public/library/openai-vs-n8n-vs-sim/copilot.png diff --git a/apps/sim/public/blog/openai-vs-n8n-vs-sim/cover.jpg b/apps/sim/public/library/openai-vs-n8n-vs-sim/cover.jpg similarity index 100% rename from apps/sim/public/blog/openai-vs-n8n-vs-sim/cover.jpg rename to apps/sim/public/library/openai-vs-n8n-vs-sim/cover.jpg diff --git a/apps/sim/public/blog/openai-vs-n8n-vs-sim/cover.png b/apps/sim/public/library/openai-vs-n8n-vs-sim/cover.png similarity index 100% rename from apps/sim/public/blog/openai-vs-n8n-vs-sim/cover.png rename to apps/sim/public/library/openai-vs-n8n-vs-sim/cover.png diff --git a/apps/sim/public/blog/openai-vs-n8n-vs-sim/logs.png b/apps/sim/public/library/openai-vs-n8n-vs-sim/logs.png similarity index 100% rename from apps/sim/public/blog/openai-vs-n8n-vs-sim/logs.png rename to apps/sim/public/library/openai-vs-n8n-vs-sim/logs.png diff --git a/apps/sim/public/blog/openai-vs-n8n-vs-sim/n8n.png b/apps/sim/public/library/openai-vs-n8n-vs-sim/n8n.png similarity index 100% rename from apps/sim/public/blog/openai-vs-n8n-vs-sim/n8n.png rename to apps/sim/public/library/openai-vs-n8n-vs-sim/n8n.png diff --git a/apps/sim/public/blog/openai-vs-n8n-vs-sim/openai.png b/apps/sim/public/library/openai-vs-n8n-vs-sim/openai.png similarity index 100% rename from apps/sim/public/blog/openai-vs-n8n-vs-sim/openai.png rename to apps/sim/public/library/openai-vs-n8n-vs-sim/openai.png diff --git a/apps/sim/public/blog/openai-vs-n8n-vs-sim/sim.png b/apps/sim/public/library/openai-vs-n8n-vs-sim/sim.png similarity index 100% rename from apps/sim/public/blog/openai-vs-n8n-vs-sim/sim.png rename to apps/sim/public/library/openai-vs-n8n-vs-sim/sim.png diff --git a/apps/sim/public/blog/openai-vs-n8n-vs-sim/templates.png b/apps/sim/public/library/openai-vs-n8n-vs-sim/templates.png similarity index 100% rename from apps/sim/public/blog/openai-vs-n8n-vs-sim/templates.png rename to apps/sim/public/library/openai-vs-n8n-vs-sim/templates.png diff --git a/apps/sim/public/blog/openai-vs-n8n-vs-sim/widgets.png b/apps/sim/public/library/openai-vs-n8n-vs-sim/widgets.png similarity index 100% rename from apps/sim/public/blog/openai-vs-n8n-vs-sim/widgets.png rename to apps/sim/public/library/openai-vs-n8n-vs-sim/widgets.png From fa82acd645599e3fe0b9fc9bac46c7c28dda7165 Mon Sep 17 00:00:00 2001 From: Justin Blumencranz <96924014+j15z@users.noreply.github.com> Date: Wed, 8 Jul 2026 14:13:06 -0700 Subject: [PATCH 12/27] fix(workflow): render agent tool chip names from static sources, not stored title (#5501) * fix(workflow): render agent tool chip names from static sources, not stored title Tool entries in an agent block's inputs carry a mutable `title` in workflow state, which copilot edits (edit_workflow) could rewrite to change what the UI displays. Derive chip names from static/canonical sources instead: the block registry name for integration tools (raw type id if unregistered), the custom-tool record over the stored snapshot, the live MCP tool name, and a static literal for workflow-as-tool. The stored `title` still persists in state; the UI just no longer reads it for registry-backed tools. Covers both render paths: the expanded tool-input chips and the collapsed canvas summary (resolveToolsLabel, also used by workflow preview). Co-Authored-By: Claude Fable 5 * fix(workflow): cover workflow-as-tool and custom-tool fallbacks in static naming Address review findings: resolveToolsLabel now returns the static 'Workflow' label for workflow/workflow_input entries instead of falling through to the stored title, matching the panel chip; the panel's custom-tool name priority now matches resolveToolsLabel (record title, record schema function name, then stored title); and the display-name comment no longer overstates the guarantee. Co-Authored-By: Claude Fable 5 * fix(workflow): resolve panel chip names via unfiltered block registry The panel resolved integration tool names through toolBlocks, which is permission- and toolbar-filtered, so a stored tool whose type was filtered out of the picker fell back to the raw type id while the canvas summary (getBlock) still showed the registry name. Use getBlock directly for the display name so both paths agree; toolBlocks still drives the chip icon, params, and picker. Co-Authored-By: Claude Fable 5 * fix(workflow): resolve MCP tool names from live server data in canvas summaries resolveToolsLabel preferred the stored title for mcp entries, so canvas and preview summaries could show a state-edited name while the config panel showed the live MCP tool name. Accept an optional mcpTools list (matched by toolId, same as the panel) and pass the already-fetched MCP tool data from workflow-block; the stored title remains the fallback while server data is unavailable. Co-Authored-By: Claude Fable 5 * refactor(workflow): single shared tool-name resolver; fix overlay, fallback, and search regressions Consolidate the per-surface name logic into one resolveStoredToolName in display.ts (canonical source -> stored title -> raw type id) used by the panel chips, the canvas summary, and the search indexer, fixing the regressions the per-renderer patches introduced: - custom-block tools (async registry overlay) no longer render raw custom_block_ ids pre-hydration or after deletion; the canvas memo and panel picker now subscribe to the overlay version so labels recompute when custom blocks hydrate - unresolvable block types fall back to the stored title before the raw type id, instead of always showing the id - the search indexer now indexes the resolved display name (the title entry was already read-only), so search text and highlights match what the chips render instead of the mutable stored title - redundant hardcoded 'Workflow' labels removed (registry names cover workflow/workflow_input); MCP lookups use a shared Map keyed by composite tool id instead of per-entry array scans; panel chip chrome falls back to the unfiltered registry for picker-hidden types Co-Authored-By: Claude Fable 5 * fix(workflow): thread custom-tool and MCP data into the search indexer; fix blockConfigs type The search index now resolves tool names with the same data as the chip renderers: the single caller passes customTools and a live MCP name map into indexWorkflowSearchMatches, so indexed names match the panel for custom-tool references and MCP entries, not just registry-backed types. Also declare the optional name on WorkflowSearchIndexerOptions blockConfigs entries, fixing the next build type error. Co-Authored-By: Claude Fable 5 * fix(workflow): recompute search index when the custom-block overlay hydrates The matches memo resolves tool names through getBlock, so it must carry the overlay version dep like the other getBlock-derived memos; without it, find-in-workflow could index stale custom-block names until an unrelated dep changed. Co-Authored-By: Claude Fable 5 --------- Co-authored-by: Claude Fable 5 --- .../components/tool-input/tool-input.tsx | 28 +++-- .../workflow-search-replace.tsx | 19 +++ .../workflow-block/workflow-block.tsx | 35 ++++-- .../workflows/search-replace/indexer.test.ts | 51 +++++++- .../lib/workflows/search-replace/indexer.ts | 20 +++- .../sim/lib/workflows/search-replace/types.ts | 12 +- .../lib/workflows/subblocks/display.test.ts | 54 ++++++++- apps/sim/lib/workflows/subblocks/display.ts | 109 ++++++++++++------ 8 files changed, 270 insertions(+), 58 deletions(-) diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/tool-input.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/tool-input.tsx index 46e7ff7c15e..6511dde22ef 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/tool-input.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/tool-input/tool-input.tsx @@ -27,6 +27,7 @@ import { import type { McpToolSchema } from '@/lib/mcp/types' import { getProviderIdFromServiceId, type OAuthProvider, type OAuthService } from '@/lib/oauth' import { extractInputFieldsFromBlocks } from '@/lib/workflows/input-format' +import { resolveStoredToolName } from '@/lib/workflows/subblocks/display' import { buildToolSubBlockId } from '@/lib/workflows/tool-input/synthetic-subblocks' import { useUserPermissionsContext } from '@/app/workspace/[workspaceId]/providers/workspace-permissions-provider' import { McpServerFormModal } from '@/app/workspace/[workspaceId]/settings/components/mcp/components/mcp-server-form-modal/mcp-server-form-modal' @@ -59,7 +60,8 @@ import { ActiveSearchTargetProvider, useActiveSearchTarget, } from '@/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/providers/active-search-target-provider' -import { getAllBlocks } from '@/blocks' +import { getAllBlocks, getBlock } from '@/blocks' +import { useCustomBlockOverlayVersion } from '@/blocks/custom/client-overlay' import { getTileIconColorClass } from '@/blocks/icon-color' import type { SubBlockConfig as BlockSubBlockConfig } from '@/blocks/types' import { BUILT_IN_TOOL_TYPES } from '@/blocks/utils' @@ -543,6 +545,13 @@ export const ToolInput = memo(function ToolInput({ const { data: customTools = [] } = useCustomTools(shouldFetchCustomTools ? workspaceId : '') const { mcpTools, isLoading: mcpLoading } = useMcpTools(workspaceId) + const mcpToolNamesById = useMemo(() => { + const names = new Map() + for (const t of mcpTools) { + if (!names.has(t.id)) names.set(t.id, t.name) + } + return names + }, [mcpTools]) const { data: mcpServers = [], isLoading: mcpServersLoading } = useMcpServers(workspaceId) const { data: storedMcpTools = [] } = useStoredMcpTools(workspaceId) @@ -642,6 +651,7 @@ export const ToolInput = memo(function ToolInput({ const { filterBlocks, config: permissionConfig } = usePermissionConfig() + const customBlockOverlayVersion = useCustomBlockOverlayVersion() const toolBlocks = useMemo(() => { const allToolBlocks = getAllBlocks().filter( (block) => @@ -659,7 +669,7 @@ export const ToolInput = memo(function ToolInput({ block.type !== 'file' ) return filterBlocks(allToolBlocks) - }, [filterBlocks]) + }, [filterBlocks, customBlockOverlayVersion]) const hasBackfilledRef = useRef(false) useEffect(() => { @@ -1662,9 +1672,11 @@ export const ToolInput = memo(function ToolInput({ const isCustomTool = tool.type === 'custom-tool' const isMcpTool = tool.type === 'mcp' const isWorkflowTool = tool.type === 'workflow' + // Fall back to the unfiltered registry so chips for types hidden + // from the picker (permissions, hideFromToolbar) keep their chrome. const toolBlock = !isCustomTool && !isMcpTool - ? toolBlocks.find((block) => block.type === tool.type) + ? (toolBlocks.find((block) => block.type === tool.type) ?? getBlock(tool.type)) : null const currentToolId = @@ -1713,9 +1725,6 @@ export const ToolInput = memo(function ToolInput({ ? resolveCustomToolFromReference(tool, customTools) : null - const customToolTitle = isCustomTool - ? tool.title || resolvedCustomTool?.title || 'Unknown Tool' - : null const customToolSchema = isCustomTool ? tool.schema || resolvedCustomTool?.schema : null const customToolParams = isCustomTool && customToolSchema?.function?.parameters?.properties @@ -1747,6 +1756,11 @@ export const ToolInput = memo(function ToolInput({ ) : [] + // Canonical name wins; stored title only when nothing resolves + // (same policy as the canvas summary — see resolveStoredToolName). + const toolDisplayName = + resolveStoredToolName(tool, { customTools, mcpToolNamesById }) ?? 'Unknown Tool' + const useSubBlocks = !isCustomTool && !isMcpTool && subBlocksResult?.subBlocks?.length const displayParams: ToolParameterConfig[] = isCustomTool ? customToolParams @@ -1854,7 +1868,7 @@ export const ToolInput = memo(function ToolInput({ )}
- {formatDisplayText((isCustomTool ? customToolTitle : tool.title) ?? '', { + {formatDisplayText(toolDisplayName ?? '', { workflowSearchHighlight: getToolTitleSearchHighlight(toolIndex), })} diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/search-replace/workflow-search-replace.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/search-replace/workflow-search-replace.tsx index c5558e59807..650170cae4a 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/search-replace/workflow-search-replace.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/search-replace/workflow-search-replace.tsx @@ -35,7 +35,10 @@ import { } from '@/app/workspace/[workspaceId]/w/[workflowId]/hooks/float' import { useCurrentWorkflow } from '@/app/workspace/[workspaceId]/w/[workflowId]/hooks/use-current-workflow' import { getBlock } from '@/blocks' +import { useCustomBlockOverlayVersion } from '@/blocks/custom/client-overlay' +import { useMcpTools } from '@/hooks/mcp/use-mcp-tools' import { useWorkspaceCredentials } from '@/hooks/queries/credentials' +import { useCustomTools } from '@/hooks/queries/custom-tools' import { useFolderMap } from '@/hooks/queries/folders' import { isWorkflowEffectivelyLocked } from '@/hooks/queries/utils/folder-tree' import { useWorkflowMap } from '@/hooks/queries/workflows' @@ -170,6 +173,15 @@ export function WorkflowSearchReplace() { const prevIsOpenRef = useRef(false) const afterReplaceIndexRef = useRef(null) const { data: workspaceCredentials } = useWorkspaceCredentials({ workspaceId, enabled: isOpen }) + const { data: customTools = [] } = useCustomTools(isOpen && workspaceId ? workspaceId : '') + const { mcpTools } = useMcpTools(isOpen && workspaceId ? workspaceId : '') + const mcpToolNamesById = useMemo(() => { + const names = new Map() + for (const t of mcpTools) { + if (!names.has(t.id)) names.set(t.id, t.name) + } + return names + }, [mcpTools]) useRegisterGlobalCommands([ createCommand({ @@ -202,6 +214,8 @@ export function WorkflowSearchReplace() { [workspaceCredentials] ) + /** Overlay version invalidates getBlock-resolved tool names in the index. */ + const customBlockOverlayVersion = useCustomBlockOverlayVersion() const matches = useMemo( () => indexWorkflowSearchMatches({ @@ -215,10 +229,15 @@ export function WorkflowSearchReplace() { workspaceId, workflowId, credentialTypeById, + customTools, + mcpToolNamesById, }), [ currentWorkflow.isSnapshotView, credentialTypeById, + customBlockOverlayVersion, + customTools, + mcpToolNamesById, query, readonlyReason, searchBlocks, diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/workflow-block.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/workflow-block.tsx index 133bf3a26f8..3e63939ba9e 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/workflow-block.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/workflow-block.tsx @@ -44,6 +44,7 @@ import { } from '@/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/utils' import { useBlockVisual } from '@/app/workspace/[workspaceId]/w/[workflowId]/hooks' import { useBlockDimensions } from '@/app/workspace/[workspaceId]/w/[workflowId]/hooks/use-block-dimensions' +import { useCustomBlockOverlayVersion } from '@/blocks/custom/client-overlay' import { SELECTOR_TYPES_HYDRATION_REQUIRED, type SubBlockConfig } from '@/blocks/types' import { getDependsOnFields } from '@/blocks/utils' import { useKnowledgeBase } from '@/hooks/kb/use-knowledge' @@ -68,6 +69,9 @@ const logger = createLogger('WorkflowBlock') /** Stable empty object to avoid creating new references */ const EMPTY_SUBBLOCK_VALUES = {} as Record +/** Stable empty map for rows that never resolve MCP tool names */ +const EMPTY_MCP_TOOL_NAMES: ReadonlyMap = new Map() + interface SubBlockRowProps { title: string value?: string @@ -274,17 +278,23 @@ const SubBlockRow = memo(function SubBlockRow({ }, [subBlock?.type, rawValue, mcpServers]) const { data: mcpToolsData = [] } = useMcpToolsQuery(workspaceId || '') + const mcpToolNamesById = useMemo(() => { + if (subBlock?.type !== 'mcp-tool-selector' && subBlock?.type !== 'tool-input') { + return EMPTY_MCP_TOOL_NAMES + } + const names = new Map() + for (const t of mcpToolsData) { + const toolId = createMcpToolId(t.serverId, t.name) + if (!names.has(toolId)) names.set(toolId, t.name) + } + return names + }, [subBlock?.type, mcpToolsData]) const mcpToolDisplayName = useMemo(() => { if (subBlock?.type !== 'mcp-tool-selector' || typeof rawValue !== 'string') { return null } - - const tool = mcpToolsData.find((t) => { - const toolId = createMcpToolId(t.serverId, t.name) - return toolId === rawValue - }) - return tool?.name ?? null - }, [subBlock?.type, rawValue, mcpToolsData]) + return mcpToolNamesById.get(rawValue) ?? null + }, [subBlock?.type, rawValue, mcpToolNamesById]) const { data: tables = [] } = useTablesList(workspaceId || '') const tableDisplayName = useMemo(() => { @@ -329,11 +339,16 @@ const SubBlockRow = memo(function SubBlockRow({ [subBlock, rawValue, workflowVariables] ) - /** Hydrates tool references to display names. */ + /** + * Hydrates tool references to display names. The overlay version is a dep + * because resolveToolsLabel reads getBlock, whose custom-block results + * change when the client overlay hydrates (see client-overlay.ts). + */ const { data: customTools = [] } = useCustomTools(workspaceId || '') + const customBlockOverlayVersion = useCustomBlockOverlayVersion() const toolsDisplayValue = useMemo( - () => resolveToolsLabel(subBlock, rawValue, customTools), - [subBlock, rawValue, customTools] + () => resolveToolsLabel(subBlock, rawValue, customTools, mcpToolNamesById), + [subBlock, rawValue, customTools, mcpToolNamesById, customBlockOverlayVersion] ) const filterDisplayValue = useMemo( diff --git a/apps/sim/lib/workflows/search-replace/indexer.test.ts b/apps/sim/lib/workflows/search-replace/indexer.test.ts index 082cee6de72..2fe792b2073 100644 --- a/apps/sim/lib/workflows/search-replace/indexer.test.ts +++ b/apps/sim/lib/workflows/search-replace/indexer.test.ts @@ -1387,6 +1387,10 @@ describe('indexWorkflowSearchMatches', () => { custom: { subBlocks: [{ id: 'tools', title: 'Tools', type: 'tool-input' }], }, + native: { + name: 'Customer Mailer', + subBlocks: [], + }, }, }).filter((match) => match.blockId === 'tool-input-1') @@ -1395,7 +1399,7 @@ describe('indexWorkflowSearchMatches', () => { expect.objectContaining({ subBlockId: 'tools', valuePath: [0, 'title'], - searchText: 'Customer notifier', + searchText: 'Customer Mailer', }), expect.objectContaining({ subBlockId: 'tools', @@ -1404,6 +1408,7 @@ describe('indexWorkflowSearchMatches', () => { }), ]) ) + expect(matches.some((match) => match.searchText === 'Customer notifier')).toBe(false) expect(matches.some((match) => match.valuePath.includes('toolId'))).toBe(false) expect(matches.some((match) => match.valuePath.includes('operation'))).toBe(false) expect(matches.some((match) => match.valuePath.includes('credentialId'))).toBe(false) @@ -1418,6 +1423,50 @@ describe('indexWorkflowSearchMatches', () => { expect(matches.some((match) => match.valuePath.includes('schema'))).toBe(false) }) + it('indexes canonical MCP and custom-tool names over mutated stored titles', () => { + const workflow = createSearchReplaceWorkflowFixture() + workflow.blocks['tool-input-1'] = { + id: 'tool-input-1', + type: 'custom', + name: 'Tool Input Block', + position: { x: 0, y: 0 }, + enabled: true, + outputs: {}, + subBlocks: { + tools: { + id: 'tools', + type: 'tool-input', + value: [ + { type: 'mcp', toolId: 'mcp-tool-1', title: 'Mutated Title', params: {} }, + { type: 'custom-tool', customToolId: 'ct-1', title: 'Mutated Title', params: {} }, + ], + }, + }, + } + + const matches = indexWorkflowSearchMatches({ + workflow, + query: 'customer', + mode: 'text', + blockConfigs: { + ...SEARCH_REPLACE_BLOCK_CONFIGS, + custom: { + subBlocks: [{ id: 'tools', title: 'Tools', type: 'tool-input' }], + }, + }, + customTools: [{ id: 'ct-1', title: 'Customer Records' }], + mcpToolNamesById: new Map([['mcp-tool-1', 'customer_lookup']]), + }).filter((match) => match.blockId === 'tool-input-1') + + expect(matches).toEqual( + expect.arrayContaining([ + expect.objectContaining({ valuePath: [0, 'title'], searchText: 'customer_lookup' }), + expect.objectContaining({ valuePath: [1, 'title'], searchText: 'Customer Records' }), + ]) + ) + expect(matches.some((match) => match.searchText === 'Mutated Title')).toBe(false) + }) + it('indexes explicit secret tool params for intentional replacement', () => { const workflow = createSearchReplaceWorkflowFixture() workflow.blocks['tool-input-1'] = { diff --git a/apps/sim/lib/workflows/search-replace/indexer.ts b/apps/sim/lib/workflows/search-replace/indexer.ts index 2a412fedd6c..359dc8e7c01 100644 --- a/apps/sim/lib/workflows/search-replace/indexer.ts +++ b/apps/sim/lib/workflows/search-replace/indexer.ts @@ -23,6 +23,7 @@ import type { } from '@/lib/workflows/search-replace/types' import { pathToKey, walkStringValues } from '@/lib/workflows/search-replace/value-walker' import { SELECTOR_CONTEXT_FIELDS } from '@/lib/workflows/subblocks/context' +import { resolveStoredToolName } from '@/lib/workflows/subblocks/display' import { buildCanonicalIndex, buildSubBlockValues, @@ -931,6 +932,8 @@ function addToolInputMatches({ workflowId, credentialTypeById, blockConfigs, + customTools, + mcpToolNamesById, }: { matches: WorkflowSearchMatch[] block: WorkflowSearchBlockState @@ -950,11 +953,20 @@ function addToolInputMatches({ workflowId?: string credentialTypeById?: Record blockConfigs?: WorkflowSearchIndexerOptions['blockConfigs'] + customTools?: WorkflowSearchIndexerOptions['customTools'] + mcpToolNamesById?: WorkflowSearchIndexerOptions['mcpToolNamesById'] }) { const parentCanonicalModes = getSearchCanonicalModes(block) parseStoredToolInputValue(value).forEach((tool, toolIndex) => { - if (mode !== 'resource' && tool.title) { + // Index the resolved display name (not the stored mutable title) so + // search text and highlights match what the tool chip actually renders. + const toolDisplayName = resolveStoredToolName(tool, { + customTools, + mcpToolNamesById, + getBlockConfig: (type) => blockConfigs?.[type] ?? getBlock(type), + }) + if (mode !== 'resource' && toolDisplayName) { addTextMatches({ matches, idPrefix: 'tool-input-title', @@ -963,7 +975,7 @@ function addToolInputMatches({ canonicalSubBlockId, subBlockType: 'tool-input', fieldTitle: 'Tool', - value: tool.title, + value: toolDisplayName, valuePath: [toolIndex, 'title'], target: { kind: 'subblock' }, query, @@ -1228,6 +1240,8 @@ export function indexWorkflowSearchMatches( workflowId, blockConfigs = {}, credentialTypeById, + customTools, + mcpToolNamesById, } = options const matches: WorkflowSearchMatch[] = [] @@ -1363,6 +1377,8 @@ export function indexWorkflowSearchMatches( workflowId, credentialTypeById, blockConfigs, + customTools, + mcpToolNamesById, }) continue } diff --git a/apps/sim/lib/workflows/search-replace/types.ts b/apps/sim/lib/workflows/search-replace/types.ts index 9298430318d..4eefe464a80 100644 --- a/apps/sim/lib/workflows/search-replace/types.ts +++ b/apps/sim/lib/workflows/search-replace/types.ts @@ -3,6 +3,7 @@ import type { WorkflowSearchSubflowEditableValue, WorkflowSearchSubflowFieldId, } from '@/lib/workflows/search-replace/subflow-fields' +import type { StoredCustomToolRecord } from '@/lib/workflows/subblocks/display' import type { SubBlockConfig } from '@/blocks/types' import type { SelectorContext } from '@/hooks/selectors/types' import type { BlockState, SubBlockState } from '@/stores/workflows/workflow/types' @@ -96,10 +97,19 @@ export interface WorkflowSearchIndexerOptions { workflowId?: string blockConfigs?: Record< string, - | { subBlocks?: SubBlockConfig[]; triggers?: { enabled?: boolean }; category?: string } + | { + name?: string + subBlocks?: SubBlockConfig[] + triggers?: { enabled?: boolean } + category?: string + } | undefined > credentialTypeById?: Record + /** Custom-tool records so indexed tool names match the rendered chips. */ + customTools?: StoredCustomToolRecord[] + /** Live MCP tool names keyed by composite tool id, same as the chip renderers. */ + mcpToolNamesById?: ReadonlyMap } export interface WorkflowSearchReplacementOption { diff --git a/apps/sim/lib/workflows/subblocks/display.test.ts b/apps/sim/lib/workflows/subblocks/display.test.ts index 305c3cd6dd6..310af5d3701 100644 --- a/apps/sim/lib/workflows/subblocks/display.test.ts +++ b/apps/sim/lib/workflows/subblocks/display.test.ts @@ -4,7 +4,11 @@ import { describe, expect, it, vi } from 'vitest' vi.mock('@/blocks', () => ({ - getBlock: (type: string) => (type === 'slack' ? { name: 'Slack' } : undefined), + getBlock: (type: string) => { + if (type === 'slack') return { name: 'Slack' } + if (type === 'workflow' || type === 'workflow_input') return { name: 'Workflow' } + return undefined + }, })) import { @@ -113,6 +117,54 @@ describe('resolveToolsLabel', () => { null ) }) + + it('ignores the stored title on registry-backed tools so state edits cannot rename them', () => { + const slackName = resolveToolsLabel(toolInput, [{ type: 'slack' }], []) + expect(slackName).not.toBe(null) + expect(resolveToolsLabel(toolInput, [{ type: 'slack', title: 'Renamed By Copilot' }], [])).toBe( + slackName + ) + }) + + it('falls back to the stored title, then the raw type id, for unresolvable block types', () => { + expect( + resolveToolsLabel(toolInput, [{ type: 'custom_block_gone', title: 'Invoice Parser' }], []) + ).toBe('Invoice Parser') + expect(resolveToolsLabel(toolInput, [{ type: 'custom_block_gone' }], [])).toBe( + 'custom_block_gone' + ) + }) + + it('renders the static label for workflow-as-tool entries regardless of stored title', () => { + expect( + resolveToolsLabel(toolInput, [{ type: 'workflow', title: 'Renamed By Copilot' }], []) + ).toBe('Workflow') + expect(resolveToolsLabel(toolInput, [{ type: 'workflow_input' }], [])).toBe('Workflow') + }) + + it('prefers the live MCP tool name over the stored title', () => { + expect( + resolveToolsLabel( + toolInput, + [{ type: 'mcp', toolId: 'mcp-1', title: 'Renamed By Copilot' }], + [], + new Map([['mcp-1', 'Live MCP Name']]) + ) + ).toBe('Live MCP Name') + expect( + resolveToolsLabel(toolInput, [{ type: 'mcp', toolId: 'mcp-1', title: 'Snapshot' }], []) + ).toBe('Snapshot') + }) + + it('prefers the custom tool record over the stored title', () => { + expect( + resolveToolsLabel( + toolInput, + [{ type: 'custom-tool', customToolId: 'ct-1', title: 'Renamed By Copilot' }], + [{ id: 'ct-1', title: 'My Tool' }] + ) + ).toBe('My Tool') + }) }) describe('resolveSkillsLabel', () => { diff --git a/apps/sim/lib/workflows/subblocks/display.ts b/apps/sim/lib/workflows/subblocks/display.ts index 1bb87a36f71..26088c25fff 100644 --- a/apps/sim/lib/workflows/subblocks/display.ts +++ b/apps/sim/lib/workflows/subblocks/display.ts @@ -426,52 +426,89 @@ export function resolveVariablesLabel( return summarizeNames(names) } +/** Custom-tool record shape needed to resolve a stored custom-tool reference. */ +export interface StoredCustomToolRecord { + id: string + title?: string + schema?: { function?: { name?: string } } +} + +export interface ResolveStoredToolNameOptions { + customTools?: StoredCustomToolRecord[] + /** Live MCP tool names keyed by composite tool id (`createMcpToolId`). */ + mcpToolNamesById?: ReadonlyMap + /** Block-config lookup; overridable so snapshot views can scope configs. */ + getBlockConfig?: (type: string) => { name?: string } | undefined +} + +/** + * Resolves one stored tool entry to its display name. Canonical sources win — + * the block registry (including the custom-block overlay), the custom-tool + * record, live MCP server data — so edits to the entry's mutable `title` in + * workflow state cannot relabel a tool that has a canonical name. The stored + * title is the fallback for entries with no resolvable source (deleted custom + * blocks, MCP entries while server data is unavailable, legacy inline custom + * tools where the title is the identity), ahead of the raw type id. + */ +export function resolveStoredToolName( + tool: unknown, + options: ResolveStoredToolNameOptions = {} +): string | null { + if (!tool || typeof tool !== 'object') return null + const t = tool as Record + const { customTools = [], mcpToolNamesById, getBlockConfig = getBlock } = options + + const storedTitle = typeof t.title === 'string' && t.title ? t.title : null + const schema = t.schema as { function?: { name?: string } } | undefined + const schemaName = schema?.function?.name || null + + if (t.type === 'custom-tool') { + if (typeof t.customToolId === 'string') { + const record = customTools.find((candidate) => candidate.id === t.customToolId) + if (record?.title) return record.title + if (record?.schema?.function?.name) return record.schema.function.name + } + return storedTitle || schemaName + } + + if (t.type === 'mcp') { + if (typeof t.toolId === 'string') { + const liveName = mcpToolNamesById?.get(t.toolId) + if (liveName) return liveName + } + return storedTitle + } + + if (typeof t.type === 'string' && t.type) { + const blockConfig = getBlockConfig(t.type) + if (blockConfig?.name) return blockConfig.name + return storedTitle || t.type + } + + if (storedTitle) return storedTitle + if (schemaName) return schemaName + + const fn = t.function as { name?: string } | undefined + if (fn?.name) return fn.name + + return null +} + /** - * Resolves a tool-input value to a tool-name summary. Stored tool entries - * come in several historical shapes, checked in priority order: explicit - * title, custom tool referenced by id, inline schema name, OpenAI function - * name, then the block registry. + * Resolves a tool-input value to a tool-name summary via + * {@link resolveStoredToolName}. Unresolvable entries are skipped. */ export function resolveToolsLabel( subBlock: SubBlockConfig | undefined, rawValue: unknown, - customTools: Array<{ id: string; title?: string; schema?: { function?: { name?: string } } }> + customTools: StoredCustomToolRecord[], + mcpToolNamesById?: ReadonlyMap ): string | null { if (subBlock?.type !== 'tool-input') return null if (!Array.isArray(rawValue) || rawValue.length === 0) return null const names = rawValue - .map((tool: unknown) => { - if (!tool || typeof tool !== 'object') return null - const t = tool as Record - - if (typeof t.title === 'string' && t.title) return t.title - - if (t.type === 'custom-tool' && typeof t.customToolId === 'string') { - const customTool = customTools.find((candidate) => candidate.id === t.customToolId) - if (customTool?.title) return customTool.title - if (customTool?.schema?.function?.name) return customTool.schema.function.name - } - - const schema = t.schema as { function?: { name?: string } } | undefined - if (schema?.function?.name) return schema.function.name - - const fn = t.function as { name?: string } | undefined - if (fn?.name) return fn.name - - if ( - typeof t.type === 'string' && - t.type !== 'custom-tool' && - t.type !== 'mcp' && - t.type !== 'workflow' && - t.type !== 'workflow_input' - ) { - const blockConfig = getBlock(t.type) - if (blockConfig?.name) return blockConfig.name - } - - return null - }) + .map((tool: unknown) => resolveStoredToolName(tool, { customTools, mcpToolNamesById })) .filter((name): name is string => !!name) return summarizeNames(names) From d30eb36d9a5e48b2d0f5da88483cffa1c6847291 Mon Sep 17 00:00:00 2001 From: Theodore Li Date: Wed, 8 Jul 2026 14:36:45 -0700 Subject: [PATCH 13/27] docs(enterprise): add Custom Blocks page (#5515) * docs(enterprise): add Custom Blocks page Document publishing a deployed workflow as a reusable org-wide block: publishing flow, common uses, using a block, managing, and self-hosted setup, with UI screenshots. Register in the enterprise sidebar and wire the settings docsLink. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01NvLuS5o1eFjBBhEC4PytcA * docs(enterprise): drop explicit Enterprise framing, note access control The page's Enterprise placement is implicit, so remove the "Enterprise feature" callout and plan mentions. Add that custom blocks can be allowlisted per permission group via Access Control. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01NvLuS5o1eFjBBhEC4PytcA * docs(enterprise): remove Self-hosted setup section from Custom Blocks Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01NvLuS5o1eFjBBhEC4PytcA --------- Co-authored-by: Claude Opus 4.8 (1M context) --- .../en/platform/enterprise/custom-blocks.mdx | 136 ++++++++++++++++++ .../docs/en/platform/enterprise/meta.json | 1 + .../enterprise/custom-blocks-canvas.png | Bin 0 -> 315138 bytes .../static/enterprise/custom-blocks-form.png | Bin 0 -> 254898 bytes .../static/enterprise/custom-blocks-list.png | Bin 0 -> 178157 bytes .../enterprise/custom-blocks-toolbar.png | Bin 0 -> 63596 bytes .../[workspaceId]/settings/navigation.ts | 1 + 7 files changed, 138 insertions(+) create mode 100644 apps/docs/content/docs/en/platform/enterprise/custom-blocks.mdx create mode 100644 apps/docs/public/static/enterprise/custom-blocks-canvas.png create mode 100644 apps/docs/public/static/enterprise/custom-blocks-form.png create mode 100644 apps/docs/public/static/enterprise/custom-blocks-list.png create mode 100644 apps/docs/public/static/enterprise/custom-blocks-toolbar.png diff --git a/apps/docs/content/docs/en/platform/enterprise/custom-blocks.mdx b/apps/docs/content/docs/en/platform/enterprise/custom-blocks.mdx new file mode 100644 index 00000000000..57fe1bc6ce4 --- /dev/null +++ b/apps/docs/content/docs/en/platform/enterprise/custom-blocks.mdx @@ -0,0 +1,136 @@ +--- +title: Custom Blocks +description: Publish a deployed workflow as a reusable block for your organization +--- + +import { FAQ } from '@/components/ui/faq' +import { Image } from '@/components/ui/image' + +Custom blocks let you package a deployed workflow as a reusable block for your whole organization. Once published, the block appears in the workflow editor's block toolbar alongside built-in blocks like Agent and Function. Anyone in your organization can drop it into a workflow, fill in its inputs, and use its outputs — without needing access to the workflow behind it. + +A custom block always runs the **latest deployed version** of its source workflow, so improving the block is as simple as redeploying that workflow. + +--- + +## Common uses + +Custom blocks turn a workflow one team owns into infrastructure the whole organization can safely reuse. Credentials and complexity stay with the block's author; everyone else gets a clean block that's always up to date. A few patterns: + +- **Internal API gateway.** Wrap an authenticated internal or partner endpoint — "Create Ticket", "Charge Account", "Provision User" — behind a block that takes only the business inputs. Teammates call it without the base URL, API key, or auth headers, and when the endpoint changes you update one workflow instead of every consumer's. +- **Blessed knowledge lookup.** Package a vetted retrieval pipeline — chunking, filters, reranking — as "Search Company Docs" with a single query input, so teams reuse the approved retrieval instead of each rebuilding it. +- **Governed LLM step.** Share a prompt, model, and guardrail combination like "Summarize (house style)". You control the model and prompt org-wide; changing them is a redeploy, not a hunt through everyone's workflows. +- **Data enrichment.** Expose "Enrich Company" or "Lookup Customer by Email" that hides the provider keys and returns clean fields. +- **Compliance gate.** Offer "Redact PII" or "Policy Check" as a standardized step teams drop into their flows, with the rules maintained in one place. + +--- + +## Before you start + +- **Deploy the workflow first.** Only deployed workflows can be published as a block. If the workflow isn't deployed, deploy it, then come back. +- **Be a workspace admin.** Publishing and managing custom blocks requires workspace admin access. + +--- + +## Publishing a block + +### 1. Open Custom blocks settings + +Go to **Settings → Enterprise → Custom blocks** and click **Create block**. + +Custom blocks settings page listing a published block with its icon, name, and description, with a Create block button in the header + + +### 2. Choose the source workflow + +| Field | Description | +|-------|-------------| +| **Workspace** | The workspace that holds the workflow you want to publish. Only workspaces in your organization are listed. | +| **Workflow** | The workflow to publish. Only deployed workflows appear. If a workflow isn't deployed, deploy it first, then return here. | + +The block runs the source workflow's latest deployment. You publish one block per workflow, and the source workflow can't be changed later — to point at a different workflow, delete the block and publish a new one. + +### 3. Name and describe the block + +| Field | Description | +|-------|-------------| +| **Icon** | Optional. A square image (PNG, JPEG, SVG, or WebP) shown on the block. Falls back to your organization's logo, then a default glyph. | +| **Name** | The block's display name in the toolbar (e.g. `Invoice Parser`). Max 60 characters. | +| **Description** | A short summary of what the block does. Max 280 characters. | + +### 4. Configure inputs + +Every input on the source workflow's **Start** block is exposed as a field on the custom block. You don't choose which inputs to include — they all carry over, along with each input's name, type, and description. + +For each input you can add an optional **placeholder** (max 200 characters) — the hint text shown in the empty field to tell consumers what to enter. + +Because inputs are read live from the deployed workflow, renaming or adding a Start input and redeploying updates the block's fields automatically. + +### 5. Choose outputs + +Pick which of the workflow's outputs consumers can use, and give each one a name. Outputs are grouped by the block they come from, so you can expose exactly the values that matter and hide everything internal. + +- **At least one output is required.** +- Each exposed output needs a unique **name** (max 60 characters) — that's the name consumers reference in their workflows. + +Create block form filled in: Workspace and Workflow selectors, an uploaded icon, Name and Description fields, an expanded input with a placeholder, and two selected outputs each given a name + +### 6. Save + +Click **Save changes**. The block is published immediately and becomes available to everyone in your organization in the workflow editor's block toolbar. + +--- + +## Using a custom block + +In the workflow editor, open the block toolbar. Published custom blocks appear under a **Custom blocks** section. Drag one onto the canvas like any other block, fill in its inputs (using the placeholders as a guide), and reference its outputs in downstream blocks. + +Workflow editor block toolbar with a Custom Blocks section listing two published blocks below Core Blocks + +Consumers don't need any access to the source workflow. The block runs on its own, using only the inputs provided, and returns only the outputs you exposed. Internal steps, models, and intermediate values of the source workflow are never visible. + +A custom block connected to a Start block on the workflow canvas, with its query input filled in and the run output showing the returned fields + +--- + +## Managing blocks + +Open a block from **Settings → Enterprise → Custom blocks** to edit or delete it. + +- **Editing** changes only the block's presentation and interface — name, description, icon, input placeholders, and exposed outputs. The source workflow can't be re-pointed. +- **Changing what the block does** is done by editing and **redeploying the source workflow**. The block picks up the new deployment automatically; there's nothing to republish. +- **Deleting** a block is permanent. Workflows already using it will have that block removed, so replace it before deleting if it's in active use. + +--- + +## Good to know + +- **Always current.** A custom block runs the source workflow's latest deployment. There are no versions to pin or manage. +- **Access control.** Custom blocks appear in [Access Control](/platform/enterprise/access-control) alongside built-in blocks, so you can allowlist or restrict them per permission group. +- **Disabled blocks.** A disabled block can't be added to new workflows, but existing placements keep working. +- **Removed blocks.** Deleting a block (or deleting its source workflow) removes it from workflows that used it. +- **Not deployed.** If the source workflow is undeployed, the block shows a clear error when run. Redeploy the workflow to fix it. + +--- + + diff --git a/apps/docs/content/docs/en/platform/enterprise/meta.json b/apps/docs/content/docs/en/platform/enterprise/meta.json index 8ac0662175e..c80f99a22d3 100644 --- a/apps/docs/content/docs/en/platform/enterprise/meta.json +++ b/apps/docs/content/docs/en/platform/enterprise/meta.json @@ -4,6 +4,7 @@ "index", "sso", "access-control", + "custom-blocks", "whitelabeling", "audit-logs", "data-retention", diff --git a/apps/docs/public/static/enterprise/custom-blocks-canvas.png b/apps/docs/public/static/enterprise/custom-blocks-canvas.png new file mode 100644 index 0000000000000000000000000000000000000000..e952b15bb1bd0f6058fa14ae32af03d48d4d5862 GIT binary patch literal 315138 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 (VU}lWU#kHROtn2 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 zΠ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⪻E~iJNJC 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

L+3 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

q(?60yA!27^dYL*<+!m6PO7U0;TUIu@)v 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

gWr%~59xlss-0S=CSB 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 A_wwKpEN}K|sJb=b0u-th6L65$8mB&_ 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

(%rY^qno9S}}E$ z^YY}Q?KyurpPRDFBA=edeZ6vBrnW>f!GDZE&6#W=!2%-**%j|ieLImQK@=AI0mdDE z9LJPNkKB7rRksR^Ga>CxryrI2<~SXtv7${UVcZ>NVEUjn7-mRauYnr7yikVpqM}p! zy3Sn5DSN91+0~d6%IyO$6AJPI-9cGs)M)SHj9P^BC>4=#x&p95mX-LydLpqd>GfW+ z)_ug=Zx*CRRv#B$Y*o(xk7&?jhZfvdQE=Qg9+${?q)8Wj->y8g64Zx1Xn~ZcQxnALxDuPx=;2rQBz6VOd9#Rb>DeMKaY%v(=9e(GqmpUM@h6V z9P^8d%xjjVikdo>%h^`5Y!s7XZ>0~q3^)GR1%43WSbcGa$s4{&>K&*I!##3{iXN!E z6eT)6(dZwmFLy2^xuNHzZdsEFT;wBIhn?NBdiSrmSyL;zKOj7x)#scyG!PJv)(D-$ zv)WDhH{-^q+ebuAYsrmkA#=W5ed%jm&;_Hr4S%{;{MK2ukzW1wk3``_u>8~g<0r@ywvK6d zl+t?(?|q8E`3@|fysM^zlU&sCf9l6fCQ$UO!xt?`(o&~R2~>j<(((m>Xw0fOX{`~QiipT^#7XiUY1#OQ6qM3gI@JzUBztt9`_JN|XkSZ-RqH@O| ziMe1|w0=wVDnj2Q=#&Zw==+Y`j2tx`x80ZnmRwoPVR)b*e{ZMT&em!gNG-%(!{Jma zwwiX7kHRElwes#?knq-cq9I&WCX!sA@jGz-%5_)!j#YBSQRtMA)kC^85KbFmaUlap zti4RIUxkx58pN_0=hMHwzz{PN7hQRyZwiHI#<#)3I|Iv9=Qrsak$iLlX@G&e`%3-S zgBn)7xh!nge0J|d4vwVQEK4RE|Cd@#Eu;j7nmt6)r{mmDAdJT@0VJCmK*N2xYX!{O zc@Q1_1R}}vUU3mchPl~0cI4B@(QoNp&^FQ(!T^c$BwN= zAq6DTzhfOdzYI$-8W|^T2XaX+pQYYH=POrTwECd^h81tRzLcGJzB*6lD<|(j%i2H0oeeV*!+UAt^FASQOB6C5>}+sAdJsi3p?< z(pr^Ghk1$05#f0eqY6T%1GmOlLwpO;g;wnnPj+MhnaIXofv9bSVicbsY``vt zYZP#_?By^huFlCgEuBM@^0-1uW=YXtrc=V70pro+pFbtIE_$au(~7cYm^OJE;9*Ad zxTTc&Q{-DE`&|I=*QDS-ilDqXgZFu>ZgfFLLfv+Z^yCU6CT?KZ6f&A`?Dfx~ z42d~BvlQd=G_Iah{Y~M@)f}<3r@B}kY2aVT0_{jLjzjrOg%!`C#O7EdHI*;9R@Wo9 zqeR6&D@cf#Nem?DssdYS0PKY>_W@SN+jpLRpGZSx9W8zyK_GIIjj}AT*|uMT)*anH zS$uJngWYf63={1ldV%F|a5wA@%0oJ(QV|Jp7ONC~5|+Je)mOqO;Tx0VDm^srH*$i{OHUfk+Vd^Olzbe0Y-Y3&JVofsEAZz`kJj}jrn#FF z;}Ljwqkfq$NyMCY%-sFo>?Rk-drNN7Y&f7s@ zSv}kWB7UaGFc4qY_ZRy}rDIAu*cbzncla@Vb%qj4Fkf>^r zVP(US!-L`qV&4W~Iv6WQ!qW83b5d5UWQ_pwOJPySsNSr5r<{#Htv+(%J`QHMjjQfr0mXf>0qDxrNn z-bY9az)%YD2{ZDH4wy%=?g0Urm}{&UXrt(AjB(zb}%oGH}4A@|attYqW+rc)4@##<}+M~u3P@$8em zc}=D9d)lv}TmC7H0mnYfA|fAuw=WXwVk3{MQXri_%xgk|9Yue^$qVLJD$-tVslby3 zKSI%5!g)aoHTlB0F~RWs=Ob7z$+qZeLt(Ph%vXj8gSe|O_>P0!MC6!K2l_jD#nFba z^1#mqjeFid%7mHfF0$zP;2WLLBOy%YTX_;gYSnWti9h}H*qqpnA%<|h%oN!MV9h=ooX)p0Oms-Ug3Q5+uHcQ-i=B=5 zJj@zy?~J7Ai<^8&!F$aIz*oiw$Z!9GkrgdbC+I?#&{i3(EJXh(uoT=Li#M`SfNb@tF6wS))uyVOhQg;Y zDSItSOoWbn-Jnj9?dLzZ1rs%7AGY-5zWJGU862lEc)Nf8aSewePIsShOa+RXm5UJF zetMkCN*#bF!^rcDs9Qca6djreev7AcK4|0`tc~7`4v%y}PvcC-k8R@} z22JR~Z?&qhsbL#WDMuK;4G^cYk({jev@vo2!r>#`8rCwF6Q{LrriVH?Cg_Z`@nCv% zq;P<;G`HZB>S4z3Hw{lyw4Uyw`gr~$3~sJeWV*bl8j&@gWG7b<7sa`5Mq|@8PRBoM zZFyd595XZb9)tx}W-%>aQ&n63c0xWO6V$)S1bwH*)gSj@>|w&gYx?U^A$s#~E23H6 zsGzE9k!jYrz@e`JLQWJx?j5)9Z`A-{ROirW;K_eYU32d|;Y({M=3asL$OezU_`HRp zp3L#|`gw8RJrejky<+Ve@k$ky_a5oqGY@SocRskhFyQQFc@^mC@*%8qF6YwF6U;!O z!-l-%A7F5j7$UM!yVq6pQ(oc8CGSzgkbW}rj)8lTFZL>rF4<_RP`=L|Me9b{h8q9M zN*G5vpzV_MZajc*{)=}ui_@wPvScgU4A60&a4V0LIWqUN^_ z>T85zhyLTxM8N#A2Qg_G$2Ls9Cai`UeZ1dyIIT^ri4NQO_IW>?MIo!~1-LA+L*|IA z;c4Ge-=E9>1S%CLKlY@)Jlx-TI|u8qqD68r+J@u@`9R7Io4spV`X7((t|WOpje$ad zOkGU6(Lu7P@#$56ZHbH~N3Q;tR4O)HS(%vzUV-O1eXcGDhxuL%j6K8mKE}mJx>kQU zNV$VGE(d4F`Eckib>N+5wrQhv&+#AUeY@^f+*lzwV$h@RY;s2E;w=h2-UA zwJbUhZBk0pS|Jx3Np37?(yXe1oRW0MZZj`0r_| zgdJA!r}6=0Jz7VS7TKzsxhN?d)<*s9ReWwH0*1Z8?QyQupAN+}5-7mBd_DH)?*1xi zTV&J`9b*s1s5TR{s-9~; zRd7iqM=fabn^!7$lkuT$DB3IDCUJ~zGU5naLRHvqG*r;J)_Y23Qd9?XF5Boc2%mKL zGRtHl_5FslEYy*ihdj+16J*L?`UQw_bs6~B%Z#ukWLt82igU!_^%P=b_`2;{)Sfag z`Hu1Y2rwoI{(+08iMD#WeKSf=eB<*bQJmx6a%zkN*U+ynFGNmxjwER4@R&$s2LG@% zBCBG?I2!R4WnJgYEx_Wo8=O!Y=N>o(Oa)l$IgD1D%D=!ZD( zbKbxU6~ia^&xKw&*4%WtYQd#iPulf~-csnE*Gt~MRfugv&}@DP-Lc$I1$tv4krCls zcR+5Q$`#0Eexk$JwKwzky4M!Ix>Vh5rcKkoS~}~ssp%q@F6n<|_asRYLJt==N@LPq zI7sZ=jm+@7+#eDqH@DlZLw=gblW6`(@txKbip$LlgC6HR1qb_!_?J|7#l!<-hjwzu zioaCmHDd+W!%y(oY{YSm@um)371GNW9m$}HY8e&2&}du8wD``bC%@a}L?T_wVj=Xi zJ*uLb#S4J>kUxn#@c_}sQKjgp zegO8RLi{&$q6-4L%&FT~9X75Q)IOky&hO4{kmSvk*!8$z=T8>vO>e&*=bH{nCKzLa z?L$>8InNfJl;!J8Vd3jtO`rQzsc>boU&hC#y_lJug_w!=9)0E(Ep{2bf%}-f{1r;! z!($PlvG@2s&)-sF$Pn`PLx=iGw;fCLEzb$ulNZN08A`Mo-*-4LMCXBCY@fx}SBvwz z>EcCN;%(XN2jrY#l9=%WJngGZ$hn%tPIlu}#fNWCJoK*^r6N+brW`UstJkK&h8J2M zBwo~#89Dbgb;f3WQYs@=wzak4F+iB_bvGV&UcBn}H>pPSL6V@pspCoE{u=tvRJI)N z!~)zIwzu&LN?LzlIiRp5<_!mP8`(&0AZBNWvTZT>+T@cvvh-;;iD?@(2*a(XKTS|I zQ+K?exwkl6XI^j0vyYg0R*UaQza(q(!P9o{&Pj_@)f?Tr*Z71i6X#DX6FGjM^A8YSlB{*~uwaVm z?eOB`8(I(FzZB-?E=s+tIYJnv=>Pdiin;nvqN3@>wEEaF9bX?^(|UZ&^qTg~E40`3qzbuy$LCEDcHin(tzlc z2ih1M7a*RKzC^Dq*FWO_#IFCi%0CjV2lB^=(_b?xbo0Niwj~oq5xBx>bm^mcaf_5 zE>@+MyPpgV7D<;$B)!8nx@UbJc}_15?thiK{xnnjpveW49pl%C89(!Xr5)7#OAd(C zKR_JhQd`)rad=*(k~cGK2=9CIhe;Wi=T)+C(L&kF^CQ}xke=u<2;VsO7(7{SgRrgT z2>umhA6%!CWVcsD147!-|Mu0{Je@d8bQgm}8t6yZlg-k#Elo~5_asXS%rR}@l5KDm z7rYaQ>=(fpRBCL!3kdxB_XOHrzKr-4OnB~NIR|>!b8udpbQ*Y*H-r5M11S>=R%@dq zDdWeJu!y!!KAfT2^BObxB7r$mp0n@FRYco=!D{fvf4PnDu+@ubv54@1Fb?o%=xqHx zV3sbC&28Sus;&s2(E_}bS1c^GQ@?B1sZ5N<#EO{t-uDBy5YUjSu@9g{1P%1D+6MXb zGZ01!lLLnR9Uv3LX)DyfYWRM>PC7Fv&<4v{Bp_s&-3C)TLQVKJ3)>CP5|Hc_hio^1 z3PoEy-d~Jz68H-)`{{NeiLm#wr1k*p(^+ebMdL#xz8SAa{_2+b$2H_wkRT{6(m>e) zf;KIG3g+JuLM?hOO}lCxnFGf78Dfs4|0P53<1ulrJNI34)R0AYb-(9cnkH%u>P%{r z&E=^mV13`^fbm5dlExrLXKUo3U z#3x>YDFJ0soH!UCwZg$m)jIXtbv4s`?(Qp>y%Ma-$g&u6ij*KI_S^sKQbGdl$U%dI zY^^kPAy!FfC!yjFz-P4Pe~NVOi&be{n5DvtV;wVRPX)^UFc*)KG69;`^V@}_(G>+gY~O9de;x1u>;>3Q$W54Fc%JwsB9Lbw~d1{g@|V&{!;wPx@{(=jWh zeX;@tl{zxRcLPLuEy8ttG)B^1;@H`o0g!%cC^K0r64u1>#oyG05`%>rF(RnNeH{`u zxh?mj{fzIUJ7Vv=r=FFYtDf02voG0A&D`|)#)&Kc8jFxTrUONF6!fAG1z(nl92={b z;e00IZuS7F$7Gq9Q763ColthtrAE@@mT$9W{g!u`NGZ>~)J=z@`xCanz)&5~Q}e6l z@4gyo(^4KlX;<7zPlTd*#j2|pSPH6oXi!+syj(os$2e&C77UtNO}+*@Y$M8LM9t{4 zfq0m$TuM_Vc||b`1Q&uTrXkR2JcNp{5aL55&M&@7%o8@Ho8FGAFuR~D*wHO?8|P)b z_mW>gBz%*gswZp@e;!#7jDweO3XD8_bLnELI?4RHl&S6Jf)Q!RDLwl@qI1fHr&t}= z)O&JX)7yM7Vlp+gb$ie<#t~}NS??!0{FJgXSMw}C_n0^12wmMsoPz=w0?+@aT-wEok=lgt18)ElTiEZ$lantm3`D zp5oo6vh1MT1U#66ZfaU3WLae9D`K@!!O~GNP__kJZjiQ)82d1L#pG)QXxGGIN5P=$ zF78q&tDNjx5vxwbD1u}QvK$S#&pKD_z9^kp0yZRH>%B$K@qHK3c}UMQhrnjeqQRLT zH^GYv;L(a5DCR}jmxgZn7FNNUnLymY&aHw*_vi{gkgiJ2Bp5y_uencQoSd_}j%`nh zAP<#9-H4teO3`a24Mf-r2~CP+yVq9tD7mpmT-HaT2K-ns&YhZvUaIJ5vUpb@4HFJp zlrsz9m{mjdL8WEPmc9fb`9gdtT1$JE^4i8^M5I4bqw`o@mo)P(R+CFd&KwB3Ps%Zw)_|~e-wPHSOrQ8-FXW7XK2!}6jS+hC zgQc4g*$mZ75aa)#TABqY+~lM^``X}Mf^fSO(`iOC$Ikoj)=s?dK3EOBgG{ZGT`>so z6+9Aw#8yBXH{}BPl6HntMigb*UAtd$!;hI5h8>9*4b;a^UV3y{=aBJ7OOz=DCAV!Q(Sgxj9 z8)5t6p`n71Th5flIL{d73PCDRHu4*>+(vcpG^_g$>rOa*@L!o(NYZK}Fe2OXdT*oeuPQCWg8I_1#BSkApN($6D|gy0Hj`FR465=1 z;>5&^f%xPaR^Ism@M1$#H7TU^hpK}5aX=a+x(;27GuGPsZ3>qQwy^FR;PQ6$F@$N}p?#Dr zOeCua_hHWAK2aXEf;ZKWzPygB$TsOm8k^em?&%SFWSm#xo=rt~kF0}h0@L6+(!y@B zOkEAD=1af4A7`kvFjmswm^*N}etYD+PW{Mw%Pq&c;UVTku|zGj1B(bFp4Zt2mFLh& zVtjKp578HvwjI8g4&zV!e*=!hhWc+T^555e>wWo&IMdg{G3S2%8keX{4iU$f?*G<_ zaQ}qS>2S4v!qnZBoqi|1ePYj)`;`RG1~q=0(sZbi(;W&|vPBI&Ch-#99O+-!S7*|l zi-_h7Zw50u3{r(qyMpibT#olF@Jp7^zwo~7ZGvmRDYr%27$8fTnTRSD{fW@EM0z^D z5`~Povg){#{kd6YwL2W~*34{e*etb#o`14eYe>?8a_jDmvKfM33+W@0Ilgi;&05<3tv=j@Ew$;_ z9zyF#(anllMNIy>xwa-W-1l22EM!Ggzm%O#31M7=-%ZGkCPIbbzeT~nC)vLzvsG+O zfCL$daV!DQP&Ojrb(}+B9{mP)3;#}!QS&3(cZtx+l(p6{=pdxFov`Ps?&~%#wr-Bm z44}#l#X>5V$}j><&QEFl$2D|Z-g*RU%die+@>JWn!0(>XZRT%=?#+AbJ{+dZL2l7* zDBnR?fM6lb*H@Db#P#JFvQU$F9h=v>N#6;}Dkt7uicpr6MR&JWCrp+5kq71u|L6`! zI6j{{oyv^Dyx9HyWz18~D{01*cUNSU`}F~gMB( zvzM`NQpWBx7y)I1zyCYwK(xu3H1&8dHH)V|jl2Gl>irecmnR`V-~V2=p7FVOg)U!k zmhRcPvj$4zm9&z|K0SO)ZMkI6ly4}FS9viLzmG$Q5(356;M`*3uuu;V&6jNmw04mj zPx3zQtJj^p>pI%+O{p$WFsJayOU6iyzlAzsy{VYVCN_&oS)$R?uJS{`Sez2EW9e!2 z*f+F|fqgH$7dnR0a3|}j`(Dslf5fr&S!ZduKI84h)Ebl$1yX$q)RrZ2$XB9#W+=DB z#6ySGX<~(HAulbh7`5SN<@Sl)-$%+}CC7O7ZbQdvJeiuDt~dBkO-~gzNKW}o-A(UCwCn9%1=ow+OyS5U zfAaXP4NL9Q#vDwbv+nDblPF`7?}pdyLI}+|{rvmCg=NlZ*thMkIbQsmc(T~{%1PCui6i zRr+1%e3!Ql?nA*R{Y;91xA!v%WVGXJyAEXnRZw<{gvD2=0DDXX98IOZeF1+bGeU75 z<8|o$Q}8ejwcL=8rGAjT)^KkD!Nn_vK=$V!=rq~SFjKFi=;0Amx5D>ZTWaw;weVAK z+fH#f&agViWq&e2{D=$30!btzNAlE+<-o|USjK0k`_>HER>@Hr#{vIWch~yA$)r8i zSDZyONQH0&m3k^sOfNR*ujaj|PG$}JU3F1BU&S~9O=oKNdL50sMVb-i82em#wD>~T zznCrm%QiDHAt5*N3>go=-KV_^RaV?pRqCqH*s4MDv-)*BJ3IA+?T$-_L zrNonz_Z25OII;G*u=8k9ddYoToZcyfFzrt(Zq7}P?Sntqf^>1D%*h!TC^AFV`R!IM z4e~mNyl(gj*x9nvBqQf=bysd0s=MTyX;+R_*)r$0`mT}JK}6>79vSL%g|D;!i&Rv3 z*mju-=xp}$ZXtbF>1D^pKpYTM*f`Mk&aCa+N0^O~3Z$2ukCkp$c$7>l_4kQQ1aP0= ziFI4_WXDj=p{(F|J(|9Dvg1a0=It^4Of+%bDs-;;dq9W&l(O8X|MBPhOEmxWu&D`^ z`kLy3#)}sR6)h^pJNL&BQu9capC#Ok)KTzII;8ZhGDQO0iR0yz)rb~k&p;Yg$k?&g z_u#M#am_Ki#`;~k`)ongo>R%|h&vRv8C}9?o})S0lBSU&WjlFxE=6NHdkaip{iGIl zJ=R)|Q~_+V<6jMQ?d@)w11e z13r8TibS!f4;m&oUotM<^RUs@LG16dY^6p%L@!Oa!NFl(LSC z@>+`9hWxdK@)*e?D7Z4+s>vn!o6aY0655q{XvqS&$tMEYtH;E#Z|39o5DlMMOYNC< zR=+wq8r@SB?zi218Aoj*vUP0K8?zZr*QE-jVNn>%Kp}L~hi4vZJ2~k=(}t5MQ9v~; z7JeFekij3wV-o&kgt~wA)9lM!&n1wk-merzQrD54?9S1X|8d6_kCw!7EGE=@E*QFn z+3waX#b-tvWA2TOTV@JPTtmz-JZm^h`evZGO@jj9WV%N}Y*gjwZqo&rmSvrkRN!}h zHsr>vf>$&~bsnQtonT^TbrjTIwc=p*y2f&jc5!57EYIkJ%L&%=;c`n)=?UDH7AmIB zHtSjpiBo)$QC$`9blugfv!ZiFi#~{t<-k;-7{j8ftPczM37c^(+SSoZyUW0b#A)i| z>I?jFC< z!X!UFTU;WJAN}o^g5&@cm;0~uOn(lJT}{@uJ2JOx!@Hv)Pu!E}_3!J<9u@6;RzQ<+~UMOHV3}H<-Xi7ZxQ&w;wMVUlcaH_i|e831rkd1ULlmvA~gJ0 z6Zz#a$sHYu{ZBju!LC?|6)$wZ9%K*yev-N&rtw?n`{ga{;|rndTO+TvI+DdKrRpqc z*f%vk0e?X}*70WCR)NZzenFK1od zI3UY38J>FcJYZDMXNzS{L`BFT^ELinD8MiEI*_RBh((uB>m+PHba;c*`;0z$+eve9 zu=x#qOpM(1_?q7-SgPM^%mpU*bueJXc9&;HWa_Um9@zv^N0pi60LRXo!cC&wqc1RW zvhHLbpXpI6?I|Z!JQ}@6QHkzAzY!b#<S?u3)nT(v4^&%91;M)3R;^=E zMWWME$528e#A%y%KSR2xKo!-{}+iWS|yuoFhtW! zor&%jMZ*h-K8>@V;zciy3WKPpd8aZv#t+5&s4wmQJip+m*;0&h{CI}OXoHJhZ@Kmm z>Fa+F_T8vM8(q|w!siLuzo@N2jIczD!y9J9aj?|`wT9{%5u}c9-KwMVc8*2awgWF` zMf>0kvAb_548w4P$Mzqz`X3gSn9mmx$-i&Rvlca#ABz|g1$+*0I4gEju=E`MSVS%a z*em1Ss9YBT_v`GG-vsy-e^ev!`*>wTFpyF;X>1c*53^zwKkl>E3(V4Q0@8_ISW9RS+)UMxwfod;!bI4`VWgOxRVzB*w;0%fz12E=Kv2;AwuQ`i=Gj3JibnB6KIm^4mp2{W9J^`?; ze4%DYbrA<*AR4l0>$(K2(#U9ga~1}=!ACk9)vi(3h8rR45|}c%O%Mws-32h7`J@L& z?%89%@7CL4-^F(fZ^F^P(oG9|ksfu;+-2&LW`po--;<(<3|0TfoiyN0@&yy+f>>Nk zOKSr%y~T#i*;D4AP`o!=xr$Y;j&Z3{is;&}J+4ahm8lu1Vi;b6prJqf2fT&1mlMi_+ zhQ#V7^Xh#@!uVY8nJ0G{$NYA!{;hy}VzVZ0P(0wL;I~{ssD`Jh=kq59tgdzH76BtP zftD}*YMw6v_$7f^0mo7<=-@;%DYr0_m)d@}jC<%fpS3j@Jioy?-rmS{X-y85|FO%8 zEs13l93>CYA;L7S13IPz`g`&U9z@?O3-%(7A0U!BmRpm?>3EM;+B%f=3Zgj0emKVH&ta-mtVn0*6l}j(>+*;# zb(A86zleYsYj$D^L*hxel_$SuOIo5yZu=VTs0;ahDvAn_xf(O+?7G;DdF_nDTFv0K z=V)UAn@3H?mp4-jng92Q`IDlLChxn7l}$$Mf0lvYuzdu)i?dy2PP1-pZ|&BYHTSJa z|LC1~2R*V@XA2M#_-;WJc=V%VM7mT`Qg+4?asC0>U>jDvAA7V2Y=M*Ak8p}k`jJAH zk?D8pk4V`A88g;I!HhEz9vn#%O`!Z%2iNE&2G-aT7~<|3-byytSrX<>kk==zQlE}W#1L$Wc{xRA(z2t-fGK%$VAwvwB%ay|82Tox}pW7h*3QxG@$%FGX4 zP;z-^N1SrJA+CBtEU@mIAbDoZQ={kSgb5sGN-Q>V#v7H+UR4gTF4%BIf zLniW06EbwA9c4nhj77Vi7<2%I=jYzcbrw#8 z<8Cjbl`H75+SMX7OtPq*{!BZ+WZozM--XAeTps-_Ks&_UYUI@;hU+jDZXqC2L`^Fc zwv567M48g_f=81?(`?IsxK{1JjO>3r_{-(FpfxJ(V0HU#sP!ubO>DhRq5*ficWP32 z+mNqxp~pc~-V|xtNVMW#cD0a#!MnLGfqKKEBna?;7py8(X5&jOIf`ic&81wl3=zS9 zBSkp+7pwH%7!oq-zpbXLesS&s4WNL1T|ru>?6&Y;uNv{G$aWvmuOP~b(Bu~@n!vR9 ziW1PsJloi>S{kvyY1`<_1JM}ptB*WC6^!|h@{XKn=?QvLYkO6y%gorhv#~zSFZOx% zyk;lTYIvr;ev)!ZAedOvtY)w%?p$w&HrrIGK?;e%JQYL%J)&pGdonC&;)ArKyq5}Z z_{uDLeKw)-91}Trt}de`I{S!QPRd_tXqar*=nyxM`5*+GP?1hT=R&02~WC@t3a4jBK(A7;kqxQ=lq9u>8 zH(lSJ;|}{`*M=&&a9WoGx$AuR!-&l&Kql)xIEsrLE$>C=akjIkomgQ>_w*kt`hl*V ztNW`dcA;MFIyJ8ORCjE2!M9^=zbE49tj+;8c=WkH)$$=E*ROL?HE$iaPg$`EEj9{a zzmRvqjfJFgkp%^fV38m=8u6GnkpO>uY~K`c^@?IPI9e;2UI=UJ0Znf5Al|*y9LZba z`=x`b3VzGurS(;A>9EkP3Q&T!@TWlg3h8lp2)kMUca5j|QprTMtD5CFSlfN*RX`iUzgjE^UZdE! z++%wf-7ECg4wXQcPC_3g zek+~Hw zk7(vFlKDaG)Z2judK2luHVp8fTToh5s=3O)RG6A(qINdi1nu~1q=TkeAZW5f>ZZw& z$YF_3=N}A~gwR)w;#C)H!DauV86I>`p-Y|8J*EAk8o)p3E%<6DL8RHr1+I6qacTPV znA~i<<-qyS_DX$z<^i@wEBw3k@#6IHJFec_R&;6ex;++eK-oMSWaq-(9lC#v7@RZr z?CWw~>D&s5OT;kpXc)LpW^078?ZL_trV5?R-d>xe=U_n;Au8IspV6a0HZtQ(P9$g%+Tf)V=&sJm3%Cxka!XDxaO7QF1ff1@9} zkQb4+cnHgTgjoxYr=iBERsKc@ATH&jOP7d3-1Q37s;dy=Nf_@)>7Nz-#bHo=^J>weR=DmE( zN4Fw#zTjC{W*&O${Z+Q@ZkdKA*<=Z)oo~A~n$8@}?<_)Jdu(<}*6eqqTrn4c9_KJI zkDzt?hX<`p*Hs2QtRqg)r`0r~6?;PzW+EF)zji21#$Nw&Rp~MZZWsDB6>A@nEz5qvYZr*g*~Sx3NHIw1&oP5b1N?iN8Xu z<2jm}t`2&XgGx%DET~Yr`C#i*OrP2(a?9f(2Xt6mjjn;1eN(}iq|D?#oliCk{mlIV z-+IGtx_wKX2GI(&@RM77n@dbt7+kVbtzo)moL?9avgv_cT}6j5_`3&dJNvPHyKLPn z42-ag_Si-LWqzVjNM(U#2P>vPLt2?V3g73a41Y9NHAqvG%O<%6m$wF;dYC$B&g17G)*WDa z{kZk8GoQ*Q`u1FrC0p+O%MGYyHT#CLBKos1Ee0fZ&A|HaL@#78Nw=5jS-u=Q8s9=co;!zG{L*3ZQm$ z+FCG*>6@f{;lk2ghZWXnJtKVXXFWmM#iQbr<6M>DNMclgKs-(mqG|}&nqN800HNZ^W66(9vq$tg;D-Bz3~z>WA8*7dK>eC3)ZeJHXRo^YQbke= zaK7=MemwrMChyAr&>-#8WoO`O!xx7nE`8GaZO2 zIrExz8Il$1zHe~4G(R{#y{aSt+tp<)) z4MIgC5b45!^pu&Uxl0%s5gLg)q{9NMmO$u~+ws#-L=t<_zd8UO*{u*thbe>j?6I=G zGmEV(H$(u|YgaWq&k%P@R}~vWjZeDBi~wLQ4hAruhMK zTgTMZvMSMA;G5`LpypxMjEMHacK zPh_(Ou3W*2V~}Omnn@T}h!;_y857i?&>pIY+LrI!|2uW@NHDny{J5wv54t$jAG_7v}{cPXy;?oC5aULMWR z^a7 zyuk12fJ64!NMdl!GsNa@J^rq1<m)AC^r*^MCsVaaKowokwDaln`=4ALV6R}|ni0y;b9UcKmXzI|@Cy049;tv$1|2c}q8=LN{ik;%`_qO%p85L0r&@8R4e=B5JrP~s;h zidi?btKPu9RiS8IcmzqoA)1ATYTglHGw`KjiB+8+aTvUfWpqbk2{#Rfv>xTQEw=?O zJ5@CC$6&Z<2J-SbQI5D2@fJ4nf@cHL4kJQ`r9t&6%YRR>dgg%@UUk{Fe z(IxXSK_f-!&wqm0XvNvyl3({s`$POJ7o3Ec+F){A3pXe$J$S3Wo~=0DC~;1fqu!`i zEHsZ9?z|941g(EsMLjsia(TrJsEgOXBr?X8@LQf6{<;R7$CKvRL-8wZ=kiz;WPBnQ z#ORIX4?FqfeAHkeFn)Del%QYJ_M`)w%cdNBm6hSQGwm2eC}WtWEA%gvTx8 z&7wtM0aT%T*jYACH|`XIsxGusJswm$E8dv>i}lcw-|A373oF%oVZB|}5b-31rP+^F z<-De@y7EC!c`=yFDPTCOupN?K&d$&8QQkV){DP!4OxZ%U;9EE(le-$jK*XY}G4m&k zZdf{x-@K){LaNdv80vU24bMDpOG;}Pu8SUNDZN}AvAn-9VD-`GuAF2Dd^h3DWqL`> zcrQrP@Nm2;n{kw(WS`#wgv9AMb}u;OODyqYx^Pa697v03R~WJ6Z2F zjB0VhF5i#Hm!J+_Io3rYToJr1s4ojdK9c=V6m7+xpfa&TMGf_=id#|q@)+Jqxe+9k zX28@tN?9xuk>!s)<&VWDoR?1Y*`;;a<%u>)c3CKSjq5zlmXy{mu_aq}(fg7;U*j1ZrEqll6VA3e0FDe%1lE4i@f=OqhdWh{qaV5jm zGUEM5UDBwvGjFZLuGT>_lht0gSjtTvkR8kF+B9@S6pouZS+=%Ar3f)@xQq(EV{KRM z_*3}Q(5g>-tHCSHv;2;znQNV6pi2|1xp~k-o(q1ua!VN~Gj$}z$X)Of*jKjiIHX)K zn)nh4xwvYRNJ@Y8w|TlYRidl{{R~o;;3M1}2^5dI98eM7H)~$wDcsAinv9RQoK!#= zy;$sL%o!$Z-to8V zqm7(LdA_VbJKQf@9v3BvE)+$`E}wII9UM;WKyENT-IiSMP%Md*g#ZElbMHXPfkv`J zE@*GviL6zS1ynXMTEO;(_g^aV&JA%N4nRwa|D6G|$kMtrGUE_)qg@h{1IJtsAvI4W z#STn7*V`<3?%a4BJWDVbu7~)Uwi90Gn8>HRPjQ9{;*Q#nX*Wf+2V zwz434o6G94!?wBQoe(5B8O9-k&Plgwc4H-vs`FDFXI;1Mj+IaFoF;1Z?@mO_yi~Zt zuk5YX(zemTspAWs1D-}H34SOKCNhcbRl*5mkOLPz(|NuZsI2N_+mH&> zE=Bq7JD;iIoDSQKGc>wFIj=Ml^&h)t+if{2 zHcdt8&S@P1HZ74D4fiwKl#^WCbg~p9dlV}bb-g|!g|V5AGO{cL>z;^RWy&X05*b32 zB7{d`rYlqUjP(>dG*xhi!kFg6845+jupQ&1 z6h-*@;vFVkK_SsuVJXfs%wJGdRrDB=AcyN9$27(g{%M_;{x(=4z9@~>7a}~`Bx=p(($i+Fd%}L1 z7&{Q4cg=Ea{YI|irOjT#yT-sKN-I@t*=?cNy!(>;wYf9m4T*>a0v%D&f7CGwhv;}vg&n~M2R^sN@L72sfBg-j5q28 zn`toBbZ}6!+eZOQ*zx7YaIdAO2NKWDCEjtA)OFPw6QPh?CIMO^i)CPdbBpGPv7&@( z@hV(tc!Iv@)7f!Hl?6?J{LtNpqg~=f8aa4j_?zI>0^TT_XG6*!7*x>4E5*b+?K1cGE@4?5z_b zTv`g6^5r`CjJ@`70#V-ex|yVu%W&ka6JYeB$6EwZklmqd2uR!+g)jJLd++dt%an5C z%nq)L&YqK5{@QPGNGJw~{u$&$Q78ZY(LX+D>+DRMGni5?LzVCvgK2HxY~rk8&C+Fd z9lP;uO_s59n+tme?tSoGc>HH*`OXKo?#Ke_#}REnZ5oJO9`^JFaN0>BYt8cyqI7i@Lx*#iIKSbE-0l&C2xJD2>`_ z60vO6`Q&5M2bY2H))H#;ww(G;DpXBp5x1`Zl|}6KOfpbjXeBS?!}eIGvct^{bz;83 zxf<(9W*=?kW-C=Jd>1L&k@eE@ z8LU~|SXELg29AW0CIz^ys@{$N29VN;ug3G=!%{$Kg#BK)rV`44nDRV7&ZgXsX3lA!V1azhGbffYgPI@Xxkq-t(i6%&_ZE8ee3p=KJ^H(2-C5P+clhjV5Y z6-gr}$KTR%4WOedX#CHT^*?zA&{2??naSDS`VIb@w<5PaFrRE#UmW#!qVRuSP)%fD z%J^w+d=|j*|MY+7-#?zj__?U1*9DxS{Q25HzWdLnL;V0M{o3?T{l~<6-;aaz0WIVe zdjHR|hX3O7c~!rDaXXF* zfXn+#?g!lWegOCZxV+coZu|gT-ls(Xa9MXYZTPx)-;2sNHQ?{tlOA6;d=;Ag{{Sbr B7>57= literal 0 HcmV?d00001 diff --git a/apps/docs/public/static/enterprise/custom-blocks-list.png b/apps/docs/public/static/enterprise/custom-blocks-list.png new file mode 100644 index 0000000000000000000000000000000000000000..18671499275a656f5a505c71d1babd7c2fda3fd2 GIT binary patch literal 178157 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 E0BLzKuK)l5 literal 0 HcmV?d00001 diff --git a/apps/docs/public/static/enterprise/custom-blocks-toolbar.png b/apps/docs/public/static/enterprise/custom-blocks-toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..cd8fc3b8d92de900c790d488db3c574544395eb4 GIT binary patch literal 63596 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

Nipuk7L2zz%?-%D)S=a`fH=9=ENm;8aw$ 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 Date: Wed, 8 Jul 2026 15:14:15 -0700 Subject: [PATCH 14/27] fix(rich-markdown-editor): eliminate empty-block / boundary-key structural bugs (#5517) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(rich-markdown-editor): don't split a list when deleting an empty item Backspacing an emptied list item in the middle of a list used ProseMirror's default lift, which pulls the item out into a top-level paragraph — splitting one list into two and stranding an empty paragraph (a visible gap). Backspace at the start of an empty list item now joins into the previous block instead, removing the item and keeping a single list. Covers bullet, ordered, and task lists. * fix(rich-markdown-editor): generalize empty-wrapped-block boundary keys Replace the joinBackward empty-list-item Backspace branch with a walk-up-and-delete that removes the whole emptied wrapper, and extend it to task items and blockquotes. joinBackward left a stray empty paragraph inside the previous item (flat lists) or no-op'd entirely on nested items (leaving them stuck); blockquotes were never handled and split in two. Add an Enter handler so an empty non-trailing list/task item is removed rather than split into two lists around a stranded, non-round-trippable empty paragraph; a trailing empty item still exits the list via the default. Covers bullet/ordered/task/blockquote at every position; non-empty items and the double-Enter list-exit are unaffected. * fix(rich-markdown-editor): isolate verbatim block nodes from boundary joins footnoteDef and rawHtmlBlock hold exact source text but were neither isolating nor atom, so a single Backspace/Delete at their boundary let ProseMirror's default join merge their raw markdown into an adjacent paragraph as HTML-escaped prose — silently destroying the node and corrupting saved markdown. Mark the block variants isolating so boundary keys can't cross their edge. Round-trip and in-place editing are unchanged. * fix(rich-markdown-editor): escape leading block markers in paragraph serialization A paragraph beginning with #, -, +, 1., 1), or a bare --- serialized unescaped, so it silently re-parsed into a heading / list / thematic break on the next load (reachable via type-a-marker then undo). The upstream serializer escapes inline delimiters (* _ ` [ ] ~, so * bullets and > quotes already round-trip) but not these block-starting markers. BlockSafeParagraph wraps the paragraph renderer with a leading-marker guard; escaping is idempotent (parsing consumes the backslash) and never over-escapes non-markers like #hashtag or -5. * fix(rich-markdown-editor): strip leading paragraph indent; keep empty paragraphs  -free A paragraph beginning with a 4-space/tab indent re-parsed as an indented code block on the next load. Leading whitespace never renders in a paragraph (CommonMark strips up to three leading spaces; four or more become code), so BlockSafeParagraph now strips it — lossless and idempotent. Composes with the existing leading-marker escaping (e.g. ' # x' → '\# x'). Also locks in that consecutive empty paragraphs serialize via blank lines rather than the upstream ' ' marker: replacing StarterKit's Paragraph already dropped the   path, and the round-trip preserves the empty-paragraph count without tripping the read-only safety gate (which flags   as a stable-loss pattern). Added tests for both. --- .../rich-markdown-editor/extensions.ts | 36 ++++++ .../rich-markdown-editor/keymap.test.ts | 120 +++++++++++++++++- .../rich-markdown-editor/keymap.ts | 80 +++++++++++- .../raw-markdown-snippet.tsx | 4 + .../rich-markdown-editor/round-trip.test.ts | 104 +++++++++++++++ 5 files changed, 335 insertions(+), 9 deletions(-) diff --git a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/extensions.ts b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/extensions.ts index 1f29545bebb..bf91dfd2cd9 100644 --- a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/extensions.ts +++ b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/extensions.ts @@ -1,6 +1,7 @@ import type { Extensions, JSONContent, MarkdownRendererHelpers, Node } from '@tiptap/core' import { Code } from '@tiptap/extension-code' import { TaskItem, TaskList } from '@tiptap/extension-list' +import { Paragraph } from '@tiptap/extension-paragraph' import { renderTableToMarkdown, Table, @@ -57,6 +58,39 @@ const PipeSafeTable = Table.extend({ .replace(/\n+$/, ''), }) +/** + * Guards a paragraph's serialized text so its leading characters don't re-parse it into a different + * block on the next load: + * + * - **Leading whitespace** is stripped. It never renders in a paragraph (CommonMark strips up to three + * leading spaces, and four or more would re-parse the paragraph as an indented code block), so + * removing it is lossless and makes the round-trip idempotent. + * - **A leading block marker** (`#`, `-`, `+`, `1.`, `1)`, or a bare `---`) is backslash-escaped so the + * paragraph doesn't become a heading / list / thematic break. The upstream serializer escapes inline + * delimiters (`* _ \` [ ] ~`, so `*` bullets and `>` quotes already round-trip) but not these + * block-starting markers. Escaping is idempotent: parsing consumes the backslash, so the stored + * ProseMirror text never carries it and re-serialization is stable. + */ +function guardParagraphLeading(text: string): string { + const stripped = text.replace(/^[ \t]+/, '') + if (/^(#{1,6}([ \t]|$)|[-+][ \t]|-(?:[ \t]*-){2,}[ \t]*$)/.test(stripped)) { + return `\\${stripped}` + } + const ordered = /^(\d{1,9})([.)][ \t])/.exec(stripped) + return ordered ? `${ordered[1]}\\${stripped.slice(ordered[1].length)}` : stripped +} + +/** + * Paragraph that guards its leading characters on serialize (see {@link guardParagraphLeading}) — + * otherwise a paragraph beginning with a block marker or an indent silently becomes a heading / list / + * thematic break / code block on the next load. Block separators are owned by the parent joiner, so a + * paragraph renders as just its inline children; this override wraps that with the leading guard. + */ +const BlockSafeParagraph = Paragraph.extend({ + renderMarkdown: (node: JSONContent, h: MarkdownRendererHelpers) => + guardParagraphLeading(h.renderChildren(node.content ?? [])), +}) + /** * Node-view variants the live editor injects in place of the headless defaults — the code-block * language picker, the resizable image, and the mention chip. The mention chip pulls the block registry @@ -92,7 +126,9 @@ export function createMarkdownContentExtensions(nodeViews: ContentNodeViews = {} underline: false, codeBlock: false, code: false, + paragraph: false, }), + BlockSafeParagraph, InlineCode, codeBlock, (nodeViews.image ?? MarkdownImage).configure({ allowBase64: true }), diff --git a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/keymap.test.ts b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/keymap.test.ts index c7c8f425417..1f12ca3b7ee 100644 --- a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/keymap.test.ts +++ b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/keymap.test.ts @@ -33,12 +33,37 @@ function firstPosOf(editor: Editor, type: string): number { return pos } -function pressBackspace(editor: Editor): void { +function pressKey(editor: Editor, key: string): void { editor.view.dom.dispatchEvent( - new KeyboardEvent('keydown', { key: 'Backspace', bubbles: true, cancelable: true }) + new KeyboardEvent('keydown', { key, bubbles: true, cancelable: true }) ) } +function pressBackspace(editor: Editor): void { + pressKey(editor, 'Backspace') +} + +/** Empties the item whose text is `word` (caret left at its start), the state before a boundary key. */ +function emptyItem(editor: Editor, word: string): void { + let from = -1 + let to = -1 + editor.state.doc.descendants((node, pos) => { + if (from < 0 && node.isText && node.text === word) { + from = pos + to = pos + word.length + } + }) + editor.commands.setTextSelection({ from, to }) + editor.commands.deleteSelection() +} + +/** Serialized markdown after re-parsing it once — equal to `getMarkdown()` only if it round-trips. */ +function markdownRoundTrip(editor: Editor): { md: string; reparsed: string } { + const md = editor.getMarkdown() + editor.commands.setContent(md, { contentType: 'markdown' }) + return { md, reparsed: editor.getMarkdown() } +} + describe('suggestion-aware arrow keymap', () => { beforeEach(() => { // The suggestion render lifecycle uses these; jsdom lacks them. @@ -141,3 +166,94 @@ describe('divider Backspace', () => { editor.destroy() }) }) + +describe('empty wrapped-block Backspace', () => { + beforeEach(() => { + Element.prototype.scrollIntoView = vi.fn() + }) + + it.each([ + ['bullet middle', '- one\n- two\n- three', 'two', '- one\n- three'], + ['bullet first', '- one\n- two\n- three', 'one', '- two\n- three'], + ['bullet last', '- one\n- two', 'two', '- one'], + ['ordered middle', '1. one\n2. two\n3. three', 'two', '1. one\n2. three'], + ['task middle', '- [ ] one\n- [ ] two\n- [ ] three', 'two', '- [ ] one\n- [ ] three'], + ['blockquote middle', '> one\n>\n> two\n>\n> three', 'two', '> one\n>\n> three'], + ['nested item', '- one\n - two\n- three', 'two', '- one\n- three'], + ])( + 'removes the emptied %s cleanly — one container, no stray paragraph, round-trips', + (_label, markdown, word, expected) => { + const editor = editorWith('') + editor.commands.setContent(markdown, { contentType: 'markdown' }) + editor.commands.focus() + emptyItem(editor, word) + pressBackspace(editor) + + const { md, reparsed } = markdownRoundTrip(editor) + expect(md.trim()).toBe(expected) + expect(reparsed).toBe(md) + editor.destroy() + } + ) +}) + +describe('empty list-item Enter', () => { + beforeEach(() => { + Element.prototype.scrollIntoView = vi.fn() + }) + + it('removes an empty MIDDLE item instead of splitting the list into a stranded paragraph', () => { + const editor = editorWith('') + editor.commands.setContent('- one\n- two\n- three', { contentType: 'markdown' }) + editor.commands.focus() + emptyItem(editor, 'two') + pressKey(editor, 'Enter') + + const { md, reparsed } = markdownRoundTrip(editor) + expect(md.trim()).toBe('- one\n- three') + expect(reparsed).toBe(md) + editor.destroy() + }) + + it('leaves an empty TRAILING item to the default (exits the list)', () => { + const editor = editorWith('') + editor.commands.setContent('- one\n- two', { contentType: 'markdown' }) + editor.commands.focus() + emptyItem(editor, 'two') + pressKey(editor, 'Enter') + + const list = editor.getJSON().content?.find((node) => node.type === 'bulletList') + expect(list?.content).toHaveLength(1) + expect(editor.getJSON().content?.some((node) => node.type === 'paragraph')).toBe(true) + editor.destroy() + }) +}) + +describe('verbatim block boundary (isolating)', () => { + beforeEach(() => { + Element.prototype.scrollIntoView = vi.fn() + }) + + function caretIntoNode(editor: Editor, nodeType: string): void { + editor.state.doc.descendants((node, pos) => { + if (node.type.name === nodeType) editor.commands.setTextSelection(pos + 1) + }) + } + + it.each([ + ['footnote definition', 'body text[^x]\n\n[^x]: the note', 'footnoteDef'], + ['raw HTML block', 'body\n\n

\nhello\n
', 'rawHtmlBlock'], + ])( + 'Backspace at the start of a %s does not merge across its boundary and destroy it', + (_label, markdown, nodeType) => { + const editor = editorWith('') + editor.commands.setContent(markdown, { contentType: 'markdown' }) + editor.commands.focus() + expect(blockShape(editor)).toContain(nodeType) + caretIntoNode(editor, nodeType) + pressBackspace(editor) + expect(blockShape(editor)).toContain(nodeType) + editor.destroy() + } + ) +}) diff --git a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/keymap.ts b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/keymap.ts index 2c51d43646f..6fb6ad4ac66 100644 --- a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/keymap.ts +++ b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/keymap.ts @@ -1,7 +1,8 @@ import type { Editor } from '@tiptap/core' import { Extension } from '@tiptap/core' import { GapCursor } from '@tiptap/pm/gapcursor' -import { NodeSelection, Plugin, PluginKey } from '@tiptap/pm/state' +import type { ResolvedPos } from '@tiptap/pm/model' +import { NodeSelection, Plugin, PluginKey, Selection } from '@tiptap/pm/state' import { Decoration, DecorationSet } from '@tiptap/pm/view' import { MENTION_PLUGIN_KEY } from './mention' import { SLASH_COMMAND_PLUGIN_KEY } from './slash-command/slash-command' @@ -9,6 +10,47 @@ import { SLASH_COMMAND_PLUGIN_KEY } from './slash-command/slash-command' /** Leaf nodes that have no text position, so they can only be reached as a NodeSelection. */ const SELECTABLE_LEAVES = new Set(['horizontalRule', 'image']) +/** + * Wrapper nodes whose empty child a boundary key must remove cleanly rather than lift. Lifting an empty + * block out of one of these splits the container in two and strands an empty paragraph — a visible gap + * that also fails to round-trip through markdown (see {@link removeEmptyWrappedBlock}). + */ +const WRAPPER_TYPES = new Set(['listItem', 'taskItem', 'blockquote']) + +/** Item node types a list is built from, used to detect an empty item's position within its list. */ +const LIST_ITEM_TYPES = new Set(['listItem', 'taskItem']) + +/** True when the resolved position sits anywhere inside a {@link WRAPPER_TYPES} ancestor. */ +function isInsideWrapper($from: ResolvedPos): boolean { + for (let depth = $from.depth - 1; depth >= 1; depth--) { + if (WRAPPER_TYPES.has($from.node(depth).type.name)) return true + } + return false +} + +/** + * Removes the empty textblock at `$from`, deleting up through the outermost ancestor it is the sole + * child of, then places the caret at the end of the preceding block. This keeps a list or blockquote + * whole when its middle/first/last item is emptied — where ProseMirror's default lift would split the + * container and strand an empty paragraph (a visible gap, and markdown that re-parses to a different + * document). Walking up while `childCount === 1` deletes the whole now-empty wrapper (the emptied list + * item, not just its paragraph) so no orphan `
  • ` or empty continuation line is left behind. + */ +function removeEmptyWrappedBlock(editor: Editor, $from: ResolvedPos): boolean { + let depth = $from.depth + while (depth > 1 && $from.node(depth - 1).childCount === 1) depth-- + const start = $from.before(depth) + const end = $from.after(depth) + return editor.commands.command(({ tr, dispatch }) => { + if (dispatch) { + tr.delete(start, end) + tr.setSelection(Selection.near(tr.doc.resolve(start), -1)) + dispatch(tr.scrollIntoView()) + } + return true + }) +} + /** * True while a `/` or `@` suggestion menu is open. Arrow keys must reach that menu's own handler, so * the leaf-selection shortcuts below yield rather than stealing the key to select an adjacent divider. @@ -66,12 +108,21 @@ function selectAdjacentSelectedLeaf(editor: Editor, direction: 'up' | 'down'): b * Editor-specific keyboard behavior layered on top of StarterKit's defaults: * * - **Backspace** at the start of a heading reverts it to a paragraph (ProseMirror's default joins or - * no-ops, stranding the heading style; a second Backspace then merges as usual). At the start of a - * block whose previous sibling is a divider or image, where ProseMirror's `joinBackward` can't cross - * the leaf and no-ops: an *empty* block is deleted (clearing the blank line between/below dividers - * without touching the divider itself), while a *non-empty* block selects the leaf — so a first - * Backspace highlights what a second deletes, the same highlight-before-delete affordance as clicking - * it and parity with the arrow-key leaf selection. + * no-ops, stranding the heading style; a second Backspace then merges as usual). At the start of an + * *empty block inside a list item, task item, or blockquote* it removes that whole emptied wrapper via + * {@link removeEmptyWrappedBlock} instead of ProseMirror's default lift — lifting an empty item out of + * the middle of a list/quote splits the container in two and strands an empty paragraph (a visible gap + * that also re-parses to a different markdown document), while the default `joinBackward` alternately + * no-ops on nested items (leaving them stuck) or merges an empty continuation paragraph into the + * previous item. At the start of a block whose previous sibling is a divider or image, where + * ProseMirror's `joinBackward` can't cross the leaf and no-ops: an *empty* block is deleted (clearing + * the blank line between/below dividers without touching the divider itself), while a *non-empty* + * block selects the leaf — so a first Backspace highlights what a second deletes, the same + * highlight-before-delete affordance as clicking it and parity with the arrow-key leaf selection. + * - **Enter** on an *empty, non-trailing list/task item* removes the empty item ({@link + * removeEmptyWrappedBlock}) rather than letting the default split the list into two around a stranded + * empty paragraph (which does not round-trip). A *trailing* empty item still falls through to the + * default, which exits the list — the standard "press Enter on a blank bullet to leave the list". * - **Mod-A** inside a code block selects only that block's contents; pressing it again (when the * block is already fully selected) falls through to the default whole-document select-all, the * same scoped behavior as a code editor. @@ -97,6 +148,9 @@ export const RichMarkdownKeymap = Extension.create({ if ($from.parent.type.name === 'heading') { return editor.commands.setParagraph() } + if ($from.parent.content.size === 0 && isInsideWrapper($from)) { + return removeEmptyWrappedBlock(editor, $from) + } const blockStart = $from.before($from.depth) const nodeBefore = doc.resolve(blockStart).nodeBefore if (!nodeBefore || !SELECTABLE_LEAVES.has(nodeBefore.type.name)) return false @@ -113,6 +167,18 @@ export const RichMarkdownKeymap = Extension.create({ } return editor.commands.setNodeSelection(leafStart) }, + Enter: ({ editor }) => { + const { selection } = editor.state + if (!selection.empty || selection.$from.parentOffset !== 0) return false + const { $from } = selection + if ($from.parent.content.size !== 0) return false + const itemDepth = $from.depth - 1 + if (itemDepth < 1 || !LIST_ITEM_TYPES.has($from.node(itemDepth).type.name)) return false + const listDepth = itemDepth - 1 + const isTrailingItem = $from.index(listDepth) === $from.node(listDepth).childCount - 1 + if (isTrailingItem) return false + return removeEmptyWrappedBlock(editor, $from) + }, 'Mod-a': ({ editor }) => { const { $from } = editor.state.selection if ($from.parent.type.name !== 'codeBlock') return false diff --git a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/raw-markdown-snippet.tsx b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/raw-markdown-snippet.tsx index f2e27209ce7..1aad444de29 100644 --- a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/raw-markdown-snippet.tsx +++ b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/raw-markdown-snippet.tsx @@ -167,6 +167,10 @@ function verbatimNodeConfig({ name, inline, badgeLabel }: VerbatimNodeOptions) { marks: '', code: true, defining: !inline, + // Block verbatim nodes hold exact source text; `isolating` stops a boundary Backspace/Delete from + // joining across their edge, which would otherwise merge their raw markdown into an adjacent + // paragraph as HTML-escaped prose and destroy the node (silent data loss on save). + isolating: !inline, selectable: true, atom: false, parseHTML() { diff --git a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/round-trip.test.ts b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/round-trip.test.ts index 34db32f85c5..1f8a9df6a1e 100644 --- a/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/round-trip.test.ts +++ b/apps/sim/app/workspace/[workspaceId]/files/components/file-viewer/rich-markdown-editor/round-trip.test.ts @@ -330,3 +330,107 @@ describe('link href sanitization — dangerous schemes from file content are neu expect(hrefs).toContain('mailto:x@y.com') }) }) + +describe('paragraph leading guard (marker escaping + indent stripping)', () => { + /** Serialize a doc whose first paragraph literally starts with `text`, then re-parse its first node. */ + function serializeParagraph(text: string): { + md: string + reparsedType: string + idempotent: boolean + } { + editor = new Editor({ extensions: createMarkdownContentExtensions() }) + editor.commands.setContent( + { type: 'doc', content: [{ type: 'paragraph', content: [{ type: 'text', text }] }] }, + { contentType: 'json' } + ) + const md = postProcessSerializedMarkdown(editor.getMarkdown()) + editor.commands.setContent(md, { contentType: 'markdown' }) + const reparsedType = editor.getJSON().content?.[0]?.type ?? '' + const idempotent = postProcessSerializedMarkdown(editor.getMarkdown()) === md + editor.destroy() + editor = null + return { md, reparsedType, idempotent } + } + + it.each([ + ['# note', '\\# note'], + ['###### note', '\\###### note'], + ['#', '\\#'], + ['- item', '\\- item'], + ['+ item', '\\+ item'], + ['1. step', '1\\. step'], + ['1) step', '1\\) step'], + ['---', '\\---'], + ['- - -', '\\- - -'], + ])('escapes a paragraph starting with %j so it stays a paragraph', (text, expectedMd) => { + const { md, reparsedType, idempotent } = serializeParagraph(text) + expect(md.trim()).toBe(expectedMd) + expect(reparsedType).toBe('paragraph') + expect(idempotent).toBe(true) + }) + + it.each([ + ['#hashtag'], // no space after # → not a heading + ['-5 degrees'], // no space after - → not a bullet + ['plain text'], + ])('does not over-escape %j', (text) => { + const { md, reparsedType, idempotent } = serializeParagraph(text) + expect(md.trim()).toBe(text) + expect(reparsedType).toBe('paragraph') + expect(idempotent).toBe(true) + }) + + it.each([ + [' four spaces', 'four spaces'], + ['\ttab indent', 'tab indent'], + [' eight spaces', 'eight spaces'], + [' # indented marker', '\\# indented marker'], + ])( + 'strips leading indent so %j stays a paragraph instead of an indented code block', + (text, expectedMd) => { + const { md, reparsedType, idempotent } = serializeParagraph(text) + expect(md.trim()).toBe(expectedMd) + expect(reparsedType).toBe('paragraph') + expect(idempotent).toBe(true) + } + ) +}) + +describe('consecutive empty paragraphs', () => { + /** Doc with `a`, then `count` empty paragraphs, then `b`; serialized and round-tripped. */ + function serializeEmpties(count: number) { + editor = new Editor({ extensions: createMarkdownContentExtensions() }) + const emptyParas = Array.from({ length: count }, () => ({ type: 'paragraph', content: [] })) + editor.commands.setContent( + { + type: 'doc', + content: [ + { type: 'paragraph', content: [{ type: 'text', text: 'a' }] }, + ...emptyParas, + { type: 'paragraph', content: [{ type: 'text', text: 'b' }] }, + ], + }, + { contentType: 'json' } + ) + const md = postProcessSerializedMarkdown(editor.getMarkdown()) + editor.commands.setContent(md, { contentType: 'markdown' }) + const emptyCount = (editor.getJSON().content ?? []).filter( + (n) => n.type === 'paragraph' && !n.content?.length + ).length + const idempotent = postProcessSerializedMarkdown(editor.getMarkdown()) === md + editor.destroy() + editor = null + return { md, emptyCount, idempotent } + } + + it.each([[1], [2], [3], [4]])( + 'preserves %i empty paragraph(s) via blank lines (no  , idempotent, no read-only trigger)', + (count) => { + const { md, emptyCount, idempotent } = serializeEmpties(count) + expect(md).not.toContain(' ') + expect(md).not.toContain(String.fromCharCode(0x00a0)) + expect(emptyCount).toBe(count) + expect(idempotent).toBe(true) + } + ) +}) From 07c026a917dbfead833fc0bccad449cbf2b9936f Mon Sep 17 00:00:00 2001 From: Waleed Date: Wed, 8 Jul 2026 15:34:18 -0700 Subject: [PATCH 15/27] fix(ashby): repair broken idempotency dedup and clarify duplicate-webhook errors (#5518) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(ashby): repair broken idempotency dedup and clarify duplicate-webhook errors extractIdempotencyId looked for a webhookActionId field that does not exist anywhere in Ashby's webhook payload schema (confirmed against the live OpenAPI spec), so every delivery — including Ashby's own retries — got a fresh random dedup key and could re-execute workflows. Derive the key from the affected resource's id plus its updatedAt/decidedAt instead. Also surface a clear, actionable message when Ashby's webhook.create rejects a request as a duplicate (seen repeatedly in production logs, where the outbox retried the same failing subscription for ~23 minutes before dead-lettering) instead of the generic API error passthrough. Also add the interview stage `type` field to trigger outputs (present in Ashby's schema, useful for a stage-change trigger) and fix the employmentType description to match Ashby's actual enum values. * fix(ashby): correct offer status enum values in trigger output descriptions acceptanceStatus listed a non-existent "WaitingOnResponse" value and offerStatus was missing "WaitingOnApprovalDefinition" — both caught on a second pass re-checking every enum against Ashby's live OpenAPI spec. * fix(ashby): harden idempotency key against Greptile-flagged collision risks - Return null (skip dedup) when application.updatedAt is absent instead of collapsing to an empty string, which could collide two distinct events sharing an application id onto the same key. - Drop decidedAt from the offerCreate key. It's populated only after the fact, so including it gave a retry of the same delivery a different key than the original attempt once the candidate responded, defeating dedup. offer.id alone is already stable and unique per created offer. * fix(ashby): fall back to a content fingerprint instead of skipping dedup Returning null when application.updatedAt was missing avoided false collisions between distinct events, but also disabled retry dedup entirely for that payload shape — an Ashby retry would get a random key from the idempotency service's own fallback and re-run the workflow. Extract the fallback-fingerprint helper (sha256 of a stably-serialized payload) out of salesforce.ts into the shared providers/utils.ts, and use it in ashby.ts: identical retried bytes hash identically (dedup still works), while two genuinely different events hash differently (no false collision). * chore(ashby): remove inline comments, let names carry the intent * fix(ashby): fingerprint the full data payload, not just application Hashing only data.application missed other fields (e.g. offer on candidateHire) when updatedAt is absent, so two deliveries sharing an application snapshot but differing elsewhere in data could collide onto the same idempotency key. * fix(ashby): rename output field 'type' to 'stageType' to fix build TriggerOutput reserves the 'type' key for the output's own JSON type (e.g. 'string'), so a nested field literally named 'type' inside currentInterviewStage collided with that meta-field and broke the Record cast — passing local type-check (which turbo was silently serving a stale cached pass for) but failing Next.js's build-time type check in CI. Renamed to stageType, matching the existing eventType-style convention used elsewhere for API fields literally called 'type'. * fix(ashby): rename currentInterviewStage.type to stageType in delivered data too Renaming the field in the output schema alone (to fix the TriggerOutput build collision) left a mismatch: Ashby's real payload still has currentInterviewStage.type, so a picker/expression using the schema's declared stageType would resolve to undefined at runtime. formatInput now renames the field in the actual delivered payload so it matches what the schema declares. * fix(ashby): fold offer id into the idempotency key when present When application.updatedAt is present, the key ignored sibling data fields — a candidateHire delivery carries both application and offer, so two deliveries sharing an application snapshot could collide even though they concern different offers. Append offer.id to the discriminator when present; it's the only sibling object Ashby's schema ever pairs with application. --- apps/sim/lib/webhooks/providers/ashby.test.ts | 231 ++++++++++++++++++ apps/sim/lib/webhooks/providers/ashby.ts | 49 +++- apps/sim/lib/webhooks/providers/salesforce.ts | 22 +- apps/sim/lib/webhooks/providers/utils.ts | 30 +++ apps/sim/triggers/ashby/utils.ts | 19 +- 5 files changed, 322 insertions(+), 29 deletions(-) create mode 100644 apps/sim/lib/webhooks/providers/ashby.test.ts diff --git a/apps/sim/lib/webhooks/providers/ashby.test.ts b/apps/sim/lib/webhooks/providers/ashby.test.ts new file mode 100644 index 00000000000..f51eb1f8d9a --- /dev/null +++ b/apps/sim/lib/webhooks/providers/ashby.test.ts @@ -0,0 +1,231 @@ +/** + * @vitest-environment node + */ +import crypto from 'crypto' +import { createMockRequest } from '@sim/testing' +import { describe, expect, it } from 'vitest' +import { ashbyHandler } from '@/lib/webhooks/providers/ashby' + +describe('ashbyHandler', () => { + describe('verifyAuth', () => { + const secret = 'test-secret-token' + const rawBody = JSON.stringify({ action: 'ping', data: { webhookActionType: 'ping' } }) + const signature = `sha256=${crypto.createHmac('sha256', secret).update(rawBody, 'utf8').digest('hex')}` + + it('returns 401 when secretToken is missing', () => { + const request = createMockRequest('POST', JSON.parse(rawBody), { + 'ashby-signature': signature, + }) + const res = ashbyHandler.verifyAuth!({ + request: request as any, + rawBody, + requestId: 'r1', + providerConfig: {}, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('returns 401 when signature header is missing', () => { + const request = createMockRequest('POST', JSON.parse(rawBody), {}) + const res = ashbyHandler.verifyAuth!({ + request: request as any, + rawBody, + requestId: 'r1', + providerConfig: { secretToken: secret }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('returns 401 when signature is invalid', () => { + const request = createMockRequest('POST', JSON.parse(rawBody), { + 'ashby-signature': 'sha256=deadbeef', + }) + const res = ashbyHandler.verifyAuth!({ + request: request as any, + rawBody, + requestId: 'r1', + providerConfig: { secretToken: secret }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('returns null when signature is valid', () => { + const request = createMockRequest('POST', JSON.parse(rawBody), { + 'ashby-signature': signature, + }) + const res = ashbyHandler.verifyAuth!({ + request: request as any, + rawBody, + requestId: 'r1', + providerConfig: { secretToken: secret }, + webhook: {}, + workflow: {}, + }) + expect(res).toBeNull() + }) + }) + + describe('matchEvent', () => { + it('rejects ping events', async () => { + const matched = await ashbyHandler.matchEvent!({ + webhook: { id: 'w1' } as any, + body: { action: 'ping', data: { webhookActionType: 'ping' } }, + requestId: 'r1', + providerConfig: { triggerId: 'ashby_application_submit' }, + } as any) + expect(matched).toBe(false) + }) + + it('matches when action equals the configured trigger event', async () => { + const matched = await ashbyHandler.matchEvent!({ + webhook: { id: 'w1' } as any, + body: { action: 'applicationSubmit', data: {} }, + requestId: 'r1', + providerConfig: { triggerId: 'ashby_application_submit' }, + } as any) + expect(matched).toBe(true) + }) + + it('rejects when action does not match the configured trigger event', async () => { + const matched = await ashbyHandler.matchEvent!({ + webhook: { id: 'w1' } as any, + body: { action: 'jobCreate', data: {} }, + requestId: 'r1', + providerConfig: { triggerId: 'ashby_application_submit' }, + } as any) + expect(matched).toBe(false) + }) + }) + + describe('formatInput', () => { + it('spreads data fields to the top level alongside action', async () => { + const result = await ashbyHandler.formatInput!({ + body: { + action: 'applicationSubmit', + data: { application: { id: 'app-1', status: 'Active' } }, + }, + } as any) + expect(result.input).toEqual({ + action: 'applicationSubmit', + application: { id: 'app-1', status: 'Active' }, + }) + }) + + it('renames currentInterviewStage.type to stageType, matching the trigger output schema', async () => { + const result = await ashbyHandler.formatInput!({ + body: { + action: 'candidateStageChange', + data: { + application: { + id: 'app-1', + currentInterviewStage: { id: 'stage-1', title: 'Offer', type: 'Offer' }, + }, + }, + }, + } as any) + expect(result.input.application).toEqual({ + id: 'app-1', + currentInterviewStage: { id: 'stage-1', title: 'Offer', stageType: 'Offer' }, + }) + }) + }) + + describe('extractIdempotencyId', () => { + it('derives a stable key from application id + updatedAt', () => { + const body = { + action: 'candidateStageChange', + data: { application: { id: 'app-1', updatedAt: '2026-01-01T00:00:00Z' } }, + } + expect(ashbyHandler.extractIdempotencyId!(body)).toBe( + 'ashby:candidateStageChange:app-1:2026-01-01T00:00:00Z' + ) + expect(ashbyHandler.extractIdempotencyId!({ ...body })).toBe( + ashbyHandler.extractIdempotencyId!(body) + ) + }) + + it('derives a key from candidate id for candidateDelete', () => { + const body = { action: 'candidateDelete', data: { candidate: { id: 'cand-1' } } } + expect(ashbyHandler.extractIdempotencyId!(body)).toBe('ashby:candidateDelete:cand-1') + }) + + it('derives a key from job id for jobCreate', () => { + const body = { action: 'jobCreate', data: { job: { id: 'job-1' } } } + expect(ashbyHandler.extractIdempotencyId!(body)).toBe('ashby:jobCreate:job-1') + }) + + it('derives a stable key from offer id alone, ignoring mutable decidedAt', () => { + const created = { action: 'offerCreate', data: { offer: { id: 'offer-1', decidedAt: null } } } + expect(ashbyHandler.extractIdempotencyId!(created)).toBe('ashby:offerCreate:offer-1') + + const retriedAfterDecision = { + action: 'offerCreate', + data: { offer: { id: 'offer-1', decidedAt: '2026-01-02T00:00:00Z' } }, + } + expect(ashbyHandler.extractIdempotencyId!(retriedAfterDecision)).toBe( + ashbyHandler.extractIdempotencyId!(created) + ) + }) + + it('falls back to a content fingerprint when updatedAt is missing, still deduping retries', () => { + const body = { + action: 'candidateStageChange', + data: { application: { id: 'app-1', status: 'Active' } }, + } + const key = ashbyHandler.extractIdempotencyId!(body) + expect(key).not.toBeNull() + expect(ashbyHandler.extractIdempotencyId!({ ...body, data: { ...body.data } })).toBe(key) + + const different = { + action: 'candidateStageChange', + data: { application: { id: 'app-1', status: 'Hired' } }, + } + expect(ashbyHandler.extractIdempotencyId!(different)).not.toBe(key) + }) + + it('distinguishes candidateHire deliveries that share an application snapshot but differ in offer', () => { + const application = { id: 'app-1', status: 'Hired' } + const first = { + action: 'candidateHire', + data: { application, offer: { id: 'offer-1' } }, + } + const second = { + action: 'candidateHire', + data: { application, offer: { id: 'offer-2' } }, + } + expect(ashbyHandler.extractIdempotencyId!(first)).not.toBe( + ashbyHandler.extractIdempotencyId!(second) + ) + }) + + it('distinguishes candidateHire deliveries sharing application id + updatedAt but differing in offer', () => { + const application = { id: 'app-1', status: 'Hired', updatedAt: '2026-01-01T00:00:00Z' } + const first = { + action: 'candidateHire', + data: { application, offer: { id: 'offer-1' } }, + } + const second = { + action: 'candidateHire', + data: { application, offer: { id: 'offer-2' } }, + } + expect(ashbyHandler.extractIdempotencyId!(first)).not.toBe( + ashbyHandler.extractIdempotencyId!(second) + ) + // a genuine retry of `first` (identical offer too) still dedupes + expect(ashbyHandler.extractIdempotencyId!({ ...first })).toBe( + ashbyHandler.extractIdempotencyId!(first) + ) + }) + + it('returns null when no recognizable resource is present', () => { + expect(ashbyHandler.extractIdempotencyId!({ action: 'ping', data: {} })).toBeNull() + expect(ashbyHandler.extractIdempotencyId!({})).toBeNull() + }) + }) +}) diff --git a/apps/sim/lib/webhooks/providers/ashby.ts b/apps/sim/lib/webhooks/providers/ashby.ts index 77fabe6e024..781fef57c66 100644 --- a/apps/sim/lib/webhooks/providers/ashby.ts +++ b/apps/sim/lib/webhooks/providers/ashby.ts @@ -2,6 +2,7 @@ import { createLogger } from '@sim/logger' import { safeCompare } from '@sim/security/compare' import { hmacSha256Hex } from '@sim/security/hmac' import { generateId } from '@sim/utils/id' +import { omit } from '@sim/utils/object' import { NextResponse } from 'next/server' import { getNotificationUrl, getProviderConfig } from '@/lib/webhooks/provider-subscription-utils' import type { @@ -14,6 +15,7 @@ import type { SubscriptionResult, WebhookProviderHandler, } from '@/lib/webhooks/providers/types' +import { buildFallbackDeliveryFingerprint } from '@/lib/webhooks/providers/utils' const logger = createLogger('WebhookProvider:Ashby') @@ -37,18 +39,54 @@ function validateAshbySignature(secretToken: string, signature: string, body: st export const ashbyHandler: WebhookProviderHandler = { extractIdempotencyId(body: unknown): string | null { const obj = body as Record - const webhookActionId = obj.webhookActionId - if (typeof webhookActionId === 'string' && webhookActionId) { - return `ashby:${webhookActionId}` + const action = typeof obj.action === 'string' ? obj.action : undefined + const data = obj.data as Record | undefined + if (!action || !data) return null + + const application = data.application as Record | undefined + const candidate = data.candidate as Record | undefined + const job = data.job as Record | undefined + const offer = data.offer as Record | undefined + + if (application?.id) { + const discriminator = application.updatedAt ?? buildFallbackDeliveryFingerprint(data) + const offerSuffix = offer?.id ? `:${offer.id}` : '' + return `ashby:${action}:${application.id}:${discriminator}${offerSuffix}` + } + if (offer?.id) { + return `ashby:${action}:${offer.id}` + } + if (candidate?.id) { + return `ashby:${action}:${candidate.id}` + } + if (job?.id) { + return `ashby:${action}:${job.id}` } return null }, async formatInput({ body }: FormatInputContext): Promise { const b = body as Record + const data = (b.data as Record) || {} + const application = data.application as Record | undefined + const currentInterviewStage = application?.currentInterviewStage as + | Record + | undefined + return { input: { - ...((b.data as Record) || {}), + ...data, + ...(application && currentInterviewStage + ? { + application: { + ...application, + currentInterviewStage: { + ...omit(currentInterviewStage, ['type']), + stageType: currentInterviewStage.type, + }, + }, + } + : {}), action: b.action, }, } @@ -185,6 +223,9 @@ export const ashbyHandler: WebhookProviderHandler = { } else if (ashbyResponse.status === 403) { userFriendlyMessage = 'Access denied. Please ensure your Ashby API Key has the apiKeysWrite permission.' + } else if (/duplicate webhook/i.test(errorMessage)) { + userFriendlyMessage = + 'A webhook for this URL and event already exists in Ashby. This usually happens when a previous save succeeded in Ashby but Sim failed to record it. Delete the duplicate webhook under Ashby Settings > API/Webhooks, then re-save this trigger.' } else if (errorMessage && errorMessage !== 'Unknown Ashby API error') { userFriendlyMessage = `Ashby error: ${errorMessage}` } diff --git a/apps/sim/lib/webhooks/providers/salesforce.ts b/apps/sim/lib/webhooks/providers/salesforce.ts index 3aef2eb2d12..8ead8812df0 100644 --- a/apps/sim/lib/webhooks/providers/salesforce.ts +++ b/apps/sim/lib/webhooks/providers/salesforce.ts @@ -1,5 +1,4 @@ import { createLogger } from '@sim/logger' -import { sha256Hex } from '@sim/security/hash' import { NextResponse } from 'next/server' import type { AuthContext, @@ -8,7 +7,7 @@ import type { FormatInputResult, WebhookProviderHandler, } from '@/lib/webhooks/providers/types' -import { verifyTokenAuth } from '@/lib/webhooks/providers/utils' +import { buildFallbackDeliveryFingerprint, verifyTokenAuth } from '@/lib/webhooks/providers/utils' export function extractSalesforceObjectTypeFromPayload( body: Record @@ -98,25 +97,6 @@ function pickTimestamp(body: Record, record: Record stableSerialize(item)).join(',')}]` - } - - if (value && typeof value === 'object') { - return `{${Object.entries(value as Record) - .sort(([a], [b]) => a.localeCompare(b)) - .map(([key, nested]) => `${JSON.stringify(key)}:${stableSerialize(nested)}`) - .join(',')}}` - } - - return JSON.stringify(value) -} - -function buildFallbackDeliveryFingerprint(body: Record): string { - return sha256Hex(stableSerialize(body)) -} - function pickRecordId(body: Record, record: Record): string { const id = (typeof body.recordId === 'string' && body.recordId) || diff --git a/apps/sim/lib/webhooks/providers/utils.ts b/apps/sim/lib/webhooks/providers/utils.ts index 43ff2b45fed..1afe2ce3196 100644 --- a/apps/sim/lib/webhooks/providers/utils.ts +++ b/apps/sim/lib/webhooks/providers/utils.ts @@ -1,11 +1,41 @@ import type { Logger } from '@sim/logger' import { createLogger } from '@sim/logger' import { safeCompare } from '@sim/security/compare' +import { sha256Hex } from '@sim/security/hash' import { NextResponse } from 'next/server' import type { AuthContext, EventFilterContext } from '@/lib/webhooks/providers/types' const logger = createLogger('WebhookProviderAuth') +/** + * Deterministic JSON serialization with object keys sorted, so structurally + * identical payloads produce identical output regardless of key order. + */ +function stableSerialize(value: unknown): string { + if (Array.isArray(value)) { + return `[${value.map((item) => stableSerialize(item)).join(',')}]` + } + + if (value && typeof value === 'object') { + return `{${Object.entries(value as Record) + .sort(([a], [b]) => a.localeCompare(b)) + .map(([key, nested]) => `${JSON.stringify(key)}:${stableSerialize(nested)}`) + .join(',')}}` + } + + return JSON.stringify(value) +} + +/** + * Fallback idempotency fingerprint for payloads with no stable delivery id + * or content timestamp to key on. A provider retry resends identical bytes, + * so this hash is stable across retries of the same delivery while still + * differentiating distinct events. + */ +export function buildFallbackDeliveryFingerprint(body: unknown): string { + return sha256Hex(stableSerialize(body)) +} + interface HmacVerifierOptions { configKey: string headerName: string diff --git a/apps/sim/triggers/ashby/utils.ts b/apps/sim/triggers/ashby/utils.ts index cc26a224cda..54367de590a 100644 --- a/apps/sim/triggers/ashby/utils.ts +++ b/apps/sim/triggers/ashby/utils.ts @@ -144,6 +144,10 @@ export function buildApplicationSubmitOutputs(): Record { currentInterviewStage: { id: { type: 'string', description: 'Current interview stage UUID' }, title: { type: 'string', description: 'Current interview stage title' }, + stageType: { + type: 'string', + description: 'Current interview stage type (e.g., Lead, Applied, Interview, Offer)', + }, }, job: { id: { type: 'string', description: 'Job UUID' }, @@ -181,6 +185,10 @@ export function buildCandidateStageChangeOutputs(): Record { currentInterviewStage: { id: { type: 'string', description: 'Current interview stage UUID' }, title: { type: 'string', description: 'Current interview stage title' }, + stageType: { + type: 'string', + description: 'Current interview stage type (e.g., Lead, Applied, Interview, Offer)', + }, }, job: { id: { type: 'string', description: 'Job UUID' }, @@ -262,7 +274,7 @@ export function buildJobCreateOutputs(): Record { status: { type: 'string', description: 'Job status (Open, Closed, Draft, Archived)' }, employmentType: { type: 'string', - description: 'Employment type (Full-time, Part-time, etc.)', + description: 'Employment type (FullTime, PartTime, Intern, Contract)', }, }, } as Record @@ -281,13 +293,12 @@ export function buildOfferCreateOutputs(): Record { applicationId: { type: 'string', description: 'Associated application UUID' }, acceptanceStatus: { type: 'string', - description: - 'Offer acceptance status (Accepted, Declined, Pending, Created, Cancelled, WaitingOnResponse)', + description: 'Offer acceptance status (Accepted, Declined, Pending, Created, Cancelled)', }, offerStatus: { type: 'string', description: - 'Offer process status (WaitingOnApprovalStart, WaitingOnOfferApproval, WaitingOnCandidateResponse, CandidateAccepted, CandidateRejected, OfferCancelled)', + 'Offer process status (WaitingOnApprovalStart, WaitingOnOfferApproval, WaitingOnApprovalDefinition, WaitingOnCandidateResponse, CandidateRejected, CandidateAccepted, OfferCancelled)', }, decidedAt: { type: 'string', From 57ff500c506916d5e5a7a5a92aa5936a8832aad2 Mon Sep 17 00:00:00 2001 From: Waleed Date: Wed, 8 Jul 2026 15:42:12 -0700 Subject: [PATCH 16/27] feat(comparison): add Custom Blocks as a comparison-page fact (#5519) - New "customBlocks" row in the platform section: whether a platform lets a builder publish a deployed workflow as a reusable, encapsulated block for org-wide reuse (Sim's new Custom Blocks feature) - Researched and sourced an accurate answer for all 20 competitors, distinguishing real equivalents from look-alikes (sub-workflow composition, custom code nodes, connector wrappers, templates) --- .../comparison/comparison-sections.ts | 1 + .../compare/data/competitors/claude-cowork.ts | 20 +++++++++++++ .../lib/compare/data/competitors/crewai.ts | 26 ++++++++++++++++ apps/sim/lib/compare/data/competitors/dust.ts | 20 +++++++++++++ .../lib/compare/data/competitors/flowise.ts | 20 +++++++++++++ .../lib/compare/data/competitors/gumloop.ts | 25 ++++++++++++++++ .../lib/compare/data/competitors/langchain.ts | 15 ++++++++++ .../lib/compare/data/competitors/langflow.ts | 20 +++++++++++++ apps/sim/lib/compare/data/competitors/make.ts | 25 ++++++++++++++++ .../data/competitors/microsoft-copilot.ts | 28 +++++++++++++++++ apps/sim/lib/compare/data/competitors/n8n.ts | 21 +++++++++++++ .../data/competitors/openai-agentkit.ts | 20 +++++++++++++ .../lib/compare/data/competitors/openclaw.ts | 26 ++++++++++++++++ .../lib/compare/data/competitors/pipedream.ts | 20 +++++++++++++ .../data/competitors/power-automate.ts | 21 +++++++++++++ .../lib/compare/data/competitors/retool.ts | 20 +++++++++++++ .../lib/compare/data/competitors/stackai.ts | 20 +++++++++++++ .../sim/lib/compare/data/competitors/tines.ts | 26 ++++++++++++++++ .../lib/compare/data/competitors/vellum.ts | 26 ++++++++++++++++ .../lib/compare/data/competitors/workato.ts | 30 +++++++++++++++++++ .../lib/compare/data/competitors/zapier.ts | 21 +++++++++++++ apps/sim/lib/compare/data/sim.ts | 25 ++++++++++++++++ apps/sim/lib/compare/data/types.ts | 2 ++ 23 files changed, 478 insertions(+) diff --git a/apps/sim/app/(landing)/comparison/comparison-sections.ts b/apps/sim/app/(landing)/comparison/comparison-sections.ts index 5c534486c9b..825abdfa23d 100644 --- a/apps/sim/app/(landing)/comparison/comparison-sections.ts +++ b/apps/sim/app/(landing)/comparison/comparison-sections.ts @@ -70,6 +70,7 @@ export const COMPARISON_SECTIONS: ComparisonSectionDef[] = [ { key: 'dataTables', label: 'Native data tables' }, { key: 'richTextEditor', label: 'Rich-text document editor' }, { key: 'subWorkflows', label: 'Sub-workflows (composition)' }, + { key: 'customBlocks', label: 'Custom blocks (org-wide reuse)' }, ], }), defineSection({ diff --git a/apps/sim/lib/compare/data/competitors/claude-cowork.ts b/apps/sim/lib/compare/data/competitors/claude-cowork.ts index 911297747a1..786c7c99e58 100644 --- a/apps/sim/lib/compare/data/competitors/claude-cowork.ts +++ b/apps/sim/lib/compare/data/competitors/claude-cowork.ts @@ -329,6 +329,26 @@ export const claudeCoworkProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + "No: Claude Cowork has no visual workflow builder, so there is no completed workflow to publish as a reusable block. The closest adjacent capability is org-wide Skills sharing: a member enables 'Share with organization' on a Skill (a SKILL.md instruction file, optionally with reference docs/scripts), and it becomes available to everyone in Customize > Skills. Recipients can enable and use a shared Skill but cannot edit its contents.", + detail: + "This does not meet the bar of a published-workflow-as-block. A Skill is read-only prompt/instruction text Claude consults at runtime, not an encapsulated, deployed multi-step workflow with auto-derived inputs, hand-picked named outputs, and a hidden internal implementation that always tracks the source's latest version. Cowork Projects, the closest thing to a saved unit of work, explicitly do not support sharing for members of Team and Enterprise plans; separately, Anthropic notes projects are 'desktop-only and stored locally,' with no cloud sync.", + shortValue: 'No: no publish-workflow-as-block feature exists', + confidence: 'verified', + sources: [ + { + url: 'https://support.claude.com/en/articles/13119606-provision-and-manage-skills-for-your-organization', + label: 'Provision and manage skills for your organization', + asOf: '2026-07-08', + }, + { + url: 'https://support.claude.com/en/articles/14116274-organize-your-tasks-with-projects-in-claude-cowork', + label: 'Organize your tasks with projects in Claude Cowork', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/crewai.ts b/apps/sim/lib/compare/data/competitors/crewai.ts index 3447689c34f..5d6327facb0 100644 --- a/apps/sim/lib/compare/data/competitors/crewai.ts +++ b/apps/sim/lib/compare/data/competitors/crewai.ts @@ -331,6 +331,32 @@ export const crewaiProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + 'No: no documented feature to publish a deployed crew/flow as an encapsulated, org-wide reusable block', + detail: + "CrewAI AMP's Tool Repository publishes individual custom Tools (single Python functions/classes wrapping an API) to a shared, permissioned catalog, not entire crews or flows. No CrewAI source describes taking a deployed crew or flow and publishing it as a named, iconed block that appears in a shared builder palette for other org members to drop into their own separate crews, with internals hidden and the block auto-tracking the source's latest deployed version. The closest pattern, wrapping a Crew's kickoff as a callable Tool for another Crew, is discussed only as a same-project code workaround in CrewAI's community forum, not a first-party, org-wide publish-as-block feature.", + shortValue: + 'No, Tool Repository publishes single Tools, not published crews/flows as blocks', + confidence: 'estimated', + sources: [ + { + url: 'https://docs.crewai.com/en/enterprise/guides/tool-repository', + label: 'Tool Repository - CrewAI Docs', + asOf: '2026-07-08', + }, + { + url: 'https://docs.crewai.com/en/enterprise/features/crew-studio', + label: 'Crew Studio - CrewAI Docs', + asOf: '2026-07-08', + }, + { + url: 'https://community.crewai.com/t/crew-method-as-tool/400', + label: 'Crew method as tool - CrewAI Community', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/dust.ts b/apps/sim/lib/compare/data/competitors/dust.ts index 7532abc705a..3f4aaba8ae9 100644 --- a/apps/sim/lib/compare/data/competitors/dust.ts +++ b/apps/sim/lib/compare/data/competitors/dust.ts @@ -337,6 +337,26 @@ export const dustProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + 'No: Dust has no way to publish an agent as a named, encapsulated block that appears in a shared builder toolbox for other users, with its internals hidden and the source kept in sync', + detail: + 'The closest Dust feature is Skills, a reusable package of instructions, knowledge, and tools attached to multiple agents with edits auto-propagating, but Dust\'s own docs describe Skills as explicitly transparent rather than encapsulated: a read-only summary of every referenced instruction, tool, and knowledge source is shown to whoever authors it in the Skill Editor, not hidden behind an interface exposing only defined inputs/outputs. The separate "Run agent" tool (see subWorkflows) lets one agent call another saved agent, but that is picking an existing agent to call from a list, not publishing a workflow as a distinct, iconed block in a builder toolbox with only its inputs/outputs exposed.', + shortValue: 'No: Skills are transparent, not encapsulated; no publish-as-block toolbox', + confidence: 'estimated', + sources: [ + { + url: 'https://docs.dust.tt/docs/skills', + label: 'Skills | Dust Docs', + asOf: '2026-07-08', + }, + { + url: 'https://docs.dust.tt/docs/run-agent', + label: 'Run agent | Dust Docs', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/flowise.ts b/apps/sim/lib/compare/data/competitors/flowise.ts index f39c3a67115..e360f4998af 100644 --- a/apps/sim/lib/compare/data/competitors/flowise.ts +++ b/apps/sim/lib/compare/data/competitors/flowise.ts @@ -243,6 +243,26 @@ export const flowiseProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + "No: Flowise has no feature for publishing a deployed chatflow/agentflow as a named, encapsulated block that appears in the node palette for other users across an organization. Its closest feature, the Execute Flow node, only lets a flow call another saved flow by name or ID from within the same Flowise instance, passing input and receiving output; the docs describe this as invoking an existing flow, not publishing a version-synced, credential-hidden component into a shared toolbar. Flowise's Custom Tool node is likewise scoped to inline JavaScript written within a single flow, not a published workflow-as-block. There is no documented mechanism that hides a source flow's internal steps/credentials from consumers, restricts a published block via access control/permission groups, or automatically points every consumer at the source flow's latest deployed version.", + detail: + "This is distinct from Flowise's Execute Flow sub-workflow calling (see subWorkflows above), which is same-instance flow-to-flow composition, not org-wide reuse of a hidden, centrally-updated block by other users.", + shortValue: 'No, only same-instance Execute Flow calls; no published org-wide block', + confidence: 'estimated', + sources: [ + { + url: 'https://docs.flowiseai.com/using-flowise/agentflowv2', + label: 'Flowise Docs: Agentflow V2 (Execute Flow node)', + asOf: '2026-07-08', + }, + { + url: 'https://docs.flowiseai.com/integrations/langchain/tools/custom-tool', + label: 'Flowise Docs: Custom Tool', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/gumloop.ts b/apps/sim/lib/compare/data/competitors/gumloop.ts index 7940fe4e14e..71fe435f9be 100644 --- a/apps/sim/lib/compare/data/competitors/gumloop.ts +++ b/apps/sim/lib/compare/data/competitors/gumloop.ts @@ -334,6 +334,31 @@ export const gumloopProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + 'No: Gumloop has no feature that publishes an existing deployed workflow as an encapsulated, named block for the whole org to reuse. Subflows let a saved workflow be dropped into other flows as a node, but public docs describe this only as personal/same-project reuse, with no mention of hiding the subflow\'s internal steps or credentials, or of org-wide toolbar placement for other users. The one org-wide, block-like publishing surface Gumloop does have, the Custom Node Builder plus its "Node and Flow Library" Hub, is scoped to single AI-generated code nodes (wrapping an API or script), not a way to turn a multi-step visual workflow into a reusable block.', + detail: + "Gumloop's docs on Subflows describe only how to nest a saved workflow as a node with Input/Output nodes for parameters, with no documented mechanism for sharing that subflow node to other users, hiding its internal graph from them, or auto-propagating updates when the source workflow changes. Separately, docs.gumloop.com/core-concepts/node_and_flow_library confirms users can share a Custom Node organization-wide ('Share with Organization: Makes the node discoverable by all organization members'), appearing immediately in teammates' node libraries, but the page's substantive sections (Custom Nodes Tab, Sharing Custom Nodes, Publishing Custom Nodes) only ever cover single code-based nodes generated by the Custom Node Builder from a natural-language description, not multi-step canvas workflows. No Gumloop page describes converting an existing built flow into a shareable, encapsulated block the way a Custom Node is shared.", + shortValue: "No: Subflows aren't org-shared; org-shared Custom Nodes are code, not flows", + confidence: 'estimated', + sources: [ + { + url: 'https://docs.gumloop.com/core-concepts/subflows', + label: 'Subflows - Gumloop docs', + asOf: '2026-07-08', + }, + { + url: 'https://docs.gumloop.com/core-concepts/node_and_flow_library', + label: 'Node and Workflow Library - Gumloop docs', + asOf: '2026-07-08', + }, + { + url: 'https://www.gumloop.com/blog/gumloop-custom-nodes', + label: 'Gumloop Blog: Gumloop Custom Nodes', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/langchain.ts b/apps/sim/lib/compare/data/competitors/langchain.ts index fc2c7d98709..2bd50437677 100644 --- a/apps/sim/lib/compare/data/competitors/langchain.ts +++ b/apps/sim/lib/compare/data/competitors/langchain.ts @@ -333,6 +333,21 @@ export const langchainProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + "No: LangChain/LangGraph has no drag-and-drop block toolbar at all, so there is no way to publish a deployed graph as a named, iconed block that other org members drop into their own separate graphs with auto-derived inputs and curated, renamed outputs. The closest adjacent capability is code-level: the RemoteGraph SDK class lets a developer add another team's deployed graph as a node in their own graph by writing code that points at its deployment URL and graph/assistant name.", + detail: + "RemoteGraph exposes the same programmatic interface as a locally compiled graph ('as if it were a local graph'), but the consuming developer must hand-write any state-schema-mapping wrapper code themselves, and there is no UI for picking/renaming which outputs to expose or for auto-deriving input fields from the source graph the way a visual builder does. LangChain's own docs describe RemoteGraph purely as an SDK for calling a deployment programmatically, not as a block placed in a shared, org-wide palette alongside built-in nodes.", + shortValue: 'No block toolbar exists; closest is code-level RemoteGraph SDK calls', + confidence: 'estimated', + sources: [ + { + url: 'https://docs.langchain.com/langsmith/use-remote-graph', + label: 'How to interact with a deployment using RemoteGraph - Docs by LangChain', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/langflow.ts b/apps/sim/lib/compare/data/competitors/langflow.ts index e5225280c35..f9d41991de7 100644 --- a/apps/sim/lib/compare/data/competitors/langflow.ts +++ b/apps/sim/lib/compare/data/competitors/langflow.ts @@ -265,6 +265,26 @@ export const langflowProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + "No: Langflow has no documented mechanism to publish a deployed flow as an encapsulated, named block that appears org-wide in the component sidebar for other users to drop into their own separate flows. The closest features are narrower: grouping components and saving them creates a static snapshot copy in the creating user's own Core components menu, with no documented auto-sync back to a source flow's latest version; and the legacy Langflow Store lets a user publish a component or flow to a public, account-based marketplace rather than a governed, org-scoped, live-linked block. Its Run Flow component (see subWorkflows) is same-project subflow composition, not org-wide reuse by other users.", + detail: + "Neither mechanism matches Sim's model of a workspace admin publishing a deployed workflow as a block that all consumers see in the shared toolbar, auto-tracks the source's latest deployed version, and hides the source's internal steps and credentials.", + shortValue: 'No, only static component snapshots or a public component store', + confidence: 'estimated', + sources: [ + { + url: 'https://docs.langflow.org/concepts-components', + label: 'Langflow Docs: Components overview (grouping and saving components)', + asOf: '2026-07-08', + }, + { + url: 'https://github.com/langflow-ai/langflow/discussions/4406', + label: 'GitHub Discussion 4406: How to save a custom component to the sidebar?', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/make.ts b/apps/sim/lib/compare/data/competitors/make.ts index 021e2e9c909..210142f1369 100644 --- a/apps/sim/lib/compare/data/competitors/make.ts +++ b/apps/sim/lib/compare/data/competitors/make.ts @@ -371,6 +371,31 @@ export const makeProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + "No: Make has no feature to publish an existing scenario as an encapsulated, named block that appears in a shared module toolbar for other users across the organization to drop into their own separate scenarios. The closest capabilities are each narrower: 'Call a Scenario' (Subscenarios) can only invoke a scenario already created within the same team, is not exposed as a general block in a module picker, and Make's own docs don't describe it as hiding internal steps or always tracking a source's latest published version. 'Scenarios as AI Agent tools' lets a scenario's defined inputs/outputs be used as a callable tool, but only inside that specific AI Agent's own tool configuration, not as a general-purpose block any builder can add to any regular scenario. The Custom Apps SDK builds brand-new integration connectors that wrap third-party REST APIs; it has no mechanism to package an existing scenario itself as a block.", + detail: + "Per Make's Subscenarios help doc, you can 'only call a scenario created in your team,' scoping reuse to team boundaries rather than an org-wide block toolbar, with no documented internals-hiding or auto-latest-version guarantee. Per the Scenarios-for-AI-agents help doc, scenario-as-tool configuration happens inside AI Agents' own tab/module, not as a block available to all scenario builders. Per the Custom Apps Developer Hub, Custom Apps exist to integrate a third-party application that has no existing Make app, mapping REST endpoints and auth, not to publish an existing scenario as a reusable block.", + shortValue: 'No: no publish-scenario-as-org-wide-block feature', + confidence: 'verified', + sources: [ + { + url: 'https://help.make.com/subscenarios', + label: 'Subscenarios - Make Help Center', + asOf: '2026-07-08', + }, + { + url: 'https://help.make.com/scenarios-for-ai-agents', + label: 'Scenarios for AI agents - Make Help Center', + asOf: '2026-07-08', + }, + { + url: 'https://developers.make.com/custom-apps-documentation', + label: 'Overview | Custom Apps Documentation | Make Developer Hub', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/microsoft-copilot.ts b/apps/sim/lib/compare/data/competitors/microsoft-copilot.ts index ddda7ce6d0d..e3601495b91 100644 --- a/apps/sim/lib/compare/data/competitors/microsoft-copilot.ts +++ b/apps/sim/lib/compare/data/competitors/microsoft-copilot.ts @@ -375,6 +375,34 @@ export const microsoftCopilotProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + "Partial: a published agent flow (with a 'When an agent calls the flow' trigger and a 'Respond to the agent' action) can be added by another maker as a tool, and a published Copilot Studio agent can be added by another maker as a connected-agent tool that always resolves to the source's latest published version — but discovery for both is a per-item share-and-pick model within one environment, not an admin-governed entry that automatically appears in a block toolbar for the whole org, and there is no publisher step to hand-pick and rename a curated subset of outputs the way Sim's Custom Blocks do.", + detail: + "Adding a flow as an agent-level tool lists qualifying, published flows in the 'Add tool > Flow' picker; Microsoft's docs don't specify how the tool's inputs are derived from the flow's trigger or confirm it always tracks the flow's latest published version. Connected agents are the better-documented half: a maker can turn on 'Let other agents connect to and use this one' on a published agent so any maker who owns it or has it shared with them can add it as a connected-agent tool in their own, separate agent, always using the latest published version after republish. Neither mechanism auto-populates a single, organization-wide block palette; each is discovered per-item through sharing/run permissions, and there's no dedicated step for the publisher to select and rename specific outputs to expose, unlike Sim's Custom Blocks.", + shortValue: + 'Partial: published flows/agents become tools, but via per-item sharing, not an org-wide toolbar', + confidence: 'estimated', + sources: [ + { + url: 'https://learn.microsoft.com/en-us/microsoft-copilot-studio/flow-agent', + label: + 'Add an agent flow as a tool to an agent - Microsoft Copilot Studio | Microsoft Learn', + asOf: '2026-07-08', + }, + { + url: 'https://learn.microsoft.com/en-us/microsoft-copilot-studio/add-agent-copilot-studio-agent', + label: + 'Connect to an existing Copilot Studio agent - Microsoft Copilot Studio | Microsoft Learn', + asOf: '2026-07-08', + }, + { + url: 'https://learn.microsoft.com/en-us/microsoft-copilot-studio/authoring-add-other-agents', + label: 'Add other agents overview - Microsoft Copilot Studio | Microsoft Learn', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/n8n.ts b/apps/sim/lib/compare/data/competitors/n8n.ts index 4c8a4468cdb..18322c09408 100644 --- a/apps/sim/lib/compare/data/competitors/n8n.ts +++ b/apps/sim/lib/compare/data/competitors/n8n.ts @@ -348,6 +348,27 @@ export const n8nProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + 'No: n8n has no feature to publish a deployed workflow as a named, encapsulated block that appears in the node panel for other users to drag into their own separate workflows. The closest built-in mechanism is the Execute Sub-workflow node, which calls another saved workflow (by database lookup, local file, parameter, or URL) from inside a workflow, but it is a generic caller node, not a distinct, iconed, named block per source workflow.', + detail: + "An n8n community feature request, 'Mark workflow as a custom node to be re-used in other workflows' (opened August 2024), asks for exactly this: turning a workflow into a reusable node listed under its own category in the node panel, with defined input parameters, so other builders can add it without touching the source workflow's internals. n8n has not shipped it; the documented mechanism remains the generic Execute Sub-workflow node. n8n's actual node-level encapsulation mechanism, custom/community nodes, requires writing and packaging real TypeScript code as an npm module, not publishing a no-code workflow someone built visually.", + shortValue: 'No, only generic Execute Sub-workflow calls, not a published block', + confidence: 'verified', + sources: [ + { + url: 'https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.executeworkflow/', + label: 'Execute Sub-workflow | Nodes | n8n Docs', + asOf: '2026-07-08', + }, + { + url: 'https://community.n8n.io/t/mark-workflow-as-a-custom-node-to-be-re-used-in-other-workflows/51808', + label: + 'Mark workflow as a custom node to be re-used in other workflows (n8n Community feature request)', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/openai-agentkit.ts b/apps/sim/lib/compare/data/competitors/openai-agentkit.ts index f169b874180..c902df21996 100644 --- a/apps/sim/lib/compare/data/competitors/openai-agentkit.ts +++ b/apps/sim/lib/compare/data/competitors/openai-agentkit.ts @@ -350,6 +350,26 @@ export const openaiAgentkitProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + "No: Agent Builder has no feature to publish a workflow as a named, encapsulated block that other org members can drop into their own separate workflows. Its full node palette (Start, Agent, Note, File search, Guardrails, MCP, If/else, While, Human approval, Transform, Set state) has no 'workflow as a block' node, and publishing only creates a versioned snapshot consumable via the API or embedded through ChatKit, not a reusable canvas block for teammates.", + detail: + "Publishing a workflow in Agent Builder produces a versioned object callable via API or embeddable through ChatKit, but that is deploying one workflow as an endpoint, not turning it into a block that appears in other users' canvases with inputs auto-derived from its Start node and internals hidden. Team-level reuse in the documented deployment paths (templates, ChatKit, SDK code export) means copying a template, embedding a chat surface, or exporting code, none of which give other builders a live, encapsulated block that stays in sync with the source workflow's latest published version. Agent Builder itself is also being wound down, with full shutdown November 30, 2026.", + shortValue: 'No dedicated publish-as-reusable-block feature found', + confidence: 'estimated', + sources: [ + { + url: 'https://developers.openai.com/api/docs/guides/node-reference', + label: 'Node reference | OpenAI API', + asOf: '2026-07-08', + }, + { + url: 'https://developers.openai.com/api/docs/guides/agent-builder', + label: 'Agent Builder | OpenAI API', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/openclaw.ts b/apps/sim/lib/compare/data/competitors/openclaw.ts index 7a8c563d7b2..86a25169eef 100644 --- a/apps/sim/lib/compare/data/competitors/openclaw.ts +++ b/apps/sim/lib/compare/data/competitors/openclaw.ts @@ -362,6 +362,32 @@ export const openClawProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + "No: OpenClaw has no feature to publish a Lobster workflow or Task Flow as a named, iconed, encapsulated block that appears in a shared toolbar for other org members to drop into their own separate flows. The documented path for org-wide reuse is packaging a `.lobster` file plus setup notes as a Skill or plugin and publishing it through ClawHub, an installable instruction/code package the agent references, not a live block whose inputs/outputs are auto-derived from a source workflow and that tracks that workflow's latest deployed version automatically.", + detail: + "Lobster's own docs list run/command, pipeline, and approval as its only step types, with no invoke-another-workflow-as-a-block primitive. Task Flow is scoped to tracking state within a single multi-step run, not publishing that run as a reusable component. ClawHub Skills are markdown instruction files compiled into the system prompt for agent reasoning, not encapsulated, auto-input-derived workflow blocks with hand-picked outputs and hidden internals; a published Skill's `.lobster` file and setup notes are visible to whoever installs it, the opposite of Sim's full encapsulation.", + shortValue: + 'No: reuse is via ClawHub Skills (visible instructions), not a live workflow block', + confidence: 'estimated', + sources: [ + { + url: 'https://docs.openclaw.ai/tools/lobster', + label: 'OpenClaw Docs: Lobster', + asOf: '2026-07-08', + }, + { + url: 'https://docs.openclaw.ai/automation/taskflow', + label: 'OpenClaw Docs: Task flow', + asOf: '2026-07-08', + }, + { + url: 'https://docs.openclaw.ai/tools/skills', + label: 'OpenClaw Docs: Skills', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/pipedream.ts b/apps/sim/lib/compare/data/competitors/pipedream.ts index 4b95969919b..9d938eaa30f 100644 --- a/apps/sim/lib/compare/data/competitors/pipedream.ts +++ b/apps/sim/lib/compare/data/competitors/pipedream.ts @@ -308,6 +308,26 @@ export const pipedreamProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + "No: Pipedream's closest mechanism is publishing a single Node.js code step as a reusable 'custom action' that shows up under 'My Actions' for other steps to select, not a full multi-step deployed workflow turned into an org-wide toolbar block. The published code stays directly visible and editable to whoever adds it (no encapsulation of internals/credentials), and updates are opt-in: Pipedream's own docs state a new version 'doesn't automatically update all instances of the same action across your workflows... this gives you the control to gradually update.'", + detail: + "No Pipedream documentation describes taking an entire deployed workflow, auto-deriving its inputs, letting the publisher hand-pick named outputs, and exposing it as a named/iconed block in the builder toolbar for every other team member to drop into their own workflows while always running the source's latest deployed version. 'Sharing Code Across Workflows' scopes reuse to one code step at a time (multi-step reuse requires the CLI to build a full component, which then cannot be edited inline), and the Components docs don't address workflow-to-component conversion at all. Pipedream's registry model is instead built around wrapping third-party API calls into app integrations, not packaging a user's own business-logic workflow as a hidden-internals block.", + shortValue: 'No, only single code-step reuse with opt-in updates', + confidence: 'verified', + sources: [ + { + url: 'https://pipedream.com/docs/workflows/building-workflows/code/nodejs/sharing-code', + label: 'Pipedream Docs: Sharing Code Across Workflows', + asOf: '2026-07-08', + }, + { + url: 'https://pipedream.com/docs/components', + label: 'Pipedream Docs: Components Overview', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/power-automate.ts b/apps/sim/lib/compare/data/competitors/power-automate.ts index 38a53fa2490..0d280672d7b 100644 --- a/apps/sim/lib/compare/data/competitors/power-automate.ts +++ b/apps/sim/lib/compare/data/competitors/power-automate.ts @@ -368,6 +368,27 @@ export const powerAutomateProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + 'No: Power Automate has no feature to publish a deployed flow as a named, iconed, encapsulated block that shows up in the action picker for the whole tenant/organization. The closest mechanisms are child flows ("Run a Child Flow"), which are scoped to makers with access to the same Dataverse solution, and manually wrapping a flow behind a Custom Connector, which requires hand-authoring an OpenAPI/Swagger definition instead of auto-deriving inputs from the flow.', + detail: + 'Child-flow docs state a maker only sees "the flows only to which you have access and are located in a solution," so reuse is scoped to that solution\'s makers, not the whole org, and a caller can still open the child flow and see its steps and connections, no encapsulation. A Custom Connector can wrap any REST API (including a flow\'s own HTTP-triggered URL) so it appears as a reusable action, but the maker must hand-author or import an OpenAPI/Swagger definition describing its request/response shape, and the connector can be shared within the organization once created; it is the same generic API-wrapping mechanic Power Automate uses for any third-party API, not a one-click "publish this flow as a block" feature with live input derivation, hand-picked outputs, or automatic latest-deployed-version tracking.', + shortValue: + 'No: closest is solution-scoped child flows or manually wrapped custom connectors', + confidence: 'verified', + sources: [ + { + url: 'https://learn.microsoft.com/en-us/power-automate/create-child-flows', + label: 'Create child flows - Power Automate | Microsoft Learn', + asOf: '2026-07-08', + }, + { + url: 'https://learn.microsoft.com/en-us/connectors/custom-connectors/define-openapi-definition', + label: 'Create a custom connector from an OpenAPI definition - Microsoft Learn', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/retool.ts b/apps/sim/lib/compare/data/competitors/retool.ts index ae3ee288ba6..c64c5a8e7c5 100644 --- a/apps/sim/lib/compare/data/competitors/retool.ts +++ b/apps/sim/lib/compare/data/competitors/retool.ts @@ -356,6 +356,26 @@ export const retoolProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + 'No: Retool has no way to publish a deployed workflow as a named, encapsulated block that shows up in a shared block library for other builders to drop into their own workflows. The closest primitive is the generic Workflow block (see subWorkflows), which requires manually selecting which saved workflow to call each time it is added, rather than appearing as its own distinct, iconed, org-wide toolbar entry. A public forum feature request asking for exactly this ("Workflow Block Library," save a block once and reuse it across workflows) is still open, with a Retool team member confirming only an internal, unshipped feature request exists for it.', + detail: + "The Workflow block abstracts away the called workflow's internal steps, but it is one generic block type, not a per-source-workflow custom block, and Retool's docs do not document automatic org-wide distribution or live-sync-to-latest-deploy behavior the way a dedicated published-block feature would.", + shortValue: 'No, only a generic workflow-calling block; no published block library', + confidence: 'verified', + sources: [ + { + url: 'https://community.retool.com/t/workflow-block-library/45360', + label: 'Workflow Block Library (Feature Request) - Retool Forum', + asOf: '2026-07-08', + }, + { + url: 'https://docs.retool.com/workflows/guides/blocks/run-workflow', + label: 'Run another workflow with the Workflow block | Retool Docs', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/stackai.ts b/apps/sim/lib/compare/data/competitors/stackai.ts index 19f22431e97..00a2b46fa57 100644 --- a/apps/sim/lib/compare/data/competitors/stackai.ts +++ b/apps/sim/lib/compare/data/competitors/stackai.ts @@ -293,6 +293,26 @@ export const stackaiProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + 'No: StackAI has no feature for publishing a project as a named, iconed block that appears in a shared toolbar/library for every builder in the organization. The closest capability is the StackAI Project Node, which lets a builder reference another saved project by picking it from a dropdown inside their own workflow, and Subflow Tools, which do the same from an AI Agent node.', + detail: + "The Project Node docs describe manually matching the calling workflow's inputs to the target project's inputs (not an auto-derived input schema) and returning results as a single opaque JSON blob covering all of that project's outputs, reshaped afterward with the Output Node's Template feature, rather than the caller picking and naming individual outputs to expose. Neither the Project Node nor Subflow Tools docs describe the referenced project appearing as a distinct block in a shared, org-wide toolbar alongside built-in nodes, hiding its internal steps/credentials from the caller, or automatically tracking a separately published/deployed version of the source project.", + shortValue: 'No, only same-workspace Project Node / Subflow Tool references', + confidence: 'verified', + sources: [ + { + url: 'https://docs.stackai.com/workflow-builder/utils-logic-and-others/utils/stackai-project-node', + label: 'StackAI Project Node docs', + asOf: '2026-07-08', + }, + { + url: 'https://docs.stackai.com/workflow-builder/core-nodes/ai-agent-node/subflow-tools', + label: 'Subflow Tools docs', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/tines.ts b/apps/sim/lib/compare/data/competitors/tines.ts index 0b8e2ed769b..4b095cb920f 100644 --- a/apps/sim/lib/compare/data/competitors/tines.ts +++ b/apps/sim/lib/compare/data/competitors/tines.ts @@ -331,6 +331,32 @@ export const tinesProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + "No: Tines has no feature that lets a builder publish a Story as its own named, iconed entry in a shared block toolbar. The closest features are (1) Private/Public Templates, which are scoped to configuring a single action (e.g. a pre-built HTTP Request) with parameterized 'Action inputs' that hide that one action's underlying config, and can be shared team-wide or org-wide; and (2) Send to Story, one generic action type used to call any sub-story via a picker — the caller selects the target sub-story and enters its defined parameters, without needing view/edit access to the sub-story's own actions. Neither meets the bar: templates wrap one action, not a multi-step Story, and Send to Story is a single generic action a builder configures per call site, not a distinct block appearing in the toolbar for each published Story.", + detail: + "Public docs describe template edits as letting a builder 'optionally replace storyboard actions that use the template in one step,' confirming propagation is a manual, opt-in action rather than always running the source's latest deployed version automatically. Send to Story does genuinely hide a sub-story's internals from a caller without permission on it ('will not be able to view or modify the contents of the story unless you have the relevant permissions'), but it is one generic action configured with a target-story picker each time, not a separate published block per Story.", + shortValue: + 'No: templates are single-action; Send to Story is a generic picker, not a block', + confidence: 'verified', + sources: [ + { + url: 'https://www.tines.com/docs/actions/templates/private-templates/', + label: 'Private Templates | Docs | Tines', + asOf: '2026-07-08', + }, + { + url: 'https://www.tines.com/docs/actions/templates/templates/', + label: 'Public Templates | Docs | Tines', + asOf: '2026-07-08', + }, + { + url: 'https://www.tines.com/docs/stories/send-to-story/', + label: 'Send to Story | Docs | Tines', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/vellum.ts b/apps/sim/lib/compare/data/competitors/vellum.ts index 62939d576e1..8a703b698b3 100644 --- a/apps/sim/lib/compare/data/competitors/vellum.ts +++ b/apps/sim/lib/compare/data/competitors/vellum.ts @@ -289,6 +289,32 @@ export const vellumProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + "Partial: Vellum has no documented feature for publishing a workflow as a named, iconed block that appears in a shared toolbar for the whole organization. Its closest mechanism is the Deployed Subworkflow node, a dedicated 'Deployed Subworkflow' option in the Insert Node Panel that lets a builder insert an already-deployed workflow as a single node in their own separate workflow, wiring only its defined inputs/outputs rather than exposing the source workflow's internal nodes. Pointing it at the LATEST release tag means it automatically runs the source workflow's newest deployment with no separate republish step.", + detail: + "Unlike Sim's Custom Blocks, there is no documented step where a publisher assigns a custom name/icon that then surfaces the workflow as a first-class item in the general node toolbar alongside built-in nodes; consumers instead search for and link a specific deployed workflow through the Subworkflow node type. There is also no documented ability to hand-pick and rename a subset of outputs to expose, and no Enterprise-only gating or block-level allow/deny governance specific to this reuse mechanism beyond Vellum's general workspace-wide RBAC roles.", + shortValue: + 'Partial: Deployed Subworkflow node, not a published named/iconed toolbar block', + confidence: 'estimated', + sources: [ + { + url: 'https://docs.vellum.ai/developers/workflows-sdk/api-reference/nodes/subworkflow-deployment-node', + label: 'Subworkflow Deployment Node - Vellum Documentation', + asOf: '2026-07-08', + }, + { + url: 'https://docs.vellum.ai/changelog/2025/2025-08', + label: 'Vellum Changelog: August 2025 (Insert Node Panel Subworkflow split)', + asOf: '2026-07-08', + }, + { + url: 'https://docs.vellum.ai/product/deployments/release-tags', + label: 'Release Tags - Vellum Documentation', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/workato.ts b/apps/sim/lib/compare/data/competitors/workato.ts index 1e35be93768..71b71548154 100644 --- a/apps/sim/lib/compare/data/competitors/workato.ts +++ b/apps/sim/lib/compare/data/competitors/workato.ts @@ -372,6 +372,36 @@ export const workatoProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + "No: Workato has no feature to publish a deployed recipe as a distinct, named, iconed block that appears in the recipe builder's general step/action picker for every other builder across the org to drop into their own separate recipes. The closest mechanism, Recipe Functions, lets any recipe in the workspace call another recipe (one built with a 'New function call' trigger) by adding a generic 'Recipe Functions by Workato' connector step and then picking the target function from a dropdown list of saved functions, not a bespoke block with its own name/icon sitting alongside built-in actions. The caller does only see the function's declared Input/Response schema, not its internal steps or credentials, and Workato's own marketing copy states 'update the function once, and the changes will take effect anywhere your function is invoked' (i.e. it always calls the live function recipe, not a frozen copy). No documentation describes per-function governance (allow/deny-listing one specific function for a permission group) distinct from ordinary project/connection-level access control.", + detail: + "Workato's separate Community Library sharing mechanism is explicitly a clone/template flow, not a live block: shared assets are described as 'intended to serve as a reusable set of templates, best practices and guidelines' for another user to install and then 'modify, customize and enhance' as their own independent copy, with no indication the installed copy stays linked to updates on the original. This rules out Community Library as a second candidate for the same capability.", + shortValue: "No, only a generic 'Call Recipe Function' connector, not a published block", + confidence: 'verified', + sources: [ + { + url: 'https://docs.workato.com/connectors/recipe-functions.html', + label: 'Recipe Functions by Workato | Workato Docs', + asOf: '2026-07-08', + }, + { + url: 'https://docs.workato.com/connectors/recipe-functions/actions/call-recipe-function-synchronously.html', + label: 'Recipe Functions - Call Recipe Function Synchronously | Workato Docs', + asOf: '2026-07-08', + }, + { + url: 'https://www.workato.com/product-hub/recipe-functions-build-reusable-automations/', + label: 'How to build reusable automations with Recipe Functions | Workato Product Hub', + asOf: '2026-07-08', + }, + { + url: 'https://docs.workato.com/community-library.html', + label: 'Community library | Workato Docs', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/competitors/zapier.ts b/apps/sim/lib/compare/data/competitors/zapier.ts index 69c6884799f..467e179f099 100644 --- a/apps/sim/lib/compare/data/competitors/zapier.ts +++ b/apps/sim/lib/compare/data/competitors/zapier.ts @@ -338,6 +338,27 @@ export const zapierProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + 'No: Zapier has no feature for publishing a deployed Zap as a named, iconed, encapsulated block that appears in the step picker for the whole team to drop into their own separate Zaps. Sub-Zaps are the closest analog, but they are reusable saved steps called by "Call a Sub-Zap," not a org-wide toolbar entry, and Zapier\'s own docs do not describe internals being hidden from other team members who can access the same account. A private integration published on the Developer Platform is a different mechanism: it wraps a third-party API as a connector app for the team, not a workflow.', + detail: + "Sub-Zaps and private integrations are the two Zapier features that come closest to reuse, but neither matches the mechanics: Sub-Zaps are invoked from a dedicated action step within the same account/team rather than surfaced as a first-class block alongside built-in app steps, and private integrations expose custom API actions, not a published Zap's logic with auto-derived inputs and hand-picked outputs that stay live-synced to a source workflow's latest deployed version.", + shortValue: + 'No equivalent: Sub-Zaps and private integrations are the closest, but neither matches', + confidence: 'estimated', + sources: [ + { + url: 'https://help.zapier.com/hc/en-us/articles/32283713627533-Understanding-Sub-Zaps', + label: 'Understanding Sub-Zaps', + asOf: '2026-07-08', + }, + { + url: 'https://docs.zapier.com/platform/quickstart/private-vs-public-integrations', + label: 'Private vs public integrations', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/sim.ts b/apps/sim/lib/compare/data/sim.ts index 30e5e49ccbf..88438f5ac66 100644 --- a/apps/sim/lib/compare/data/sim.ts +++ b/apps/sim/lib/compare/data/sim.ts @@ -333,6 +333,31 @@ export const simProfile: CompetitorProfile = { }, ], }, + customBlocks: { + value: + "Yes: a user with admin access on a workflow's workspace can publish its deployed version as a named, iconed custom block that appears in the block toolbar for the whole organization. Inputs are read live from the source workflow's Start block; the publisher picks which outputs to expose. The block always runs the source workflow's latest deployed version, and its internal steps and intermediate values are never exposed to consumers", + detail: + 'Enterprise-gated on Sim Cloud; self-hosted deployments can opt in via a feature flag. Distinct from the Workflow (sub-workflow) block, which composes a workflow the same author controls, and from custom code/tool blocks, which run inline code rather than a full deployed workflow.', + shortValue: 'Publish a deployed workflow as an org-wide reusable block', + confidence: 'verified', + sources: [ + { + url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/app/api/custom-blocks/route.ts', + label: 'Sim codebase: custom-blocks publish API (admin gate)', + asOf: '2026-07-08', + }, + { + url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/blocks/custom/build-config.ts', + label: 'Sim codebase: custom-block config builder', + asOf: '2026-07-08', + }, + { + url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/app/workspace/%5BworkspaceId%5D/settings/navigation.ts', + label: 'Sim codebase: Custom blocks nav entry (Enterprise/self-hosted gating)', + asOf: '2026-07-08', + }, + ], + }, }, aiCapabilities: { multiLlmSupport: { diff --git a/apps/sim/lib/compare/data/types.ts b/apps/sim/lib/compare/data/types.ts index 052823aaef8..91dc96c0065 100644 --- a/apps/sim/lib/compare/data/types.ts +++ b/apps/sim/lib/compare/data/types.ts @@ -66,6 +66,8 @@ export interface ComparisonFacts { richTextEditor: Fact /** Calling one saved workflow as a reusable step inside another workflow (composition/nesting), versus only being able to duplicate or manually re-wire the same logic per workflow. */ subWorkflows: Fact + /** Publishing a deployed workflow/flow as a reusable, named block with its own icon/inputs/outputs that appears in the block toolbar for other org members to drop into their own workflows, without needing access to the underlying flow — distinct from subWorkflows (same-author composition) and from custom code/tool blocks. */ + customBlocks: Fact } aiCapabilities: { multiLlmSupport: Fact From 9404bda5c28504938d749c0f0d2e5b77e79ea6ff Mon Sep 17 00:00:00 2001 From: Vikhyath Mondreti Date: Wed, 8 Jul 2026 16:00:36 -0700 Subject: [PATCH 17/27] docs(forking): workspace forking for enterprises (#5520) * docs(forking): workspace forking * update comparison links --- .../docs/en/platform/enterprise/forks.mdx | 361 ++++++++++++++++++ .../docs/en/platform/enterprise/index.mdx | 11 +- .../docs/en/platform/enterprise/meta.json | 3 +- .../static/enterprise/forks-activity.png | Bin 0 -> 553804 bytes .../enterprise/forks-copy-resources.png | Bin 0 -> 52622 bytes .../static/enterprise/forks-create-modal.png | Bin 0 -> 83502 bytes .../enterprise/forks-create-warning.png | Bin 0 -> 96455 bytes .../public/static/enterprise/forks-list.png | Bin 0 -> 221259 bytes .../static/enterprise/forks-reconfigure.png | Bin 0 -> 56890 bytes .../static/enterprise/forks-sync-confirm.png | Bin 0 -> 48567 bytes .../static/enterprise/forks-sync-overview.png | Bin 0 -> 210546 bytes .../[workspaceId]/settings/[section]/page.tsx | 2 +- .../[workspaceId]/settings/navigation.ts | 3 +- .../ee/workspace-forking/components/forks.tsx | 4 +- apps/sim/lib/compare/data/feature-catalog.ts | 38 +- apps/sim/lib/compare/data/sim.ts | 17 +- 16 files changed, 392 insertions(+), 47 deletions(-) create mode 100644 apps/docs/content/docs/en/platform/enterprise/forks.mdx create mode 100644 apps/docs/public/static/enterprise/forks-activity.png create mode 100644 apps/docs/public/static/enterprise/forks-copy-resources.png create mode 100644 apps/docs/public/static/enterprise/forks-create-modal.png create mode 100644 apps/docs/public/static/enterprise/forks-create-warning.png create mode 100644 apps/docs/public/static/enterprise/forks-list.png create mode 100644 apps/docs/public/static/enterprise/forks-reconfigure.png create mode 100644 apps/docs/public/static/enterprise/forks-sync-confirm.png create mode 100644 apps/docs/public/static/enterprise/forks-sync-overview.png diff --git a/apps/docs/content/docs/en/platform/enterprise/forks.mdx b/apps/docs/content/docs/en/platform/enterprise/forks.mdx new file mode 100644 index 00000000000..08f7e3bfd3a --- /dev/null +++ b/apps/docs/content/docs/en/platform/enterprise/forks.mdx @@ -0,0 +1,361 @@ +--- +title: Workspace Forks +description: Clone a workspace, keep it linked to its parent, and push or pull deployed workflow changes +--- + +import { Callout } from 'fumadocs-ui/components/callout' +import { FAQ } from '@/components/ui/faq' +import { Image } from '@/components/ui/image' + +Workspace Forks let you clone a workspace into a child, keep the two linked, and move **deployed** workflow changes between them later. Think of **Deploy** as a git commit: only what you have deployed is what Forks can copy or sync. **Sync** is always a force push or force pull — the target side is overwritten for the workflows in the sync. There is no merge UI. + +One workspace has at most one parent. A parent can have many children. You can only sync along a **direct** parent↔child edge — not with a grandparent or sibling. + +--- + +## Who can use Forks + +| Requirement | Detail | +|-------------|--------| +| **Plan** | Enterprise on Sim Cloud | +| **Role** | Workspace **admin** — non-admins never see the Forks tab | +| **Self-hosted** | Set `FORKING_ENABLED` / `NEXT_PUBLIC_FORKING_ENABLED` (see [Self-hosted setup](#self-hosted-setup)) | + +On Sim Cloud, your organization may also need the feature turned on for your account before the tab appears. + +--- + +## Setup + +### 1. Open Forks + +Go to **Settings → Enterprise → Workspace Forks** in the workspace you want to fork from (or manage). + +Workspace Forks settings page showing Parent and Forks sections with Docs, See activity, and Create fork actions + +You will see: + +- **Parent** — if this workspace was forked from another +- **Forks** — children of this workspace +- **See activity** — history of forks, syncs, and rollbacks +- **Create fork** — start a new child + +### 2. Create a fork + +Click **Create fork**. Name the child (defaults to `{workspace} (fork)`), then review **Copy resources**. + +Fork workspace modal with name field and Copy resources list fully selected + +Everything under **Copy resources** starts **selected**. That is usually what you want: tables, knowledge bases, files, custom tools, skills, and MCP servers the child will need. + + + If you deselect a resource, references to it in the forked workflows are **cleared** in the child. You will see a warning before you confirm. + + +Fork workspace modal showing a warning that deselected resources will clear references in the fork + +Click **Fork**. The child workspace is created immediately. Deployed workflows land as **drafts** in the child. Large content (table rows, knowledge base files, file blobs) may finish copying in the background — watch **Activity** on the source workspace. + + + Only **deployed** workflows are forked. Drafts and undeployed work stay in the parent. If the parent has nothing deployed, the child starts with a blank starter workflow. + + +### 3. Open the parent edge (from the child) + +Open the **child** workspace → **Settings → Enterprise → Workspace Forks**. On the **Parent** row, open the menu and choose **Edit mappings**. + +Child rows (when you are on the parent) only offer **Open workspace** and **Disconnect** — mapping and sync are owned by the child configuring how it relates to its parent. + +**Open workspace** is disabled with a tooltip if you do not have access to the other workspace. **Disconnect** stays available so you can still sever the link. + +### 4. Understand mappings + +A **mapping** means: “this resource in the source is the same logical thing as that resource in the target.” When you sync, workflow fields that pointed at the source resource are rewritten to the target resource so blocks keep working. + +| Approach | When to use it | +|----------|----------------| +| **Map** | Both sides already have (or should keep) their own resource — e.g. each workspace’s Slack credential, Gmail account, or secret value | +| **Copy** | The target should receive a **new** clone of the source resource — a new table, knowledge base, file, or MCP server config | + +**Credentials** and **Secrets** are **map-only**. They are never copied. Secret *values* never leave their workspace; only names like `{{API_KEY}}` appear in workflow text. + +Mappings are saved on the fork relationship. You can click **Save** without syncing. Sync always uses the saved mappings. + +After you map or copy a parent resource (credential, knowledge base, table, …), **dependent fields** — Gmail labels, Slack channels, knowledge base documents, and similar — often need a fresh pick in the target. Required dependents block **Sync** until they are filled. + +### 5. Map, reconfigure, then Sync + +On the sync page you will see direction (**Push** / **Pull**), deployed workflow changes, **Mappings**, optional **Copy resources**, and any **Blocking sync** items. + +Sync detail page with Push and Pull direction, deployed workflows, and mapping status badges + +- **Push** — overwrite the **other** workspace with this workspace’s deployed workflows +- **Pull** — overwrite **this** workspace with the other’s deployed workflows + +Both are force operations. Confirm carefully. + +Copy resources section showing resources used by workflows and a Not used by any workflow group + +Resources referenced by the workflows in the sync default to selected for copy. Unused ones sit under **Not used by any workflow** (off by default). If you **map** a resource, it leaves the copy list — maps win. + +Dependent field reconfigure card under a mapped resource with a required field marked + +**Sync** stays disabled until: + +- Every blocking reference is mapped, copied, or fixed in the source +- Required credentials and secrets are mapped +- Required dependent fields are filled +- Sync details have finished loading + +### 6. Confirm and run + +Click **Sync**. You will get an overwrite confirmation. + +Overwrite target workspace confirmation dialog warning that syncing overwrites changes on the target + +On success you will see a toast such as **Pushed to "…"** or **Pulled from "…"**. If some workflows fail to redeploy, you get a warning to open and redeploy them manually. + +--- + +## Activity + +**See activity** (or the Activity view from the Forks header) lists forks, pushes, pulls, and rollbacks that involve this workspace — including events recorded on the other side of the edge. + +Activity view showing Fork and Push events with expandable detail rows + +Expand a row for names of workflows and resources that were created, updated, or archived, and any warnings (for example failed background copies or deploy failures). + +--- + +## Rollback vs Disconnect + +| Action | What it does | Keep in mind | +|--------|--------------|--------------| +| **Rollback** | Undoes the **last sync into this workspace** — restores each affected workflow to its prior deployed version and removes workflows that sync created | Copied resources from past syncs **may remain**. Rollback does not delete tables, KBs, or files that were copied in. | +| **Disconnect** | Permanently removes the fork relationship | Both workspaces stay. Saved mappings and sync history for the pair are deleted. Forking again creates a **new** child, not a reconnect. | + +--- + +## Permissions + +| Action | Who | +|--------|-----| +| See Forks / create a fork | Admin on this workspace (+ feature available) | +| Sync / edit mappings | Admin on **both** sides of the edge | +| Rollback | Admin on the workspace the sync landed in | +| Disconnect | Admin on **this** side only (you can disconnect even without access to the other workspace) | +| Open the other workspace | You must be a member of that workspace | + +--- + +## Resource reference + +How each resource behaves at **fork** time vs **sync** time. Use this when you are deciding what to select under **Copy resources**, or why Sync is asking you to map something. + +### At a glance + +| Resource | Fork | Sync | +|----------|------|------| +| Deployed workflows | Always copied as drafts | Updated / created / archived (force overwrite) | +| Undeployed workflows | Not copied | Not synced | +| Files | Optional copy (default on) | Map or copy | +| Tables | Optional copy (default on) | Map or copy | +| Knowledge bases (+ documents) | Optional copy; referenced docs come with the KB | Map or copy; documents follow the KB | +| Custom tools | Optional copy (default on) | Map or copy | +| Skills | Optional copy (default on) | Map or copy | +| External MCP servers | Optional copy (config only; sign-in cleared) | Map or copy (config only; sign-in cleared) | +| Workflow MCP servers | Optional copy (server shells + attachments when workflows copy) | Kept in sync automatically with the workflows | +| Deployed chats | Carried with a **new** chat URL | Created on the target if it has no chat yet | +| Credentials | Never — fields cleared | Map only | +| Secrets | Values never; `{{KEY}}` names kept | Map key names only | +| Public API | Child starts private | Flag follows the workflow | +| Schedules / webhooks / triggers | Not live until you deploy in the child | Follow whatever you deploy on the target | +| History, API keys, memory, scheduled jobs | Never | Never | + +--- + +### Workflows + +Only **deployed** workflows move. Deploy is the commit; sync is the force push/pull of those commits. + +| | Behavior | +|---|----------| +| **Fork** | Each deployed workflow becomes a **draft** in the child. Run history is not copied. Only folders that contain a copied workflow are kept. | +| **Sync** | The change list shows what will be updated, created, or archived. The target is overwritten for those workflows. | + +**Example:** Parent has `Support triage` deployed and `WIP experiment` as a draft. The fork gets only `Support triage` as a draft. A later push updates the child from the parent’s latest deploy of `Support triage`. + +--- + +### Files + +| | Behavior | +|---|----------| +| **Fork** | Listed under **Copy resources** (default on). Copies land at the child’s **file root** (original file folders are not rebuilt). Deselect → file fields in workflows clear. | +| **Sync** | Map to a file that already exists on the target, or copy. Files used by the sync’s workflows default to selected. | + +**Example:** A workflow attaches `brand-guide.pdf`. Fork with Files selected → the child has its own copy and the block still points at it. + +--- + +### Tables + +| | Behavior | +|---|----------| +| **Fork** | Optional copy (default on). Rows may finish copying in the background after the fork is created. Deselect → table fields clear. | +| **Sync** | Map if both sides should keep pointing at “the same” logical table through the mapping, or copy for an independent dataset on the target. | + +**Example:** An enrichment workflow uses a “Leads” table. Copy on fork so the child can experiment without touching production data. On sync, map if you intentionally want both sides aligned to paired tables, or copy a new table when the target should get a fresh clone. + +--- + +### Knowledge bases and documents + +| | Behavior | +|---|----------| +| **Fork** | Optional copy (default on). Tag definitions come with the knowledge base. Documents that the forked workflows actually reference are included. Deselect → knowledge base / document fields clear. | +| **Sync** | Map or copy the knowledge base. Documents are not mapped by themselves — they follow the knowledge base (copied with it, or re-picked when you map to an existing one). | + +**Example:** An agent searches knowledge base “Product docs.” Fork with that knowledge base selected → the child gets the base, tags, and the documents the agent used. On sync, mapping to the child’s existing “Product docs” means re-picking which document the tool should use. + +--- + +### Custom tools + +| | Behavior | +|---|----------| +| **Fork** | Optional copy (default on). The tool definition comes along so agent / tool picks keep working. | +| **Sync** | Map when both sides already maintain the same tool; copy when the target should receive the source’s definition as a new tool. | + +**Example:** A `lookup_customer` custom tool used by an agent. Fork with Custom tools selected → the child’s agent still has the tool. On push, a brand-new tool on the child can be copied into the parent if you leave it selected under **Copy resources**. + +--- + +### Skills + +| | Behavior | +|---|----------| +| **Fork** | Optional copy (default on). Skill content comes along. Links inside the skill to files or other Sim resources are updated when those resources were also copied. Deselect → skill fields on agents clear. | +| **Sync** | Map or copy, same idea as custom tools. | + +**Example:** A “Support tone” skill on an agent. Deselecting it on fork clears the skill on the child’s agent until you attach one again. + +--- + +### External MCP servers + +Servers you connect to an external MCP endpoint (not “publish this workflow as MCP”). + +| | Behavior | +|---|----------| +| **Fork** | Optional copy (default on). **Connection settings** (URL, headers, transport) copy. **Sign-in / OAuth is not copied** — OAuth servers show up disconnected until someone signs in again in the child. Tool picks on MCP and agent blocks follow the new server. | +| **Sync** | Map or copy under the same rules. Mapping is typical when each workspace has its own server aimed at the same upstream system. | + +**Example:** An MCP server for an internal API. After fork, open MCP settings in the child and complete OAuth (or confirm API headers) before those tools will run. On sync, map child ↔ parent servers so tool selections survive push and pull. + +--- + +### Workflow MCP servers + +Servers that **publish workflows as MCP tools**. + +| | Behavior | +|---|----------| +| **Fork** | Optional under **Copy resources**. You get matching server shells in the child. When the workflow was also forked, its tool attachment on that server is carried over. | +| **Sync** | These are not shown in the mapping list. Attachments stay aligned as you sync — tools are added, updated, or removed to match the source. | + +**Example:** Parent exposes `Support triage` on a workflow MCP server. Fork with Workflow MCP servers selected → the child gets a matching server and the attachment to the child’s copy of the workflow. + +--- + +### Deployed chats + +| | Behavior | +|---|----------| +| **Fork** | Live chat deployments on copied workflows come along with a **new chat URL**. Conversation history is not copied — only the chat setup (including which blocks feed the chat). | +| **Sync** | If the target workflow has **no** chat yet, the source’s live chat is created there (again with a new URL). Existing chats on the target are left alone. Workflows that are not ready to deploy do not get a chat. | + +**Example:** Parent has a public chat on `Support triage`. The fork gets its own chat URL right away. A later push onto a parent workflow that never had a chat can create one there. + +--- + +### Credentials + +| | Behavior | +|---|----------| +| **Fork** | **Never copied.** Credential fields in workflows are cleared. Connect or pick credentials in the child. | +| **Sync** | **Map only.** Every credential used by the synced workflows must be mapped to a credential on the target (same kind of integration). Sync stays blocked until that is done. Then re-pick dependents (labels, calendars, channels, …). | + +**Example:** A Gmail block using “Support inbox.” Fork clears it. Before the first sync, map it to the child’s “Support inbox” credential and re-pick the label. + +--- + +### Secrets (environment variables) + +| | Behavior | +|---|----------| +| **Fork** | **Values never leave the source.** Workflow text still contains `{{KEY}}` names. Create matching secrets (or the names you will map to) under the child’s **Secrets**. | +| **Sync** | Map source key names to target key names. Values stay in each workspace. Unmapped required secrets block Sync. | + +**Example:** Workflows use `{{OPENAI_API_KEY}}`. After fork, add that secret in the child (or map `OPENAI_API_KEY` to whatever name the child uses) before runs and syncs succeed. + +--- + +### Public API + +| | Behavior | +|---|----------| +| **Fork** | Child workflows start **private** — not exposed as public API endpoints, even if the parent was. | +| **Sync** | The source workflow’s public API setting is carried. Push a public endpoint and the target becomes public too. | + +--- + +### Not carried + +These do not move at fork or sync time: + +- Undeployed workflows and local drafts +- Execution / run history +- Sim API keys +- Memory stores and scheduled jobs +- BYOK provider keys +- Permission groups (the child inherits the organization, but groups are not specially applied by forking) + +Schedules, webhooks, and triggers are not live in the child until you **deploy** there — same “deploy = commit” rule. + +--- + +## Edge cases to keep in mind + +- **Force overwrite** — Sync does not merge canvas changes. Anything only on the target that conflicts with the source’s deployed workflows can be lost. Use the confirm dialog’s archive list carefully. +- **Deselect on fork** — Cleared references are intentional. Prefer copying the resource, or plan to reconnect it in the child. +- **Background copy** — Right after fork, large tables / knowledge bases / files may still be copying. Check **Activity** if something looks empty. +- **OAuth MCP** — Expect a reconnect in the child (and after a copied server on sync). +- **Rollback ≠ undo copies** — Workflow versions roll back; copied resources can remain as orphans. +- **Disconnect is permanent** — You cannot “reconnect” the same edge; you would fork again into a new workspace. +- **No grandparent sync** — Only the direct parent↔child pair. + +--- + + + +--- + +## Self-hosted setup + +Self-hosted deployments turn Forks on with an environment variable instead of the Enterprise plan. + +| Variable | Description | +|----------|-------------| +| `FORKING_ENABLED`, `NEXT_PUBLIC_FORKING_ENABLED` | Enables workspace forking when billing is not used as the entitlement gate | + +Once enabled, use the same **Settings → Enterprise → Workspace Forks** UI as Sim Cloud. Only workspace admins can manage forks. diff --git a/apps/docs/content/docs/en/platform/enterprise/index.mdx b/apps/docs/content/docs/en/platform/enterprise/index.mdx index fef18101d99..6aee826a8af 100644 --- a/apps/docs/content/docs/en/platform/enterprise/index.mdx +++ b/apps/docs/content/docs/en/platform/enterprise/index.mdx @@ -5,7 +5,7 @@ description: Enterprise features for business organizations import { FAQ } from '@/components/ui/faq' -Sim Enterprise adds fine-grained access control, SSO, audit logging, and compliance features on top of Team plans. +Sim Enterprise adds fine-grained access control, SSO, audit logging, compliance features, and workspace forking on top of Team plans. --- @@ -65,8 +65,14 @@ Continuously export workflow logs, audit logs, and Mothership data to a customer --- +## Workspace Forks + +Clone a workspace into a linked child, then push or pull **deployed** workflow changes between them. Deploy is like a commit; sync is a force push or force pull. See the [workspace forks guide](/platform/enterprise/forks). + +--- + @@ -86,6 +92,7 @@ Self-hosted deployments enable enterprise features via environment variables ins | `AUDIT_LOGS_ENABLED`, `NEXT_PUBLIC_AUDIT_LOGS_ENABLED` | Audit logging | | `NEXT_PUBLIC_DATA_RETENTION_ENABLED` | Data retention configuration | | `DATA_DRAINS_ENABLED`, `NEXT_PUBLIC_DATA_DRAINS_ENABLED` | Data drains | +| `FORKING_ENABLED`, `NEXT_PUBLIC_FORKING_ENABLED` | Workspace forking | | `INBOX_ENABLED`, `NEXT_PUBLIC_INBOX_ENABLED` | Sim Mailer inbox | | `DISABLE_INVITATIONS`, `NEXT_PUBLIC_DISABLE_INVITATIONS` | Disable invitations; manage membership via Admin API | diff --git a/apps/docs/content/docs/en/platform/enterprise/meta.json b/apps/docs/content/docs/en/platform/enterprise/meta.json index c80f99a22d3..c8a33a7e287 100644 --- a/apps/docs/content/docs/en/platform/enterprise/meta.json +++ b/apps/docs/content/docs/en/platform/enterprise/meta.json @@ -8,7 +8,8 @@ "whitelabeling", "audit-logs", "data-retention", - "data-drains" + "data-drains", + "forks" ], "defaultOpen": false } diff --git a/apps/docs/public/static/enterprise/forks-activity.png b/apps/docs/public/static/enterprise/forks-activity.png new file mode 100644 index 0000000000000000000000000000000000000000..dd9398b34a2a38189bd58c99df31be6e65c0665c GIT binary patch literal 553804 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

    }R$qx;9J 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/static/enterprise/forks-create-warning.png b/apps/docs/public/static/enterprise/forks-create-warning.png new file mode 100644 index 0000000000000000000000000000000000000000..14e120bdc4284cd2915934b8324a607c9d62923d GIT binary patch literal 96455 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%0AiSJt|JITeMP+ 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 Dl11|| literal 0 HcmV?d00001 diff --git a/apps/docs/public/static/enterprise/forks-list.png b/apps/docs/public/static/enterprise/forks-list.png new file mode 100644 index 0000000000000000000000000000000000000000..5d31ccef8398f01fb89df14c6fccc398e5c62a35 GIT binary patch literal 221259 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

    #p^@Vk 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/static/enterprise/forks-sync-confirm.png b/apps/docs/public/static/enterprise/forks-sync-confirm.png new file mode 100644 index 0000000000000000000000000000000000000000..74d5ea07dd219e6561e491994d4e65f18d1e30e9 GIT binary patch literal 48567 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ℜ$0G;1HzbB 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/static/enterprise/forks-sync-overview.png b/apps/docs/public/static/enterprise/forks-sync-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..3ae743c1571db0055ea2bba27e5071fbfb0574ae GIT binary patch literal 210546 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ⅈYus^L8PnDZ0~eZ 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 = { sso: 'Single Sign-On', whitelabeling: 'Whitelabeling', copilot: 'Chat Keys', - forks: 'Forks', + forks: 'Workspace Forks', mcp: 'MCP Tools', 'custom-tools': 'Custom Tools', 'workflow-mcp-servers': 'MCP Servers', diff --git a/apps/sim/app/workspace/[workspaceId]/settings/navigation.ts b/apps/sim/app/workspace/[workspaceId]/settings/navigation.ts index 4e962ebcc9a..6851d93bc6d 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/navigation.ts +++ b/apps/sim/app/workspace/[workspaceId]/settings/navigation.ts @@ -139,10 +139,11 @@ export const allNavigationItems: NavigationItem[] = [ }, { id: 'forks', - label: 'Forks', + label: 'Workspace Forks', description: 'Fork this workspace and sync changes with its parent.', icon: Shuffle, section: 'enterprise', + docsLink: 'https://docs.sim.ai/platform/enterprise/forks', }, { id: 'billing', diff --git a/apps/sim/ee/workspace-forking/components/forks.tsx b/apps/sim/ee/workspace-forking/components/forks.tsx index 2d2fc43932c..422f68f6484 100644 --- a/apps/sim/ee/workspace-forking/components/forks.tsx +++ b/apps/sim/ee/workspace-forking/components/forks.tsx @@ -157,7 +157,7 @@ function ForkSyncDetailView({ <> guard.guardBack(() => { @@ -249,7 +249,7 @@ function ForkActivityDetailView({ }: ForkActivityDetailViewProps) { return ( diff --git a/apps/sim/lib/compare/data/feature-catalog.ts b/apps/sim/lib/compare/data/feature-catalog.ts index c2f63d5efd5..2f57db7ba9a 100644 --- a/apps/sim/lib/compare/data/feature-catalog.ts +++ b/apps/sim/lib/compare/data/feature-catalog.ts @@ -417,19 +417,9 @@ export const SIM_FEATURES: SimFeature[] = [ 'This is a genuine git-like fork/diff/promote/rollback system scoped to an entire workspace, not a single-workflow versioning feature. Most workflow-automation competitors only version individual workflows, not whole environments with cross-environment resource remapping.', sources: [ { - url: 'https://github.com/simstudioai/sim/blob/main/packages/db/schema.ts', - label: 'Sim codebase: workspaceForkResourceMap / workspaceForkPromoteRun tables', - asOf: '2026-07-02', - }, - { - url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/ee/workspace-forking/lib/promote/promote.ts', - label: 'Sim codebase: fork promote engine', - asOf: '2026-07-02', - }, - { - url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/app/api/workspaces/[id]/fork/route.ts', - label: 'Sim codebase: fork creation API', - asOf: '2026-07-02', + url: 'https://docs.sim.ai/platform/enterprise/forks', + label: 'Sim Docs: Workspace Forks', + asOf: '2026-07-08', }, ], }, @@ -444,19 +434,9 @@ export const SIM_FEATURES: SimFeature[] = [ 'Treating credentials/env-vars as required-and-blocking on promote (rather than silently copying secrets) is a specific, auditable safety design for enterprise dev→qa→prod pipelines.', sources: [ { - url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/ee/workspace-forking/lib/create-fork.ts', - label: 'Sim codebase: fork creation (credentials cleared)', - asOf: '2026-07-02', - }, - { - url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/ee/workspace-forking/lib/remap/remap-references.ts', - label: 'Sim codebase: required-kinds remap/block logic', - asOf: '2026-07-02', - }, - { - url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/app/api/workspaces/[id]/fork/mapping/route.ts', - label: 'Sim codebase: fork credential mapping API', - asOf: '2026-07-02', + url: 'https://docs.sim.ai/platform/enterprise/forks', + label: 'Sim Docs: Workspace Forks (mappings)', + asOf: '2026-07-08', }, ], }, @@ -469,9 +449,9 @@ export const SIM_FEATURES: SimFeature[] = [ 'Forking/promotion is gated on the billed account having Enterprise-tier access on hosted Sim, mirroring the same access-gate pattern used for SSO. Self-hosted deployments can enable it independent of billing via a FORKING_ENABLED/NEXT_PUBLIC_FORKING_ENABLED environment flag.', sources: [ { - url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/ee/workspace-forking/lib/lineage/authz.ts', - label: 'Sim codebase: assertForkingEnabled / assertCanFork', - asOf: '2026-07-02', + url: 'https://docs.sim.ai/platform/enterprise/forks', + label: 'Sim Docs: Workspace Forks (self-hosted setup)', + asOf: '2026-07-08', }, ], }, diff --git a/apps/sim/lib/compare/data/sim.ts b/apps/sim/lib/compare/data/sim.ts index 88438f5ac66..06ccaf4e4d4 100644 --- a/apps/sim/lib/compare/data/sim.ts +++ b/apps/sim/lib/compare/data/sim.ts @@ -57,9 +57,9 @@ export const simProfile: CompetitorProfile = { 'Fork a whole workspace into a dev/qa/prod-style child environment, preview a diff, and promote changes bidirectionally. Credential and env-var remapping is required on every promote, so secrets never cross environments silently.', shortDescription: 'Fork, diff, and promote environments with mandatory credential remapping.', source: { - url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/ee/workspace-forking/lib/promote/promote.ts', - label: 'Sim codebase: fork promote engine', - asOf: '2026-07-02', + url: 'https://docs.sim.ai/platform/enterprise/forks', + label: 'Sim Docs: Workspace Forks', + asOf: '2026-07-08', }, }, { @@ -222,14 +222,9 @@ export const simProfile: CompetitorProfile = { confidence: 'verified', sources: [ { - url: 'https://github.com/simstudioai/sim/blob/main/packages/db/schema.ts', - label: 'Sim codebase: workspaceForkResourceMap / workspaceForkPromoteRun', - asOf: '2026-07-02', - }, - { - url: 'https://github.com/simstudioai/sim/blob/main/apps/sim/ee/workspace-forking/lib/promote/promote.ts', - label: 'Sim codebase: fork promote engine', - asOf: '2026-07-02', + url: 'https://docs.sim.ai/platform/enterprise/forks', + label: 'Sim Docs: Workspace Forks', + asOf: '2026-07-08', }, ], }, From d078c84ee6be51397117d6d86753f821c6b76b83 Mon Sep 17 00:00:00 2001 From: Waleed Date: Wed, 8 Jul 2026 16:41:23 -0700 Subject: [PATCH 18/27] chore(typescript): upgrade to TypeScript 7 (native Go compiler) (#5521) * chore(typescript): upgrade to TypeScript 7 (native Go compiler) Bumps typescript to ^7.0.2 across every workspace package. Full bun run type-check/lint/build/test all pass; apps/sim's type-check (the one needing an 8GB heap bump) drops from ~55s to ~7s wall time. Migration fixes required by TS7's stricter defaults: - baseUrl removed: drop it from 5 tsconfigs (paths already resolved relative to tsconfig dir, so behavior is unchanged) and prefix the one bare (non-relative) paths entry each in apps/sim and apps/realtime with './' - moduleResolution=node10 removed: switch packages/cli and packages/ts-sdk to "bundler", matching the rest of the monorepo - types now defaults to [] instead of auto-including every @types/* package: add "types": ["node"] to the shared base tsconfig (this is fundamentally a Node monorepo, so this restores prior behavior in one place instead of duplicating it per-package), add explicit @types/node deps to packages that now rely on it transitively via @sim/db/@sim/logger, and add "declare module '*.css'" to the two packages with plain (non-module) CSS side-effect imports that TS7's stricter checker now flags - packages/logger's isomorphic `typeof window` check no longer needs DOM lib in every consumer: replaced with `'window' in globalThis` - packages/testing and apps/realtime's fetch/DOM mocks need DOM lib where they're compiled, since they model the browser Fetch API - the `typescript` npm package no longer exports the classic Compiler API from its main entry (moved to unstable/ast subpaths); apps/sim's Function-block route used it at runtime to strip import statements from user code, so that one call site now uses Microsoft's official transition package, @typescript/typescript6 - Next.js 16.2.6's own TypeScript-detection heuristic hardcodes a path TS7 no longer ships, and its auto-install fallback assumes npm/pnpm; added @typescript/native-preview as a devDependency to apps/sim and apps/docs so Next detects a valid native compiler instead of trying (and failing) to auto-install one Not merging yet: TS 7.0.2 published today and is still inside this repo's bunfig.toml minimumReleaseAge (7-day) supply-chain gate, so `bun install` will fail for everyone until 2026-07-15. Opening this now to get it through review; hold the actual merge until then. * fix(typescript): address Greptile review findings on TS7 upgrade - packages/logger: 'window' in globalThis treats a shim that leaves globalThis.window explicitly undefined as browser-only, silently dropping production server logs. Restore the original typeof !== 'undefined' semantics via an inline cast instead, so it stays correct without requiring DOM lib in every consumer. - packages/ts-sdk, packages/cli: both are tsc-built, published as Node ESM (package.json "type": "module" with an "exports" map). "moduleResolution": "bundler" is too permissive for that target - it accepts import patterns (e.g. extensionless relative imports) that Node's actual ESM resolver rejects at runtime. Switch both to "module"/"moduleResolution": "nodenext", the correct pairing for a published Node ESM package. Verified real tsc builds (not just --noEmit) still succeed for both. * chore(bunfig): temporarily disable minimumReleaseAge gate for TS7 install TS 7.0.2 published today, still inside the 7-day gate. Lowering to 0 to unblock this merge; will restore to 604800 in an immediate follow-up commit right after merging. --- apps/docs/package.json | 3 +- apps/docs/tsconfig.json | 1 - apps/realtime/package.json | 2 +- apps/realtime/tsconfig.json | 4 +- apps/sim/app/api/function/execute/route.ts | 4 +- apps/sim/package.json | 4 +- apps/sim/tsconfig.json | 3 +- bun.lock | 154 ++++++++++++------ bunfig.toml | 2 +- packages/audit/package.json | 3 +- packages/auth/package.json | 3 +- packages/cli/package.json | 2 +- packages/cli/tsconfig.json | 3 +- packages/db/package.json | 2 +- packages/db/tsconfig.json | 1 - packages/emcn/package.json | 2 +- packages/emcn/src/css-modules.d.ts | 2 + packages/logger/package.json | 3 +- packages/logger/src/index.ts | 5 +- packages/platform-authz/package.json | 3 +- packages/realtime-protocol/package.json | 2 +- packages/runtime-secrets/package.json | 2 +- packages/security/package.json | 2 +- packages/testing/package.json | 2 +- packages/testing/tsconfig.json | 2 +- packages/ts-sdk/package.json | 2 +- packages/ts-sdk/tsconfig.json | 4 +- packages/tsconfig/base.json | 1 + packages/utils/package.json | 2 +- packages/utils/tsconfig.json | 3 + packages/workflow-persistence/package.json | 3 +- packages/workflow-renderer/package.json | 2 +- .../workflow-renderer/src/css-modules.d.ts | 2 + packages/workflow-types/package.json | 2 +- 34 files changed, 156 insertions(+), 81 deletions(-) diff --git a/apps/docs/package.json b/apps/docs/package.json index 9f8d622f6cc..6c9e64cf5bb 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -50,8 +50,9 @@ "@types/node": "^22.14.1", "@types/react": "^19.1.2", "@types/react-dom": "^19.0.4", + "@typescript/native-preview": "7.0.0-dev.20260707.2", "postcss": "^8.5.3", "tailwindcss": "^4.0.12", - "typescript": "^5.8.2" + "typescript": "^7.0.2" } } diff --git a/apps/docs/tsconfig.json b/apps/docs/tsconfig.json index 1a45ee64711..857bd1f7da6 100644 --- a/apps/docs/tsconfig.json +++ b/apps/docs/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@sim/tsconfig/nextjs.json", "compilerOptions": { - "baseUrl": ".", "paths": { "@/.source/*": ["./.source/*"], "@/*": ["./*"] diff --git a/apps/realtime/package.json b/apps/realtime/package.json index 83ca341b44d..633ffb60827 100644 --- a/apps/realtime/package.json +++ b/apps/realtime/package.json @@ -43,7 +43,7 @@ "@sim/tsconfig": "workspace:*", "@types/node": "24.2.1", "socket.io-client": "4.8.1", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vitest": "^4.1.0" } } diff --git a/apps/realtime/tsconfig.json b/apps/realtime/tsconfig.json index cce62771d4d..00b8ae857fc 100644 --- a/apps/realtime/tsconfig.json +++ b/apps/realtime/tsconfig.json @@ -1,9 +1,9 @@ { "extends": "@sim/tsconfig/base.json", "compilerOptions": { - "baseUrl": ".", + "lib": ["ES2022", "DOM"], "paths": { - "@/*": ["src/*"] + "@/*": ["./src/*"] } }, "include": ["src/**/*"], diff --git a/apps/sim/app/api/function/execute/route.ts b/apps/sim/app/api/function/execute/route.ts index b9251c8a139..33ab418dac5 100644 --- a/apps/sim/app/api/function/execute/route.ts +++ b/apps/sim/app/api/function/execute/route.ts @@ -110,13 +110,13 @@ const JS_RESERVED_WORDS = new Set([ 'public', ]) -type TypeScriptModule = typeof import('typescript') +type TypeScriptModule = typeof import('@typescript/typescript6') let typescriptModulePromise: Promise | null = null async function loadTypeScriptModule(): Promise { if (!typescriptModulePromise) { - typescriptModulePromise = import('typescript').then( + typescriptModulePromise = import('@typescript/typescript6').then( (mod) => (mod?.default ?? mod) as TypeScriptModule, (error) => { typescriptModulePromise = null diff --git a/apps/sim/package.json b/apps/sim/package.json index dd211bc8798..f58c8e61b80 100644 --- a/apps/sim/package.json +++ b/apps/sim/package.json @@ -124,6 +124,7 @@ "@tiptap/starter-kit": "3.26.1", "@tiptap/suggestion": "3.26.1", "@trigger.dev/sdk": "4.4.3", + "@typescript/typescript6": "^6.0.2", "ajv": "8.18.0", "better-auth": "1.6.13", "binary-extensions": "3.1.0", @@ -235,6 +236,7 @@ "@types/react-dom": "^19", "@types/ssh2": "^1.15.5", "@types/three": "0.177.0", + "@typescript/native-preview": "7.0.0-dev.20260707.2", "@vitejs/plugin-react": "^4.3.4", "@vitest/coverage-v8": "^4.1.0", "autoprefixer": "10.4.21", @@ -243,7 +245,7 @@ "postcss": "^8", "react-email": "4.3.2", "tailwindcss": "^3.4.1", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vite-tsconfig-paths": "^5.1.4", "vitest": "^4.1.0" }, diff --git a/apps/sim/tsconfig.json b/apps/sim/tsconfig.json index adb44824922..8e6ac20bdf1 100644 --- a/apps/sim/tsconfig.json +++ b/apps/sim/tsconfig.json @@ -1,10 +1,9 @@ { "extends": "@sim/tsconfig/nextjs.json", "compilerOptions": { - "baseUrl": ".", "paths": { "@/*": ["./*"], - "@/components/*": ["components/*"], + "@/components/*": ["./components/*"], "@/lib/*": ["./lib/*"], "@/stores": ["./stores"], "@/stores/*": ["./stores/*"], diff --git a/bun.lock b/bun.lock index 6bdcb6cb463..0f9ba9efcf1 100644 --- a/bun.lock +++ b/bun.lock @@ -57,9 +57,10 @@ "@types/node": "^22.14.1", "@types/react": "^19.1.2", "@types/react-dom": "^19.0.4", + "@typescript/native-preview": "7.0.0-dev.20260707.2", "postcss": "^8.5.3", "tailwindcss": "^4.0.12", - "typescript": "^5.8.2", + "typescript": "^7.0.2", }, }, "apps/pii": { @@ -93,7 +94,7 @@ "@sim/tsconfig": "workspace:*", "@types/node": "24.2.1", "socket.io-client": "4.8.1", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vitest": "^4.1.0", }, }, @@ -192,6 +193,7 @@ "@tiptap/starter-kit": "3.26.1", "@tiptap/suggestion": "3.26.1", "@trigger.dev/sdk": "4.4.3", + "@typescript/typescript6": "^6.0.2", "ajv": "8.18.0", "better-auth": "1.6.13", "binary-extensions": "3.1.0", @@ -303,6 +305,7 @@ "@types/react-dom": "^19", "@types/ssh2": "^1.15.5", "@types/three": "0.177.0", + "@typescript/native-preview": "7.0.0-dev.20260707.2", "@vitejs/plugin-react": "^4.3.4", "@vitest/coverage-v8": "^4.1.0", "autoprefixer": "10.4.21", @@ -311,7 +314,7 @@ "postcss": "^8", "react-email": "4.3.2", "tailwindcss": "^3.4.1", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vite-tsconfig-paths": "^5.1.4", "vitest": "^4.1.0", }, @@ -328,7 +331,8 @@ "devDependencies": { "@sim/testing": "workspace:*", "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3", + "@types/node": "24.2.1", + "typescript": "^7.0.2", "vitest": "^4.1.0", }, }, @@ -341,7 +345,8 @@ }, "devDependencies": { "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3", + "@types/node": "24.2.1", + "typescript": "^7.0.2", }, }, "packages/cli": { @@ -361,7 +366,7 @@ "@sim/tsconfig": "workspace:*", "@types/inquirer": "^8.2.6", "@types/node": "^20.5.1", - "typescript": "^5.7.3", + "typescript": "^7.0.2", }, }, "packages/db": { @@ -378,7 +383,7 @@ "@sim/tsconfig": "workspace:*", "@types/node": "^22.10.5", "drizzle-kit": "^0.31.4", - "typescript": "^5.7.3", + "typescript": "^7.0.2", }, }, "packages/emcn": { @@ -401,7 +406,7 @@ "prismjs": "^1.30.0", "react": "19.2.4", "react-dom": "19.2.4", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vitest": "^4.1.0", }, "peerDependencies": { @@ -424,7 +429,8 @@ }, "devDependencies": { "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3", + "@types/node": "24.2.1", + "typescript": "^7.0.2", "vitest": "^4.1.0", }, }, @@ -437,7 +443,8 @@ }, "devDependencies": { "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3", + "@types/node": "24.2.1", + "typescript": "^7.0.2", }, }, "packages/realtime-protocol": { @@ -448,7 +455,7 @@ }, "devDependencies": { "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3", + "typescript": "^7.0.2", }, }, "packages/runtime-secrets": { @@ -462,7 +469,7 @@ "devDependencies": { "@sim/tsconfig": "workspace:*", "@types/node": "24.2.1", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vitest": "^4.1.0", }, }, @@ -472,7 +479,7 @@ "devDependencies": { "@sim/tsconfig": "workspace:*", "@types/node": "24.2.1", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vitest": "^4.1.0", }, }, @@ -484,7 +491,7 @@ }, "devDependencies": { "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vitest": "^4.1.0", }, "peerDependencies": { @@ -501,7 +508,7 @@ "@sim/tsconfig": "workspace:*", "@types/node": "^20.5.1", "@vitest/coverage-v8": "^4.1.0", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vitest": "^4.1.0", }, }, @@ -514,7 +521,7 @@ "version": "0.1.0", "devDependencies": { "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vitest": "^4.1.0", }, }, @@ -531,7 +538,8 @@ }, "devDependencies": { "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3", + "@types/node": "24.2.1", + "typescript": "^7.0.2", }, }, "packages/workflow-renderer": { @@ -547,7 +555,7 @@ "reactflow": "^11.11.4", "remark-breaks": "^4.0.0", "streamdown": "2.5.0", - "typescript": "^5.7.3", + "typescript": "^7.0.2", }, "peerDependencies": { "@sim/emcn": "workspace:*", @@ -565,7 +573,7 @@ "devDependencies": { "@sim/tsconfig": "workspace:*", "reactflow": "^11.11.4", - "typescript": "^5.7.3", + "typescript": "^7.0.2", }, "peerDependencies": { "reactflow": "^11.11.4", @@ -1932,7 +1940,7 @@ "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="], - "@types/node": ["@types/node@22.19.21", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-VMeFBSCKQKmm2swI2kW51SFusDqekC6q9trBCvJ/JliDchFSuoYYKN7yVNjPthP1HKZcx3U1gI/wTcEBjEFKTA=="], + "@types/node": ["@types/node@24.2.1", "", { "dependencies": { "undici-types": "~7.10.0" } }, "sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ=="], "@types/node-fetch": ["@types/node-fetch@2.6.13", "", { "dependencies": { "@types/node": "*", "form-data": "^4.0.4" } }, "sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw=="], @@ -1970,6 +1978,66 @@ "@types/ws": ["@types/ws@8.18.1", "", { "dependencies": { "@types/node": "*" } }, "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg=="], + "@typescript/native-preview": ["@typescript/native-preview@7.0.0-dev.20260707.2", "", { "optionalDependencies": { "@typescript/native-preview-darwin-arm64": "7.0.0-dev.20260707.2", "@typescript/native-preview-darwin-x64": "7.0.0-dev.20260707.2", "@typescript/native-preview-linux-arm": "7.0.0-dev.20260707.2", "@typescript/native-preview-linux-arm64": "7.0.0-dev.20260707.2", "@typescript/native-preview-linux-x64": "7.0.0-dev.20260707.2", "@typescript/native-preview-win32-arm64": "7.0.0-dev.20260707.2", "@typescript/native-preview-win32-x64": "7.0.0-dev.20260707.2" }, "bin": { "tsgo": "bin/tsgo" } }, "sha512-oUGp+Rep/hqMhPunyinsALUwSlzHINSxitifPiSaeqoKOKD2OlR9NE3TaPqwsl4NlGslsOSUXI1JotWQzpYCPg=="], + + "@typescript/native-preview-darwin-arm64": ["@typescript/native-preview-darwin-arm64@7.0.0-dev.20260707.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-wny2pgKjGbiZtnOIHVa3tXC1UfDqxNEFzyPGmiqybedG8hipG2Nfp0l5UxbaKCjkLacUpH/W5bP2hBOMVhCOzg=="], + + "@typescript/native-preview-darwin-x64": ["@typescript/native-preview-darwin-x64@7.0.0-dev.20260707.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-Afc7M5zOwo+GpfcYwz5Z8HMB2tPVsui7nNIqEuuFB73MPdVqNn/Wmpe4tP4MRri0AtJnJknoHBaTJ/VDAp/Jhw=="], + + "@typescript/native-preview-linux-arm": ["@typescript/native-preview-linux-arm@7.0.0-dev.20260707.2", "", { "os": "linux", "cpu": "arm" }, "sha512-hJm/UOqZTr9FHmR7uNm8VGX4oKtfWk0Jem0zPeJFNC8ckGUfSBueyiEYMZB+XmRc1aG4x1E46y3CplP4CLHvGQ=="], + + "@typescript/native-preview-linux-arm64": ["@typescript/native-preview-linux-arm64@7.0.0-dev.20260707.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-iITBa2WjjTI5N9t5l7Z4KoOSI+2zBlhbvFzsD/f8qX8QoKjz/Y4DPyBDgezYi8nkqjjksbgSOJ3/ykzhwrB9cg=="], + + "@typescript/native-preview-linux-x64": ["@typescript/native-preview-linux-x64@7.0.0-dev.20260707.2", "", { "os": "linux", "cpu": "x64" }, "sha512-du0dzi6y97Po5vDNdPJTyyijHCpaS22JLRnKZEJXBDaO9gCIymOv/5QQokFRuOlQm0bWl3i9PF4OVdGP6uAOQA=="], + + "@typescript/native-preview-win32-arm64": ["@typescript/native-preview-win32-arm64@7.0.0-dev.20260707.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-SsAwfhyHJ1akgBc+99z4+hwdbHsdWaKB8EwCNIMA6JfSLMeUjffrYvxu+vfMyxVtOVOz7RrRXRoiDiu4a2sCtg=="], + + "@typescript/native-preview-win32-x64": ["@typescript/native-preview-win32-x64@7.0.0-dev.20260707.2", "", { "os": "win32", "cpu": "x64" }, "sha512-DL4u27stv0fo71sVhOzHSwE+YMZsbBijVI+kg5dLDLilSH79WFTJ8RSQ46vJrCMt+Gjlv/JOZP1PuLJDfioYeQ=="], + + "@typescript/old": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="], + + "@typescript/typescript-aix-ppc64": ["@typescript/typescript-aix-ppc64@7.0.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ=="], + + "@typescript/typescript-darwin-arm64": ["@typescript/typescript-darwin-arm64@7.0.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA=="], + + "@typescript/typescript-darwin-x64": ["@typescript/typescript-darwin-x64@7.0.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA=="], + + "@typescript/typescript-freebsd-arm64": ["@typescript/typescript-freebsd-arm64@7.0.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ=="], + + "@typescript/typescript-freebsd-x64": ["@typescript/typescript-freebsd-x64@7.0.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw=="], + + "@typescript/typescript-linux-arm": ["@typescript/typescript-linux-arm@7.0.2", "", { "os": "linux", "cpu": "arm" }, "sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ=="], + + "@typescript/typescript-linux-arm64": ["@typescript/typescript-linux-arm64@7.0.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ=="], + + "@typescript/typescript-linux-loong64": ["@typescript/typescript-linux-loong64@7.0.2", "", { "os": "linux", "cpu": "none" }, "sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ=="], + + "@typescript/typescript-linux-mips64el": ["@typescript/typescript-linux-mips64el@7.0.2", "", { "os": "linux", "cpu": "none" }, "sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA=="], + + "@typescript/typescript-linux-ppc64": ["@typescript/typescript-linux-ppc64@7.0.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA=="], + + "@typescript/typescript-linux-riscv64": ["@typescript/typescript-linux-riscv64@7.0.2", "", { "os": "linux", "cpu": "none" }, "sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ=="], + + "@typescript/typescript-linux-s390x": ["@typescript/typescript-linux-s390x@7.0.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw=="], + + "@typescript/typescript-linux-x64": ["@typescript/typescript-linux-x64@7.0.2", "", { "os": "linux", "cpu": "x64" }, "sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A=="], + + "@typescript/typescript-netbsd-arm64": ["@typescript/typescript-netbsd-arm64@7.0.2", "", { "os": "none", "cpu": "arm64" }, "sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA=="], + + "@typescript/typescript-netbsd-x64": ["@typescript/typescript-netbsd-x64@7.0.2", "", { "os": "none", "cpu": "x64" }, "sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA=="], + + "@typescript/typescript-openbsd-arm64": ["@typescript/typescript-openbsd-arm64@7.0.2", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ=="], + + "@typescript/typescript-openbsd-x64": ["@typescript/typescript-openbsd-x64@7.0.2", "", { "os": "openbsd", "cpu": "x64" }, "sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg=="], + + "@typescript/typescript-sunos-x64": ["@typescript/typescript-sunos-x64@7.0.2", "", { "os": "sunos", "cpu": "x64" }, "sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g=="], + + "@typescript/typescript-win32-arm64": ["@typescript/typescript-win32-arm64@7.0.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ=="], + + "@typescript/typescript-win32-x64": ["@typescript/typescript-win32-x64@7.0.2", "", { "os": "win32", "cpu": "x64" }, "sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g=="], + + "@typescript/typescript6": ["@typescript/typescript6@6.0.2", "", { "dependencies": { "@typescript/old": "npm:typescript@^6" }, "bin": { "tsc6": "bin/tsc6" } }, "sha512-mbCddXd+jm7hfx7w2YU64/Av4/NqqeG3GoRZgxPcgoTxYjhrcfJRw9ULch71SS4G+Q3bOXFhRvPqjguN0Hyp5w=="], + "@typespec/ts-http-runtime": ["@typespec/ts-http-runtime@0.3.6", "", { "dependencies": { "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", "tslib": "^2.6.2" } }, "sha512-jIXhD0eWQ1JA6ln/5Dltyx22UxWNrw0hZmhy2rlv6m6KgF7kplHx3g0fzi09lNmTJQRR91OlemYp3xFnvDK9og=="], "@ungap/structured-clone": ["@ungap/structured-clone@1.3.1", "", {}, "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ=="], @@ -3888,7 +3956,7 @@ "typedarray": ["typedarray@0.0.6", "", {}, "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="], - "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + "typescript": ["typescript@7.0.2", "", { "optionalDependencies": { "@typescript/typescript-aix-ppc64": "7.0.2", "@typescript/typescript-darwin-arm64": "7.0.2", "@typescript/typescript-darwin-x64": "7.0.2", "@typescript/typescript-freebsd-arm64": "7.0.2", "@typescript/typescript-freebsd-x64": "7.0.2", "@typescript/typescript-linux-arm": "7.0.2", "@typescript/typescript-linux-arm64": "7.0.2", "@typescript/typescript-linux-loong64": "7.0.2", "@typescript/typescript-linux-mips64el": "7.0.2", "@typescript/typescript-linux-ppc64": "7.0.2", "@typescript/typescript-linux-riscv64": "7.0.2", "@typescript/typescript-linux-s390x": "7.0.2", "@typescript/typescript-linux-x64": "7.0.2", "@typescript/typescript-netbsd-arm64": "7.0.2", "@typescript/typescript-netbsd-x64": "7.0.2", "@typescript/typescript-openbsd-arm64": "7.0.2", "@typescript/typescript-openbsd-x64": "7.0.2", "@typescript/typescript-sunos-x64": "7.0.2", "@typescript/typescript-win32-arm64": "7.0.2", "@typescript/typescript-win32-x64": "7.0.2" }, "bin": { "tsc": "bin/tsc" } }, "sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA=="], "ufo": ["ufo@1.6.4", "", {}, "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA=="], @@ -3902,7 +3970,7 @@ "undici": ["undici@7.28.0", "", {}, "sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA=="], - "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + "undici-types": ["undici-types@7.10.0", "", {}, "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag=="], "unfetch": ["unfetch@4.2.0", "", {}, "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA=="], @@ -4350,11 +4418,7 @@ "@shuding/opentype.js/fflate": ["fflate@0.7.4", "", {}, "sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw=="], - "@sim/realtime/@types/node": ["@types/node@24.2.1", "", { "dependencies": { "undici-types": "~7.10.0" } }, "sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ=="], - - "@sim/runtime-secrets/@types/node": ["@types/node@24.2.1", "", { "dependencies": { "undici-types": "~7.10.0" } }, "sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ=="], - - "@sim/security/@types/node": ["@types/node@24.2.1", "", { "dependencies": { "undici-types": "~7.10.0" } }, "sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ=="], + "@sim/db/@types/node": ["@types/node@22.19.21", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-VMeFBSCKQKmm2swI2kW51SFusDqekC6q9trBCvJ/JliDchFSuoYYKN7yVNjPthP1HKZcx3U1gI/wTcEBjEFKTA=="], "@smithy/middleware-compression/fflate": ["fflate@0.8.1", "", {}, "sha512-/exOvEuc+/iaUm105QIiOt4LpBdMTWsXxqR0HDF35vx3fmaKzw7354gTilCh5rkzEt8WYyG//ku3h3nRmd7CHQ=="], @@ -4422,14 +4486,8 @@ "@trigger.dev/sdk/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="], - "@types/busboy/@types/node": ["@types/node@24.2.1", "", { "dependencies": { "undici-types": "~7.10.0" } }, "sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ=="], - "@types/cors/@types/node": ["@types/node@25.9.3", "", { "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } }, "sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg=="], - "@types/fluent-ffmpeg/@types/node": ["@types/node@24.2.1", "", { "dependencies": { "undici-types": "~7.10.0" } }, "sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ=="], - - "@types/jsdom/@types/node": ["@types/node@24.2.1", "", { "dependencies": { "undici-types": "~7.10.0" } }, "sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ=="], - "@types/node-fetch/@types/node": ["@types/node@25.9.3", "", { "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } }, "sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg=="], "@types/nodemailer/@types/node": ["@types/node@25.9.3", "", { "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } }, "sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg=="], @@ -4496,6 +4554,8 @@ "d3-sankey/d3-shape": ["d3-shape@1.3.7", "", { "dependencies": { "d3-path": "1" } }, "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw=="], + "docs/@types/node": ["@types/node@22.19.21", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-VMeFBSCKQKmm2swI2kW51SFusDqekC6q9trBCvJ/JliDchFSuoYYKN7yVNjPthP1HKZcx3U1gI/wTcEBjEFKTA=="], + "docs/lucide-react": ["lucide-react@0.511.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-VK5a2ydJ7xm8GvBeKLS9mu1pVK6ucef9780JVUjw6bAjJL/QXnd4Y0p7SPeOUMC27YhzNCZvm5d/QX0Tp3rc0w=="], "docs/tailwind-merge": ["tailwind-merge@3.6.0", "", {}, "sha512-uxL7qAVQriqRQPAyK3pj66VqskWqoZ37PW94jwOTwNfq/z9oyu1V+eqrZqtR2+fCiXdYOZe/Modt8GtvqNzu+w=="], @@ -4674,6 +4734,8 @@ "posthog-js/fflate": ["fflate@0.4.8", "", {}, "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA=="], + "pptxgenjs/@types/node": ["@types/node@22.19.21", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-VMeFBSCKQKmm2swI2kW51SFusDqekC6q9trBCvJ/JliDchFSuoYYKN7yVNjPthP1HKZcx3U1gI/wTcEBjEFKTA=="], + "protobufjs/@types/node": ["@types/node@25.9.3", "", { "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } }, "sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg=="], "proxy-addr/ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="], @@ -4702,8 +4764,6 @@ "sharp/semver": ["semver@7.8.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA=="], - "sim/@types/node": ["@types/node@24.2.1", "", { "dependencies": { "undici-types": "~7.10.0" } }, "sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ=="], - "sim/tailwindcss": ["tailwindcss@3.4.19", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", "jiti": "^1.21.7", "lilconfig": "^3.1.3", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", "postcss-nested": "^6.2.0", "postcss-selector-parser": "^6.1.2", "resolve": "^1.22.8", "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" } }, "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ=="], "simstudio/@types/node": ["@types/node@20.19.43", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA=="], @@ -4740,6 +4800,8 @@ "tough-cookie/tldts": ["tldts@6.1.86", "", { "dependencies": { "tldts-core": "^6.1.86" }, "bin": { "tldts": "bin/cli.js" } }, "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ=="], + "tsconfck/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + "tsx/esbuild": ["esbuild@0.28.1", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.28.1", "@esbuild/android-arm": "0.28.1", "@esbuild/android-arm64": "0.28.1", "@esbuild/android-x64": "0.28.1", "@esbuild/darwin-arm64": "0.28.1", "@esbuild/darwin-x64": "0.28.1", "@esbuild/freebsd-arm64": "0.28.1", "@esbuild/freebsd-x64": "0.28.1", "@esbuild/linux-arm": "0.28.1", "@esbuild/linux-arm64": "0.28.1", "@esbuild/linux-ia32": "0.28.1", "@esbuild/linux-loong64": "0.28.1", "@esbuild/linux-mips64el": "0.28.1", "@esbuild/linux-ppc64": "0.28.1", "@esbuild/linux-riscv64": "0.28.1", "@esbuild/linux-s390x": "0.28.1", "@esbuild/linux-x64": "0.28.1", "@esbuild/netbsd-arm64": "0.28.1", "@esbuild/netbsd-x64": "0.28.1", "@esbuild/openbsd-arm64": "0.28.1", "@esbuild/openbsd-x64": "0.28.1", "@esbuild/openharmony-arm64": "0.28.1", "@esbuild/sunos-x64": "0.28.1", "@esbuild/win32-arm64": "0.28.1", "@esbuild/win32-ia32": "0.28.1", "@esbuild/win32-x64": "0.28.1" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw=="], "twilio/https-proxy-agent": ["https-proxy-agent@5.0.1", "", { "dependencies": { "agent-base": "6", "debug": "4" } }, "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA=="], @@ -4872,11 +4934,7 @@ "@radix-ui/react-visually-hidden/@radix-ui/react-primitive/@radix-ui/react-slot": ["@radix-ui/react-slot@1.3.0", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.3" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-MojKku4U/miO8Av4Dkb+ctMAQx7JmY96LmtDQlAarCRtd7rN52QCSzBF+XAvr5S6coSVj9HEPBgHAHKEJVk/WA=="], - "@sim/realtime/@types/node/undici-types": ["undici-types@7.10.0", "", {}, "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag=="], - - "@sim/runtime-secrets/@types/node/undici-types": ["undici-types@7.10.0", "", {}, "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag=="], - - "@sim/security/@types/node/undici-types": ["undici-types@7.10.0", "", {}, "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag=="], + "@sim/db/@types/node/undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], "@trigger.dev/core/@opentelemetry/api-logs/@opentelemetry/api": ["@opentelemetry/api@1.9.1", "", {}, "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q=="], @@ -4912,14 +4970,8 @@ "@trigger.dev/core/socket.io-client/engine.io-client": ["engine.io-client@6.5.4", "", { "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1", "engine.io-parser": "~5.2.1", "ws": "~8.17.1", "xmlhttprequest-ssl": "~2.0.0" } }, "sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ=="], - "@types/busboy/@types/node/undici-types": ["undici-types@7.10.0", "", {}, "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag=="], - "@types/cors/@types/node/undici-types": ["undici-types@7.24.6", "", {}, "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg=="], - "@types/fluent-ffmpeg/@types/node/undici-types": ["undici-types@7.10.0", "", {}, "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag=="], - - "@types/jsdom/@types/node/undici-types": ["undici-types@7.10.0", "", {}, "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag=="], - "@types/node-fetch/@types/node/undici-types": ["undici-types@7.24.6", "", {}, "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg=="], "@types/nodemailer/@types/node/undici-types": ["undici-types@7.24.6", "", {}, "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg=="], @@ -4956,6 +5008,8 @@ "d3-sankey/d3-shape/d3-path": ["d3-path@1.0.9", "", {}, "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg=="], + "docs/@types/node/undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + "docx/@types/node/undici-types": ["undici-types@7.24.6", "", {}, "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg=="], "engine.io/@types/node/undici-types": ["undici-types@7.24.6", "", {}, "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg=="], @@ -5158,6 +5212,8 @@ "posthog-js/@opentelemetry/sdk-logs/@opentelemetry/resources": ["@opentelemetry/resources@2.2.0", "", { "dependencies": { "@opentelemetry/core": "2.2.0", "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A=="], + "pptxgenjs/@types/node/undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + "protobufjs/@types/node/undici-types": ["undici-types@7.24.6", "", {}, "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg=="], "react-email/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], @@ -5170,14 +5226,16 @@ "rimraf/glob/path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], - "sim/@types/node/undici-types": ["undici-types@7.10.0", "", {}, "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag=="], - "sim/tailwindcss/chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], "sim/tailwindcss/jiti": ["jiti@1.21.7", "", { "bin": { "jiti": "bin/jiti.js" } }, "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A=="], "sim/tailwindcss/postcss-selector-parser": ["postcss-selector-parser@6.1.4", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ=="], + "simstudio-ts-sdk/@types/node/undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + + "simstudio/@types/node/undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + "tar-stream/readable-stream/string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], "tough-cookie/tldts/tldts-core": ["tldts-core@6.1.86", "", {}, "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA=="], diff --git a/bunfig.toml b/bunfig.toml index b74c34f6800..27722f016f1 100644 --- a/bunfig.toml +++ b/bunfig.toml @@ -1,6 +1,6 @@ [install] exact = true -minimumReleaseAge = 604800 +minimumReleaseAge = 0 [run] env = { NEXT_PUBLIC_APP_URL = "http://localhost:3000" } diff --git a/packages/audit/package.json b/packages/audit/package.json index 19510233d97..caaf323d8d5 100644 --- a/packages/audit/package.json +++ b/packages/audit/package.json @@ -33,7 +33,8 @@ "devDependencies": { "@sim/testing": "workspace:*", "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3", + "@types/node": "24.2.1", + "typescript": "^7.0.2", "vitest": "^4.1.0" } } diff --git a/packages/auth/package.json b/packages/auth/package.json index b07f35107c6..4d960fd53b7 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -28,6 +28,7 @@ }, "devDependencies": { "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3" + "@types/node": "24.2.1", + "typescript": "^7.0.2" } } diff --git a/packages/cli/package.json b/packages/cli/package.json index fe4d487c3d3..9b0f6bb9d6c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -49,6 +49,6 @@ "@sim/tsconfig": "workspace:*", "@types/inquirer": "^8.2.6", "@types/node": "^20.5.1", - "typescript": "^5.7.3" + "typescript": "^7.0.2" } } diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json index d69820f2a97..dd8c62518df 100644 --- a/packages/cli/tsconfig.json +++ b/packages/cli/tsconfig.json @@ -2,7 +2,8 @@ "extends": "@sim/tsconfig/library-build.json", "compilerOptions": { "target": "ES2020", - "moduleResolution": "node", + "module": "nodenext", + "moduleResolution": "nodenext", "outDir": "./dist", "rootDir": "./src" }, diff --git a/packages/db/package.json b/packages/db/package.json index 9b4a5c07b79..3b8b133cf7d 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -40,6 +40,6 @@ "@sim/tsconfig": "workspace:*", "drizzle-kit": "^0.31.4", "@types/node": "^22.10.5", - "typescript": "^5.7.3" + "typescript": "^7.0.2" } } diff --git a/packages/db/tsconfig.json b/packages/db/tsconfig.json index dc837d829ef..d4ad559627c 100644 --- a/packages/db/tsconfig.json +++ b/packages/db/tsconfig.json @@ -1,7 +1,6 @@ { "extends": "@sim/tsconfig/library.json", "compilerOptions": { - "baseUrl": ".", "paths": { "@sim/db": ["./index.ts"], "@sim/db/*": ["./*"] diff --git a/packages/emcn/package.json b/packages/emcn/package.json index e2e73281ec5..7aaa3d4c467 100644 --- a/packages/emcn/package.json +++ b/packages/emcn/package.json @@ -61,7 +61,7 @@ "prismjs": "^1.30.0", "react": "19.2.4", "react-dom": "19.2.4", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vitest": "^4.1.0" } } diff --git a/packages/emcn/src/css-modules.d.ts b/packages/emcn/src/css-modules.d.ts index 6f79bf12d1e..f0caf6ef9c0 100644 --- a/packages/emcn/src/css-modules.d.ts +++ b/packages/emcn/src/css-modules.d.ts @@ -6,3 +6,5 @@ declare module '*.module.css' { const classes: { readonly [key: string]: string } export default classes } + +declare module '*.css' diff --git a/packages/logger/package.json b/packages/logger/package.json index ac1bbb59810..0e8135a81cc 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -30,7 +30,8 @@ }, "devDependencies": { "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3", + "@types/node": "24.2.1", + "typescript": "^7.0.2", "vitest": "^4.1.0" } } diff --git a/packages/logger/src/index.ts b/packages/logger/src/index.ts index c17294ce98a..25e6e3f9ae3 100644 --- a/packages/logger/src/index.ts +++ b/packages/logger/src/index.ts @@ -201,7 +201,10 @@ export class Logger { private shouldLog(level: LogLevel): boolean { if (!this.config.enabled) return false - if (getNodeEnv() === 'production' && typeof window !== 'undefined') { + if ( + getNodeEnv() === 'production' && + typeof (globalThis as { window?: unknown }).window !== 'undefined' + ) { return false } diff --git a/packages/platform-authz/package.json b/packages/platform-authz/package.json index adebe6563fa..fd989954ec1 100644 --- a/packages/platform-authz/package.json +++ b/packages/platform-authz/package.json @@ -36,6 +36,7 @@ }, "devDependencies": { "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3" + "@types/node": "24.2.1", + "typescript": "^7.0.2" } } diff --git a/packages/realtime-protocol/package.json b/packages/realtime-protocol/package.json index 4f026e9d2ac..a4248404adc 100644 --- a/packages/realtime-protocol/package.json +++ b/packages/realtime-protocol/package.json @@ -35,6 +35,6 @@ }, "devDependencies": { "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3" + "typescript": "^7.0.2" } } diff --git a/packages/runtime-secrets/package.json b/packages/runtime-secrets/package.json index ee57201f3d1..732b6b81de0 100644 --- a/packages/runtime-secrets/package.json +++ b/packages/runtime-secrets/package.json @@ -32,7 +32,7 @@ "devDependencies": { "@sim/tsconfig": "workspace:*", "@types/node": "24.2.1", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vitest": "^4.1.0" } } diff --git a/packages/security/package.json b/packages/security/package.json index c6fefac2fe4..754e354b983 100644 --- a/packages/security/package.json +++ b/packages/security/package.json @@ -44,7 +44,7 @@ "devDependencies": { "@sim/tsconfig": "workspace:*", "@types/node": "24.2.1", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vitest": "^4.1.0" } } diff --git a/packages/testing/package.json b/packages/testing/package.json index e729096f1ef..216129ae6c1 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -53,7 +53,7 @@ }, "devDependencies": { "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vitest": "^4.1.0" }, "dependencies": { diff --git a/packages/testing/tsconfig.json b/packages/testing/tsconfig.json index 052e9d01c74..e08d8f7ee29 100644 --- a/packages/testing/tsconfig.json +++ b/packages/testing/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "@sim/tsconfig/library.json", "compilerOptions": { - "baseUrl": ".", + "lib": ["ES2022", "DOM"], "paths": { "@sim/testing/*": ["./src/*"] } diff --git a/packages/ts-sdk/package.json b/packages/ts-sdk/package.json index 85589da2380..b85e704e9ea 100644 --- a/packages/ts-sdk/package.json +++ b/packages/ts-sdk/package.json @@ -42,7 +42,7 @@ "@sim/tsconfig": "workspace:*", "@types/node": "^20.5.1", "@vitest/coverage-v8": "^4.1.0", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vitest": "^4.1.0" }, "engines": { diff --git a/packages/ts-sdk/tsconfig.json b/packages/ts-sdk/tsconfig.json index 46c1cc18ad2..7e2e51f66e9 100644 --- a/packages/ts-sdk/tsconfig.json +++ b/packages/ts-sdk/tsconfig.json @@ -2,9 +2,9 @@ "extends": "@sim/tsconfig/library-build.json", "compilerOptions": { "target": "ES2020", - "module": "ES2020", + "module": "nodenext", "lib": ["ES2020"], - "moduleResolution": "node", + "moduleResolution": "nodenext", "outDir": "./dist", "rootDir": "./src" }, diff --git a/packages/tsconfig/base.json b/packages/tsconfig/base.json index f3cc7a966a3..213b2c09f9f 100644 --- a/packages/tsconfig/base.json +++ b/packages/tsconfig/base.json @@ -7,6 +7,7 @@ "module": "ESNext", "moduleResolution": "bundler", "moduleDetection": "force", + "types": ["node"], "strict": true, "esModuleInterop": true, diff --git a/packages/utils/package.json b/packages/utils/package.json index e8571f95dcd..db5ffdc6768 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -63,7 +63,7 @@ "dependencies": {}, "devDependencies": { "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3", + "typescript": "^7.0.2", "vitest": "^4.1.0" } } diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 1ffa3d2e844..f24122d580b 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -1,5 +1,8 @@ { "extends": "@sim/tsconfig/library.json", + "compilerOptions": { + "lib": ["ES2022", "DOM"] + }, "include": ["src/**/*"], "exclude": ["node_modules", "dist"] } diff --git a/packages/workflow-persistence/package.json b/packages/workflow-persistence/package.json index 00a99f1dfff..3b3275b60c1 100644 --- a/packages/workflow-persistence/package.json +++ b/packages/workflow-persistence/package.json @@ -52,6 +52,7 @@ }, "devDependencies": { "@sim/tsconfig": "workspace:*", - "typescript": "^5.7.3" + "@types/node": "24.2.1", + "typescript": "^7.0.2" } } diff --git a/packages/workflow-renderer/package.json b/packages/workflow-renderer/package.json index 2fbefefdbbe..d31bb33c895 100644 --- a/packages/workflow-renderer/package.json +++ b/packages/workflow-renderer/package.json @@ -44,6 +44,6 @@ "reactflow": "^11.11.4", "remark-breaks": "^4.0.0", "streamdown": "2.5.0", - "typescript": "^5.7.3" + "typescript": "^7.0.2" } } diff --git a/packages/workflow-renderer/src/css-modules.d.ts b/packages/workflow-renderer/src/css-modules.d.ts index 21599b894ea..25bd57c31c6 100644 --- a/packages/workflow-renderer/src/css-modules.d.ts +++ b/packages/workflow-renderer/src/css-modules.d.ts @@ -7,3 +7,5 @@ declare module '*.module.css' { const classes: { readonly [key: string]: string } export default classes } + +declare module '*.css' diff --git a/packages/workflow-types/package.json b/packages/workflow-types/package.json index cc041b0caaf..0dcde040f24 100644 --- a/packages/workflow-types/package.json +++ b/packages/workflow-types/package.json @@ -32,6 +32,6 @@ "devDependencies": { "@sim/tsconfig": "workspace:*", "reactflow": "^11.11.4", - "typescript": "^5.7.3" + "typescript": "^7.0.2" } } From 1ee98a61f2c4e81fb024ce9b704216d77da8190f Mon Sep 17 00:00:00 2001 From: Waleed Date: Wed, 8 Jul 2026 17:33:15 -0700 Subject: [PATCH 19/27] fix(triggers): repair broken idempotency dedup across 4 webhook/polling triggers (#5524) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(instantly): add idempotency dedup for webhook deliveries Instantly webhook deliveries had no extractIdempotencyId, so retried deliveries were never deduped. Instantly doesn't send a delivery-id header, so key on email_id when present (unique per email/reply) and fall back to a content-based key (event_type + campaign_id + lead_email + event timestamp) otherwise. Added instantly.test.ts covering auth, event matching, formatInput/output alignment, idempotency, and the subscription lifecycle. * fix(gitlab): add delivery idempotency and fix reserved type-field collision risk extractIdempotencyId was missing entirely, so GitLab's automatic webhook retries (triggered after timeouts/5xx, up to 4 consecutive failures before temporary disable) would re-execute the workflow as a brand-new event. Added a content-derived fallback key (checkout_sha for push, object id + updated_at otherwise) since GitLab's X-Gitlab-Event-UUID delivery header isn't available to extractIdempotencyId (body-only). Also renamed the Issue Hook payload's object_attributes.type (GitLab 17.2+ work item type) to work_item_type in formatInput and exposed it in buildGitLabIssueOutputs, since 'type' collides with the TriggerOutput meta-key. Added detailed_merge_status to the merge request outputs to match the deprecation of merge_status. Added apps/sim/lib/webhooks/providers/gitlab.test.ts covering verifyAuth, matchEvent, formatInput, and extractIdempotencyId. * fix(gmail): correct labels output type and add formatInput/schema alignment test The gmail_poller trigger declared its `labels` output as type: 'string' while the description and actual runtime value (email.labelIds) are a string array. Changed to type: 'json' to match the shape actually delivered, consistent with how other triggers type array-of-string fields. Added apps/sim/lib/webhooks/providers/gmail.test.ts covering gmailHandler.formatInput passthrough behavior and a regression check that every key formatInput can deliver on `email` matches a key declared in the trigger's output schema. * fix(linear): tighten replay window, dedupe HMAC verify, add idempotency fallback - Reuse the shared createHmacVerifier helper for Linear's signature check instead of hand-rolling header/secret validation. - Tighten the webhookTimestamp replay-protection skew from 5 minutes to 60 seconds, matching Linear's documented recommendation. - Add extractIdempotencyId as a content-based fallback (type:action:id: updatedAt) for when the Linear-Delivery header is unavailable. - Remove unused teamOutputs/stateOutputs dead code from triggers/linear/utils.ts. * fix(gitlab): preserve raw object_attributes.type alongside work_item_type formatInput previously spread the entire raw body, so object_attributes.type (GitLab 17.2+ work item type) was already reachable via a manual expression even though undocumented. The earlier fix renamed it to work_item_type in the delivered data too, which would silently break any pre-existing workflow referencing the raw path. Keep both keys in the delivered data — this is plain passthrough data, not schema-constrained, so there's no reserved-key collision risk in doing so; only the declared *schema* needs the work_item_type name. * fix(instantly): differentiate idempotency key by timestamp when email_id repeats Instantly's is_first field ("whether this is the first event of this type for the lead") only makes sense if the same event_type can fire more than once for the same email_id: every open of the same email, every click, and every reply in a thread all share one email_id (Instantly's reply_to_uuid). Keying idempotency on email_id alone collapsed all of those distinct, legitimate deliveries into a single dedup slot, so every open/click/reply after the first was silently dropped for the 7-day idempotency TTL. Append timestamp (fixed per event occurrence, confirmed not to regenerate on retry) to keep the key both retry-stable and unique per occurrence. * fix(linear): revert replay-window tightening — retry timestamp semantics unverified The prior pass tightened LINEAR_WEBHOOK_TIMESTAMP_SKEW_MS from 5 minutes to Linear's suggested 60 seconds, justified by the claim that webhookTimestamp is re-stamped fresh on every delivery/retry attempt. That claim is not stated anywhere in Linear's webhook docs (verified against the raw docs page directly, including the exact wording around retries and the webhookTimestamp field) — the docs only say it is "the time when the webhook was sent" with no mention of retry behavior. A third-party implementation guide explicitly recommends a 5-minute window instead of Linear's literal 60s suggestion, citing this same ambiguity. If webhookTimestamp is actually fixed to the original event time (not refreshed per attempt), a strict 60s window would silently and permanently reject every one of Linear's own 1hr/6hr retry deliveries following any transient outage on our side, since Linear gives up after 3 failed attempts. Idempotency dedup (Linear-Delivery header / extractIdempotencyId fallback) already prevents double-processing of replayed/retried deliveries within a wider window, so the extra replay-protection from matching the literal 60s suggestion is marginal next to the risk of dropping real business events. Reverting to the 5-minute window pending explicit confirmation from Linear on retry timestamp semantics. * fix(gitlab): include ref in push idempotency key to avoid branch-deletion collisions GitLab sets checkout_sha to null on branch/tag deletion, so the extractIdempotencyId fallback (checkout_sha || after) degenerated to the all-zeros SHA for every deletion. Without ref in the key, two unrelated branch deletions in the same project produced the same idempotency key, silently dropping the second (and any subsequent) legitimate trigger execution as a false duplicate. * fix(gmail): use 'array' not 'json' for poller labels output type The prior pass changed the gmail_poller trigger's `labels` output from 'string' to 'json', which is directionally correct (labelIds is a string array, not a string) but not the precise type. The codebase's own PrimitiveValueType union has a dedicated 'array' variant, used by sibling triggers with identical semantics (github issue/PR triggers, Jira triggers all declare their `labels` field as type: 'array'). Concretely, 'json' vs 'array' diverges in generateMockValue (apps/sim/lib/workflows/triggers/trigger-utils.ts), which backs the auto-generated "Event Payload Example" sample payload shown in the trigger config UI (apps/sim/triggers/index.ts, gated on trigger.id.includes('poller') — gmail_poller qualifies). 'json' mocks as a single generic object ({id, name, status}), actively misleading for a field that is always an array. 'array' mocks as a list, matching the true shape (Gmail API docs confirm labelIds is a string array on the Message resource). No behavioral difference in output-path validation/resolution (isPathInSchema, generateOutputPaths) since the field declares no items/properties either way — this is purely a type-declaration correctness fix, verified against Gmail API docs and cross-checked against every other output field in poller.ts (all match runtime shape). * docs(triggers): correct GitLab retry claim, convert inline comments to TSDoc GitLab does not automatically retry failed webhook deliveries — a failed request only counts toward auto-disabling the webhook (4 consecutive failures = temporary disable, 40 = permanent), and re-delivery only happens via a manual "Resend Request" (UI or API), which carries the same webhook-id/Idempotency-Key/X-Gitlab-Event-UUID headers as the original delivery. Those headers are already in the shared idempotency service's allowlist and checked ahead of extractIdempotencyId, so the body-based fallback matters for the rare case those headers are stripped in transit — not for "automatic retries" as previously stated. Verified directly against docs.gitlab.com. Also replaced inline `//` comments across the gitlab/gmail/linear/ instantly provider and trigger files with TSDoc blocks on the relevant declaration where the reasoning was non-obvious, or removed them outright where they only restated adjacent code. * fix(triggers): close two Greptile-flagged crash/collision gaps instantly: the timestamp-present branch was fixed for the email_id collision risk, but the no-timestamp fallback still keyed on bare email_id — same collision risk, unfixed. Return null instead so dedup is skipped rather than risking a false collision between repeat opens/ clicks/replies on the same email. linear: extractIdempotencyId cast `body` straight to a Record without checking it was actually an object first, so a JSON `null` body (no Linear-Delivery header available) would throw on `b.type` and turn a malformed payload into a webhook 500 instead of a clean skip. * fix(linear): guard matchEvent and formatInput against a null body Found during a final backwards-compat pass, same class of bug Greptile just caught in extractIdempotencyId: both cast body straight to a Record without checking it was actually an object, so a genuinely null/malformed body would throw instead of degrading gracefully. gitlab.ts (asRecord's `|| {}`) and instantly.ts (isRecordLike checks) already guard this everywhere; linear.ts was the one inconsistent provider. Uses the same isRecordLike helper as instantly.ts. * fix(gitlab): distinguish pipeline lifecycle transitions in idempotency key Pipeline Hook payloads have no updated_at field (confirmed against docs.gitlab.com — only Issue/Merge Request/Note hooks reliably include it), so every lifecycle transition of the same pipeline (pending -> running -> success/failed) collapsed onto the identical fallback key and later real transitions were skipped as duplicates. Falls back to status + finished_at/created_at when updated_at is absent. --- .../sim/lib/webhooks/providers/gitlab.test.ts | 229 ++++++++++ apps/sim/lib/webhooks/providers/gitlab.ts | 85 +++- apps/sim/lib/webhooks/providers/gmail.test.ts | 62 +++ .../lib/webhooks/providers/instantly.test.ts | 405 ++++++++++++++++++ apps/sim/lib/webhooks/providers/instantly.ts | 32 ++ .../sim/lib/webhooks/providers/linear.test.ts | 98 +++++ apps/sim/lib/webhooks/providers/linear.ts | 73 +++- apps/sim/triggers/gitlab/utils.ts | 16 +- apps/sim/triggers/gmail/poller.ts | 2 +- apps/sim/triggers/linear/utils.ts | 58 --- 10 files changed, 967 insertions(+), 93 deletions(-) create mode 100644 apps/sim/lib/webhooks/providers/gitlab.test.ts create mode 100644 apps/sim/lib/webhooks/providers/gmail.test.ts create mode 100644 apps/sim/lib/webhooks/providers/instantly.test.ts diff --git a/apps/sim/lib/webhooks/providers/gitlab.test.ts b/apps/sim/lib/webhooks/providers/gitlab.test.ts new file mode 100644 index 00000000000..5ac2143a252 --- /dev/null +++ b/apps/sim/lib/webhooks/providers/gitlab.test.ts @@ -0,0 +1,229 @@ +/** + * @vitest-environment node + */ +import { NextRequest } from 'next/server' +import { describe, expect, it } from 'vitest' +import { gitlabHandler } from '@/lib/webhooks/providers/gitlab' +import { isGitLabEventMatch } from '@/triggers/gitlab/utils' + +function reqWithHeaders(headers: Record): NextRequest { + return new NextRequest('http://localhost/test', { headers }) +} + +describe('GitLab webhook provider', () => { + it('verifyAuth rejects when webhookSecret is missing', async () => { + const res = await gitlabHandler.verifyAuth!({ + request: reqWithHeaders({}), + rawBody: '{}', + requestId: 't1', + providerConfig: {}, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('verifyAuth rejects when X-Gitlab-Token header is missing', async () => { + const res = await gitlabHandler.verifyAuth!({ + request: reqWithHeaders({}), + rawBody: '{}', + requestId: 't2', + providerConfig: { webhookSecret: 'my-secret' }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('verifyAuth rejects when the token does not match', async () => { + const res = await gitlabHandler.verifyAuth!({ + request: reqWithHeaders({ 'X-Gitlab-Token': 'wrong' }), + rawBody: '{}', + requestId: 't3', + providerConfig: { webhookSecret: 'my-secret' }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('verifyAuth accepts a matching X-Gitlab-Token', async () => { + const res = await gitlabHandler.verifyAuth!({ + request: reqWithHeaders({ 'X-Gitlab-Token': 'my-secret' }), + rawBody: '{}', + requestId: 't4', + providerConfig: { webhookSecret: 'my-secret' }, + webhook: {}, + workflow: {}, + }) + expect(res).toBeNull() + }) + + it('isGitLabEventMatch matches the configured trigger to its object_kind', () => { + expect(isGitLabEventMatch('gitlab_push', 'push')).toBe(true) + expect(isGitLabEventMatch('gitlab_push', 'issue')).toBe(false) + expect(isGitLabEventMatch('gitlab_comment', 'note')).toBe(true) + expect(isGitLabEventMatch('gitlab_webhook', 'anything')).toBe(true) + }) + + it('matchEvent passes through all events for the all-events trigger', async () => { + const result = await gitlabHandler.matchEvent!({ + body: { object_kind: 'issue' }, + requestId: 't5', + providerConfig: { triggerId: 'gitlab_webhook' }, + webhook: {}, + workflow: {}, + request: reqWithHeaders({}), + }) + expect(result).toBe(true) + }) + + it('matchEvent filters events that do not match the configured trigger', async () => { + const result = await gitlabHandler.matchEvent!({ + body: { object_kind: 'issue' }, + requestId: 't6', + providerConfig: { triggerId: 'gitlab_push' }, + webhook: {}, + workflow: {}, + request: reqWithHeaders({}), + }) + expect(result).toBe(false) + }) + + it('formatInput derives event_type and branch from the push payload', async () => { + const { input } = await gitlabHandler.formatInput!({ + body: { object_kind: 'push', ref: 'refs/heads/main', checkout_sha: 'abc123' }, + headers: { 'x-gitlab-event': 'Push Hook' }, + requestId: 't7', + webhook: {}, + workflow: { id: 'w', userId: 'u' }, + }) + const i = input as Record + expect(i.event_type).toBe('Push Hook') + expect(i.branch).toBe('main') + expect(i.checkout_sha).toBe('abc123') + }) + + it('formatInput exposes object_attributes.type as work_item_type on issue payloads, keeping the raw type key too', async () => { + const { input } = await gitlabHandler.formatInput!({ + body: { + object_kind: 'issue', + object_attributes: { id: 1, iid: 2, title: 'Bug', type: 'Issue' }, + }, + headers: { 'x-gitlab-event': 'Issue Hook' }, + requestId: 't8', + webhook: {}, + workflow: { id: 'w', userId: 'u' }, + }) + const i = input as Record + const attrs = i.object_attributes as Record + expect(attrs.work_item_type).toBe('Issue') + expect(attrs.type).toBe('Issue') + expect(attrs.title).toBe('Bug') + }) + + it('extractIdempotencyId derives a stable key for push events from checkout_sha', () => { + const body = { + object_kind: 'push', + project: { id: 42 }, + ref: 'refs/heads/main', + checkout_sha: 'abc123', + } + const first = gitlabHandler.extractIdempotencyId!(body) + const second = gitlabHandler.extractIdempotencyId!({ ...body }) + expect(first).toBe(second) + expect(first).toContain('abc123') + expect(first).toContain('42') + }) + + it('extractIdempotencyId does not collide across different branches deleted in the same project', () => { + const deleteMain = { + object_kind: 'push', + project: { id: 42 }, + ref: 'refs/heads/main', + checkout_sha: null, + after: '0000000000000000000000000000000000000000', + } + const deleteFeature = { + object_kind: 'push', + project: { id: 42 }, + ref: 'refs/heads/feature', + checkout_sha: null, + after: '0000000000000000000000000000000000000000', + } + const first = gitlabHandler.extractIdempotencyId!(deleteMain) + const second = gitlabHandler.extractIdempotencyId!(deleteFeature) + expect(first).not.toBeNull() + expect(second).not.toBeNull() + expect(first).not.toBe(second) + }) + + it('extractIdempotencyId is stable for a repeated delivery of the same branch deletion', () => { + const body = { + object_kind: 'push', + project: { id: 42 }, + ref: 'refs/heads/main', + checkout_sha: null, + after: '0000000000000000000000000000000000000000', + } + const first = gitlabHandler.extractIdempotencyId!(body) + const second = gitlabHandler.extractIdempotencyId!({ ...body }) + expect(first).toBe(second) + }) + + it('extractIdempotencyId derives a stable key for issue events from object_attributes', () => { + const body = { + object_kind: 'issue', + project: { id: 7 }, + object_attributes: { id: 99, updated_at: '2026-01-01T00:00:00.000Z' }, + } + const first = gitlabHandler.extractIdempotencyId!(body) + const second = gitlabHandler.extractIdempotencyId!({ ...body }) + expect(first).toBe(second) + expect(first).toContain('99') + expect(first).toContain('7') + }) + + it('extractIdempotencyId distinguishes pipeline lifecycle transitions despite no updated_at', () => { + const pending = gitlabHandler.extractIdempotencyId!({ + object_kind: 'pipeline', + project: { id: 7 }, + object_attributes: { id: 31, status: 'pending', created_at: '2026-01-01T00:00:00Z' }, + }) + const running = gitlabHandler.extractIdempotencyId!({ + object_kind: 'pipeline', + project: { id: 7 }, + object_attributes: { id: 31, status: 'running', created_at: '2026-01-01T00:00:00Z' }, + }) + const success = gitlabHandler.extractIdempotencyId!({ + object_kind: 'pipeline', + project: { id: 7 }, + object_attributes: { + id: 31, + status: 'success', + created_at: '2026-01-01T00:00:00Z', + finished_at: '2026-01-01T00:03:00Z', + }, + }) + expect(pending).not.toBeNull() + expect(pending).not.toBe(running) + expect(running).not.toBe(success) + + const retryOfSuccess = gitlabHandler.extractIdempotencyId!({ + object_kind: 'pipeline', + project: { id: 7 }, + object_attributes: { + id: 31, + status: 'success', + created_at: '2026-01-01T00:00:00Z', + finished_at: '2026-01-01T00:03:00Z', + }, + }) + expect(success).toBe(retryOfSuccess) + }) + + it('extractIdempotencyId returns null when there is no stable identifier', () => { + expect(gitlabHandler.extractIdempotencyId!({ object_kind: 'push' })).toBeNull() + expect(gitlabHandler.extractIdempotencyId!({ object_kind: 'issue' })).toBeNull() + }) +}) diff --git a/apps/sim/lib/webhooks/providers/gitlab.ts b/apps/sim/lib/webhooks/providers/gitlab.ts index d812ee19d92..2d2d9e66f58 100644 --- a/apps/sim/lib/webhooks/providers/gitlab.ts +++ b/apps/sim/lib/webhooks/providers/gitlab.ts @@ -99,16 +99,87 @@ export const gitlabHandler: WebhookProviderHandler = { return true }, + /** + * GitLab 17.2+ adds a `type` field inside `object_attributes` on Issue Hook + * payloads (e.g. "Issue", "Incident", "Task"). `type` is a reserved + * TriggerOutput meta-key, so it can't be declared in the output schema + * under that name — exposed there as `work_item_type` instead. The raw + * `type` key is kept in the delivered data alongside it (this is plain + * passthrough data, not schema-constrained) so a workflow already + * referencing the undocumented raw path keeps working. + */ async formatInput({ body, headers }: FormatInputContext): Promise { const b = asRecord(body) const eventType = headers['x-gitlab-event'] || '' const ref = (b.ref as string) || '' const branch = ref.replace('refs/heads/', '') - return { - input: { ...b, event_type: eventType, branch }, + const objectAttributes = b.object_attributes + let input: Record = { ...b, event_type: eventType, branch } + if ( + objectAttributes && + typeof objectAttributes === 'object' && + !Array.isArray(objectAttributes) + ) { + const workItemType = (objectAttributes as Record).type + if (workItemType !== undefined) { + input = { + ...input, + object_attributes: { ...objectAttributes, work_item_type: workItemType }, + } + } } + + return { input } }, + /** + * GitLab does not automatically retry a failed delivery — a failed request + * only counts toward auto-disabling the webhook (4 consecutive failures + * disables it temporarily, 40 permanently), and re-delivery only happens + * via a manual "Resend Request" (UI or API), which carries the same + * `webhook-id`/`Idempotency-Key`/`X-Gitlab-Event-UUID` headers as the + * original. Those headers are already in the shared idempotency service's + * allowlist and checked ahead of this method, which only receives the body. + * This is a content-derived fallback for the rare case those headers are + * stripped in transit (e.g. by an intermediary proxy). checkout_sha is + * null on branch/tag deletion (after falls back to the all-zeros SHA), so + * ref is included to keep unrelated deletions in one project from + * colliding onto the same key. Pipeline Hook payloads have no updated_at + * at all (confirmed against docs.gitlab.com — only Issue/Merge Request/ + * Note hooks reliably include it), so status + finished_at/created_at is + * used there instead to keep each lifecycle transition of one pipeline + * (pending/running/success/failed) from colliding onto the same key. + */ + extractIdempotencyId(body: unknown): string | null { + const b = asRecord(body) + const objectKind = (b.object_kind as string) || '' + const project = asRecord(b.project) + const projectId = project.id != null ? String(project.id) : '' + + if (objectKind === 'push' || objectKind === 'tag_push') { + const ref = (b.ref as string) || '' + const checkoutSha = (b.checkout_sha as string) || (b.after as string) || '' + if (!checkoutSha && !ref) return null + return `gitlab:${objectKind}:${projectId}:${ref}:${checkoutSha}` + } + + const objectAttributes = asRecord(b.object_attributes) + const id = objectAttributes.id != null ? String(objectAttributes.id) : '' + if (!id) return null + const version = + (objectAttributes.updated_at as string) || + [objectAttributes.status, objectAttributes.finished_at || objectAttributes.created_at] + .filter(Boolean) + .join(':') || + '' + return `gitlab:${objectKind || 'event'}:${projectId}:${id}:${version}` + }, + + /** + * Validates the optional self-managed host up front so a structurally + * unsafe value surfaces as a clear error instead of an unhandled + * UnsafeGitLabHostError. + */ async createSubscription(ctx: SubscriptionContext): Promise { const config = getProviderConfig(ctx.webhook) const accessToken = config.accessToken as string | undefined @@ -120,8 +191,6 @@ export const gitlabHandler: WebhookProviderHandler = { throw new Error('GitLab Personal Access Token is required to create the webhook.') if (!projectId) throw new Error('GitLab Project ID is required to create the webhook.') - // Validate the optional self-managed host up front so a structurally unsafe - // value surfaces as a clear error instead of an unhandled UnsafeGitLabHostError. try { getGitLabApiBase(host) } catch (error) { @@ -163,8 +232,6 @@ export const gitlabHandler: WebhookProviderHandler = { const created = (await res.json().catch(() => ({}))) as { id?: number | string } if (created.id === undefined || created.id === null) { - // The hook was created but we can't read its id — delete it by URL so it - // is not orphaned in GitLab. await cleanupGitLabHookByUrl(projectId, accessToken, getNotificationUrl(ctx.webhook), host) throw new Error('GitLab webhook created but no hook ID was returned.') } @@ -173,6 +240,10 @@ export const gitlabHandler: WebhookProviderHandler = { return { providerConfigUpdates: { externalId: String(created.id), webhookSecret: secretToken } } }, + /** + * A structurally unsafe host must not abort cleanup in non-strict mode — + * mirrors the graceful skip used for missing credentials below. + */ async deleteSubscription(ctx: DeleteSubscriptionContext): Promise { const config = getProviderConfig(ctx.webhook) const accessToken = config.accessToken as string | undefined @@ -188,8 +259,6 @@ export const gitlabHandler: WebhookProviderHandler = { return } - // A structurally unsafe host must not abort cleanup in non-strict mode — mirror - // the graceful skip used for missing credentials above. try { getGitLabApiBase(host) } catch (error) { diff --git a/apps/sim/lib/webhooks/providers/gmail.test.ts b/apps/sim/lib/webhooks/providers/gmail.test.ts new file mode 100644 index 00000000000..301ef37c372 --- /dev/null +++ b/apps/sim/lib/webhooks/providers/gmail.test.ts @@ -0,0 +1,62 @@ +import { describe, expect, it } from 'vitest' +import { gmailHandler } from '@/lib/webhooks/providers/gmail' +import { gmailPollingTrigger } from '@/triggers/gmail' + +const sampleEmail = { + id: 'msg-123', + threadId: 'thread-456', + subject: 'Test subject', + from: 'sender@example.com', + to: 'recipient@example.com', + cc: '', + date: '2026-07-08T00:00:00.000Z', + bodyText: 'plain text body', + bodyHtml: '

    html body

    ', + labels: ['INBOX', 'UNREAD'], + hasAttachments: false, + attachments: [], +} + +describe('Gmail webhook provider', () => { + it('formatInput passes through the polled email and timestamp unchanged', async () => { + const { input } = await gmailHandler.formatInput!({ + webhook: {}, + workflow: { id: 'wf', userId: 'u' }, + body: { email: sampleEmail, timestamp: '2026-07-08T00:00:05.000Z' }, + headers: {}, + requestId: 'test', + }) + + expect(input).toEqual({ + email: sampleEmail, + timestamp: '2026-07-08T00:00:05.000Z', + }) + }) + + it('passes the raw body through when it has no email key', async () => { + const { input } = await gmailHandler.formatInput!({ + webhook: {}, + workflow: { id: 'wf', userId: 'u' }, + body: { foo: 'bar' }, + headers: {}, + requestId: 'test', + }) + + expect(input).toEqual({ foo: 'bar' }) + }) + + it('every key formatInput can deliver on `email` matches a declared trigger output key', async () => { + const { input } = await gmailHandler.formatInput!({ + webhook: {}, + workflow: { id: 'wf', userId: 'u' }, + body: { email: sampleEmail, timestamp: '2026-07-08T00:00:05.000Z' }, + headers: {}, + requestId: 'test', + }) + + const declaredEmailKeys = Object.keys(gmailPollingTrigger.outputs.email) + const deliveredEmailKeys = Object.keys((input as { email: object }).email) + + expect(deliveredEmailKeys.sort()).toEqual(declaredEmailKeys.sort()) + }) +}) diff --git a/apps/sim/lib/webhooks/providers/instantly.test.ts b/apps/sim/lib/webhooks/providers/instantly.test.ts new file mode 100644 index 00000000000..9e3584cde9a --- /dev/null +++ b/apps/sim/lib/webhooks/providers/instantly.test.ts @@ -0,0 +1,405 @@ +import { NextRequest } from 'next/server' +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' +import { instantlyHandler } from '@/lib/webhooks/providers/instantly' + +function reqWithHeaders(headers: Record): NextRequest { + return new NextRequest('http://localhost/test', { headers }) +} + +describe('Instantly webhook provider', () => { + it('verifyAuth rejects when secretToken is missing (fail-closed)', async () => { + const res = await instantlyHandler.verifyAuth!({ + request: reqWithHeaders({}), + rawBody: '{}', + requestId: 't1', + providerConfig: {}, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('verifyAuth rejects when the token header is missing', async () => { + const res = await instantlyHandler.verifyAuth!({ + request: reqWithHeaders({}), + rawBody: '{}', + requestId: 't2', + providerConfig: { secretToken: 'expected-token' }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('verifyAuth rejects an incorrect token', async () => { + const res = await instantlyHandler.verifyAuth!({ + request: reqWithHeaders({ 'x-sim-webhook-token': 'wrong-token' }), + rawBody: '{}', + requestId: 't3', + providerConfig: { secretToken: 'expected-token' }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('verifyAuth accepts a matching token', async () => { + const res = await instantlyHandler.verifyAuth!({ + request: reqWithHeaders({ 'x-sim-webhook-token': 'expected-token' }), + rawBody: '{}', + requestId: 't4', + providerConfig: { secretToken: 'expected-token' }, + webhook: {}, + workflow: {}, + }) + expect(res).toBeNull() + }) + + it('matchEvent passes all events through for the generic webhook trigger', async () => { + const matched = await instantlyHandler.matchEvent!({ + body: { event_type: 'lead_interested' }, + requestId: 't5', + providerConfig: { triggerId: 'instantly_webhook' }, + webhook: {}, + workflow: {}, + request: new NextRequest('http://localhost/test'), + }) + expect(matched).toBe(true) + }) + + it('matchEvent filters events that do not match the configured trigger', async () => { + const matched = await instantlyHandler.matchEvent!({ + body: { event_type: 'email_opened' }, + requestId: 't6', + providerConfig: { triggerId: 'instantly_email_sent' }, + webhook: {}, + workflow: {}, + request: new NextRequest('http://localhost/test'), + }) + expect(matched).toBe(false) + }) + + it('matchEvent matches events for the configured trigger', async () => { + const matched = await instantlyHandler.matchEvent!({ + body: { event_type: 'email_sent' }, + requestId: 't7', + providerConfig: { triggerId: 'instantly_email_sent' }, + webhook: {}, + workflow: {}, + request: new NextRequest('http://localhost/test'), + }) + expect(matched).toBe(true) + }) + + it('matchEvent accepts both link-click event type spellings', async () => { + const matchedA = await instantlyHandler.matchEvent!({ + body: { event_type: 'link_clicked' }, + requestId: 't8a', + providerConfig: { triggerId: 'instantly_link_clicked' }, + webhook: {}, + workflow: {}, + request: new NextRequest('http://localhost/test'), + }) + const matchedB = await instantlyHandler.matchEvent!({ + body: { event_type: 'email_link_clicked' }, + requestId: 't8b', + providerConfig: { triggerId: 'instantly_link_clicked' }, + webhook: {}, + workflow: {}, + request: new NextRequest('http://localhost/test'), + }) + expect(matchedA).toBe(true) + expect(matchedB).toBe(true) + }) + + it('formats input with keys matching the trigger outputs', async () => { + const body = { + timestamp: '2026-07-08T12:00:00.000Z', + event_type: 'reply_received', + workspace: 'ws-1', + campaign_id: 'camp-1', + campaign_name: 'Q3 Outreach', + lead_email: 'lead@example.com', + email_account: 'sender@example.com', + unibox_url: 'https://app.instantly.ai/unibox/1', + step: 2, + variant: 1, + is_first: true, + email_id: 'email-1', + reply_text_snippet: 'Sounds good', + reply_subject: 'Re: Q3 Outreach', + reply_text: 'Sounds good, thanks!', + reply_html: '

    Sounds good, thanks!

    ', + } + + const result = await instantlyHandler.formatInput!({ + body, + webhook: {}, + workflow: { id: 'wf-1', userId: 'user-1' }, + headers: {}, + requestId: 't9', + }) + + expect(result.input).toEqual({ + timestamp: '2026-07-08T12:00:00.000Z', + eventType: 'reply_received', + workspace: 'ws-1', + campaignId: 'camp-1', + campaignName: 'Q3 Outreach', + leadEmail: 'lead@example.com', + emailAccount: 'sender@example.com', + uniboxUrl: 'https://app.instantly.ai/unibox/1', + step: 2, + variant: 1, + isFirst: true, + emailId: 'email-1', + emailSubject: null, + emailText: null, + emailHtml: null, + replyTextSnippet: 'Sounds good', + replySubject: 'Re: Q3 Outreach', + replyText: 'Sounds good, thanks!', + replyHtml: '

    Sounds good, thanks!

    ', + payload: body, + }) + }) + + describe('extractIdempotencyId', () => { + it('prefers the email_id when present, qualified by timestamp', () => { + const id = instantlyHandler.extractIdempotencyId!({ + event_type: 'email_sent', + email_id: 'email-123', + campaign_id: 'camp-1', + lead_email: 'lead@example.com', + timestamp: '2026-07-08T12:00:00.000Z', + }) + expect(id).toBe('instantly:email_sent:email-123:2026-07-08T12:00:00.000Z') + }) + + it('returns null when email_id is present but timestamp is missing, rather than risk a false collision', () => { + const id = instantlyHandler.extractIdempotencyId!({ + event_type: 'email_sent', + email_id: 'email-123', + }) + expect(id).toBeNull() + }) + + it('falls back to a content-based key without an email_id', () => { + const id = instantlyHandler.extractIdempotencyId!({ + event_type: 'lead_interested', + campaign_id: 'camp-1', + lead_email: 'lead@example.com', + timestamp: '2026-07-08T12:00:00.000Z', + }) + expect(id).toBe('instantly:lead_interested:camp-1:lead@example.com:2026-07-08T12:00:00.000Z') + }) + + it('is stable across retries of the same delivery', () => { + const body = { + event_type: 'lead_interested', + campaign_id: 'camp-1', + lead_email: 'lead@example.com', + timestamp: '2026-07-08T12:00:00.000Z', + } + const first = instantlyHandler.extractIdempotencyId!(body) + const second = instantlyHandler.extractIdempotencyId!({ ...body }) + expect(first).toBe(second) + }) + + it('is stable across retries of the same email_id-keyed delivery', () => { + const body = { + event_type: 'email_opened', + email_id: 'email-123', + timestamp: '2026-07-08T12:00:00.000Z', + } + const first = instantlyHandler.extractIdempotencyId!(body) + const second = instantlyHandler.extractIdempotencyId!({ ...body }) + expect(first).toBe(second) + }) + + it('does not collide across distinct occurrences of the same email_id (e.g. repeat opens/clicks/replies)', () => { + const firstOpen = instantlyHandler.extractIdempotencyId!({ + event_type: 'email_opened', + email_id: 'email-123', + timestamp: '2026-07-08T12:00:00.000Z', + }) + const secondOpen = instantlyHandler.extractIdempotencyId!({ + event_type: 'email_opened', + email_id: 'email-123', + timestamp: '2026-07-08T13:30:00.000Z', + }) + expect(firstOpen).not.toBe(secondOpen) + }) + + it('returns null when there is not enough data to build a stable key', () => { + expect(instantlyHandler.extractIdempotencyId!({ event_type: 'account_error' })).toBeNull() + expect(instantlyHandler.extractIdempotencyId!({})).toBeNull() + expect(instantlyHandler.extractIdempotencyId!('not-an-object')).toBeNull() + }) + }) + + describe('createSubscription', () => { + const fetchMock = vi.fn() + + beforeEach(() => { + vi.stubEnv('NEXT_PUBLIC_APP_URL', 'https://app.test') + vi.stubGlobal('fetch', fetchMock) + fetchMock.mockReset() + }) + + afterEach(() => { + vi.unstubAllGlobals() + vi.unstubAllEnvs() + }) + + it('creates an Instantly webhook with the mapped event type', async () => { + fetchMock.mockResolvedValue({ + ok: true, + status: 200, + json: async () => ({ id: 'wh-123' }), + }) + + const result = await instantlyHandler.createSubscription!({ + webhook: { + id: 'webhook-1', + path: 'abc-path', + providerConfig: { triggerApiKey: 'instantly-key', triggerId: 'instantly_email_sent' }, + }, + workflow: {}, + userId: 'user-1', + requestId: 'req-create-1', + request: new NextRequest('http://localhost/test'), + }) + + expect(fetchMock).toHaveBeenCalledTimes(1) + const [url, init] = fetchMock.mock.calls[0] + expect(url).toBe('https://api.instantly.ai/api/v2/webhooks') + expect(init.method).toBe('POST') + expect(init.headers.Authorization).toBe('Bearer instantly-key') + const sent = JSON.parse(init.body) + expect(sent.event_type).toBe('email_sent') + expect(sent.target_hook_url).toContain('/api/webhooks/trigger/abc-path') + expect(typeof sent.headers['X-Sim-Webhook-Token']).toBe('string') + + expect(result?.providerConfigUpdates?.externalId).toBe('wh-123') + }) + + it('maps the link-clicked trigger to the email_link_clicked subscription event', async () => { + fetchMock.mockResolvedValue({ ok: true, status: 200, json: async () => ({ id: 'wh-456' }) }) + + await instantlyHandler.createSubscription!({ + webhook: { + id: 'webhook-2', + path: 'p2', + providerConfig: { triggerApiKey: 'instantly-key', triggerId: 'instantly_link_clicked' }, + }, + workflow: {}, + userId: 'user-1', + requestId: 'req-create-2', + request: new NextRequest('http://localhost/test'), + }) + + const sent = JSON.parse(fetchMock.mock.calls[0][1].body) + expect(sent.event_type).toBe('email_link_clicked') + }) + + it('throws a friendly error on 401', async () => { + fetchMock.mockResolvedValue({ + ok: false, + status: 401, + json: async () => ({ message: 'unauthorized' }), + }) + + await expect( + instantlyHandler.createSubscription!({ + webhook: { + id: 'webhook-3', + path: 'p3', + providerConfig: { triggerApiKey: 'bad-key', triggerId: 'instantly_email_sent' }, + }, + workflow: {}, + userId: 'user-1', + requestId: 'req-create-3', + request: new NextRequest('http://localhost/test'), + }) + ).rejects.toThrow(/Invalid Instantly API Key/) + }) + + it('throws when the API key is missing', async () => { + await expect( + instantlyHandler.createSubscription!({ + webhook: { + id: 'webhook-4', + path: 'p4', + providerConfig: { triggerId: 'instantly_email_sent' }, + }, + workflow: {}, + userId: 'user-1', + requestId: 'req-create-4', + request: new NextRequest('http://localhost/test'), + }) + ).rejects.toThrow(/Instantly API Key is required/) + expect(fetchMock).not.toHaveBeenCalled() + }) + }) + + describe('deleteSubscription', () => { + const fetchMock = vi.fn() + + beforeEach(() => { + vi.stubGlobal('fetch', fetchMock) + fetchMock.mockReset() + }) + + afterEach(() => { + vi.unstubAllGlobals() + }) + + it('deletes the webhook by externalId', async () => { + fetchMock.mockResolvedValue({ ok: true, status: 200, body: null }) + + await instantlyHandler.deleteSubscription!({ + webhook: { + id: 'webhook-1', + providerConfig: { triggerApiKey: 'instantly-key', externalId: 'wh-123' }, + }, + workflow: {}, + requestId: 'req-del-1', + }) + + expect(fetchMock).toHaveBeenCalledTimes(1) + const [url, init] = fetchMock.mock.calls[0] + expect(url).toBe('https://api.instantly.ai/api/v2/webhooks/wh-123') + expect(init.method).toBe('DELETE') + }) + + it('skips when apiKey or externalId is missing and does not throw', async () => { + await instantlyHandler.deleteSubscription!({ + webhook: { id: 'webhook-2', providerConfig: { externalId: 'wh-123' } }, + workflow: {}, + requestId: 'req-del-2', + }) + await instantlyHandler.deleteSubscription!({ + webhook: { id: 'webhook-3', providerConfig: { triggerApiKey: 'instantly-key' } }, + workflow: {}, + requestId: 'req-del-3', + }) + expect(fetchMock).not.toHaveBeenCalled() + }) + + it('does not throw on a non-ok response in non-strict mode', async () => { + fetchMock.mockResolvedValue({ ok: false, status: 500, json: async () => ({}) }) + + await expect( + instantlyHandler.deleteSubscription!({ + webhook: { + id: 'webhook-4', + providerConfig: { triggerApiKey: 'instantly-key', externalId: 'wh-9' }, + }, + workflow: {}, + requestId: 'req-del-4', + }) + ).resolves.toBeUndefined() + }) + }) +}) diff --git a/apps/sim/lib/webhooks/providers/instantly.ts b/apps/sim/lib/webhooks/providers/instantly.ts index fcfc81d48b0..30acd025ce1 100644 --- a/apps/sim/lib/webhooks/providers/instantly.ts +++ b/apps/sim/lib/webhooks/providers/instantly.ts @@ -57,6 +57,38 @@ export const instantlyHandler: WebhookProviderHandler = { return true }, + /** + * `email_id` (Instantly's `reply_to_uuid`) identifies the sent email, not + * one occurrence of an event on that email — the same event_type can fire + * more than once for one email_id (every open, every click, every reply in + * a thread), so email_id alone would collapse those distinct, legitimate + * deliveries into one idempotency slot. `timestamp` is fixed per event + * occurrence (not regenerated on retry), so appending it keeps the key + * both retry-stable and unique per occurrence — without it there's no way + * to distinguish occurrences, so dedup is skipped rather than risking a + * false collision. + */ + extractIdempotencyId(body: unknown): string | null { + if (!isRecordLike(body)) return null + + const eventType = typeof body.event_type === 'string' ? body.event_type : undefined + if (!eventType) return null + + const timestamp = typeof body.timestamp === 'string' ? body.timestamp : undefined + const emailId = typeof body.email_id === 'string' ? body.email_id : undefined + if (emailId) { + return timestamp ? `instantly:${eventType}:${emailId}:${timestamp}` : null + } + + const campaignId = typeof body.campaign_id === 'string' ? body.campaign_id : undefined + const leadEmail = typeof body.lead_email === 'string' ? body.lead_email : undefined + if (campaignId && leadEmail && timestamp) { + return `instantly:${eventType}:${campaignId}:${leadEmail}:${timestamp}` + } + + return null + }, + async formatInput({ body }: FormatInputContext): Promise { const payload = isRecordLike(body) ? body : {} diff --git a/apps/sim/lib/webhooks/providers/linear.test.ts b/apps/sim/lib/webhooks/providers/linear.test.ts index 0f94977f3e7..9962ba1f790 100644 --- a/apps/sim/lib/webhooks/providers/linear.test.ts +++ b/apps/sim/lib/webhooks/providers/linear.test.ts @@ -75,4 +75,102 @@ describe('Linear webhook provider', () => { expect(res).toBeNull() }) + + it('accepts signed requests within the 5-minute skew window (wider than Linear’s literal 60s suggestion, to tolerate retries)', async () => { + const secret = 'linear-secret' + const rawBody = JSON.stringify({ + action: 'update', + type: 'Issue', + webhookTimestamp: Date.now() - 61_000, + }) + + const res = await linearHandler.verifyAuth!({ + request: requestWithLinearSignature(secret, rawBody), + rawBody, + requestId: 'linear-t4', + providerConfig: { webhookSecret: secret }, + webhook: {}, + workflow: {}, + }) + + expect(res).toBeNull() + }) + + it('skips verification entirely when no webhookSecret is configured', async () => { + const rawBody = JSON.stringify({ action: 'create', type: 'Issue' }) + + const res = await linearHandler.verifyAuth!({ + request: new NextRequest('http://localhost/test'), + rawBody, + requestId: 'linear-t5', + providerConfig: {}, + webhook: {}, + workflow: {}, + }) + + expect(res).toBeNull() + }) + + describe('matchEvent', () => { + it('returns null-body-safe result instead of throwing when body is null', async () => { + const result = await linearHandler.matchEvent!({ + body: null, + requestId: 'linear-t6', + providerConfig: { triggerId: 'linear_issue_created' }, + webhook: {}, + workflow: {}, + request: new NextRequest('http://localhost/test'), + }) + expect(result).toBe(false) + }) + }) + + describe('formatInput', () => { + it('does not throw when body is null', async () => { + const { input } = await linearHandler.formatInput!({ body: null } as any) + expect(input).toMatchObject({ action: '', type: '', actor: null }) + }) + }) + + describe('extractIdempotencyId', () => { + it('builds a stable key from type, action, entity id, and updatedAt', () => { + const key = linearHandler.extractIdempotencyId!({ + type: 'Issue', + action: 'update', + data: { id: 'issue-1', updatedAt: '2026-07-08T00:00:00.000Z' }, + }) + + expect(key).toBe('linear:Issue:update:issue-1:2026-07-08T00:00:00.000Z') + }) + + it('falls back to createdAt when updatedAt is absent (create events)', () => { + const key = linearHandler.extractIdempotencyId!({ + type: 'Comment', + action: 'create', + data: { id: 'comment-1', createdAt: '2026-07-08T00:00:00.000Z' }, + }) + + expect(key).toBe('linear:Comment:create:comment-1:2026-07-08T00:00:00.000Z') + }) + + it('returns null when the entity id is missing', () => { + const key = linearHandler.extractIdempotencyId!({ type: 'Issue', action: 'create' }) + expect(key).toBeNull() + }) + + it('returns null when type is missing', () => { + const key = linearHandler.extractIdempotencyId!({ action: 'create', data: { id: 'x' } }) + expect(key).toBeNull() + }) + + it('returns null instead of throwing when the body is null', () => { + expect(linearHandler.extractIdempotencyId!(null)).toBeNull() + }) + + it('returns null instead of throwing when the body is a non-object', () => { + expect(linearHandler.extractIdempotencyId!('not an object')).toBeNull() + expect(linearHandler.extractIdempotencyId!(42)).toBeNull() + expect(linearHandler.extractIdempotencyId!(['array'])).toBeNull() + }) + }) }) diff --git a/apps/sim/lib/webhooks/providers/linear.ts b/apps/sim/lib/webhooks/providers/linear.ts index 4402659f71d..dd0068ff561 100644 --- a/apps/sim/lib/webhooks/providers/linear.ts +++ b/apps/sim/lib/webhooks/providers/linear.ts @@ -3,6 +3,7 @@ import { safeCompare } from '@sim/security/compare' import { hmacSha256Hex } from '@sim/security/hmac' import { toError } from '@sim/utils/errors' import { generateId } from '@sim/utils/id' +import { isRecordLike } from '@sim/utils/object' import { NextResponse } from 'next/server' import { getNotificationUrl, getProviderConfig } from '@/lib/webhooks/provider-subscription-utils' import type { @@ -15,6 +16,7 @@ import type { SubscriptionResult, WebhookProviderHandler, } from '@/lib/webhooks/providers/types' +import { createHmacVerifier } from '@/lib/webhooks/providers/utils' const logger = createLogger('WebhookProvider:Linear') @@ -43,30 +45,37 @@ function validateLinearSignature(secret: string, signature: string, body: string } } +/** + * Linear's docs recommend a 60s window ("Reject any webhooks not within 60 seconds of the + * current time to prevent replay attacks") but do NOT document whether `webhookTimestamp` is + * re-stamped per delivery attempt or fixed to the original event time. Linear's own retry policy + * resends failed deliveries after 1 minute, 1 hour, and 6 hours (@see + * https://linear.app/developers/webhooks) — if the timestamp is fixed rather than refreshed per + * attempt, a strict 60s window would silently and permanently drop every legitimate 1hr/6hr retry + * following any transient outage on our side, since Linear gives up after 3 failed attempts. + * We keep a wider 5-minute window: idempotency dedup (Linear-Delivery header / extractIdempotencyId + * fallback below) already prevents double-processing of any replayed or retried delivery within + * that window, so the incremental replay-protection benefit of matching Linear's 60s suggestion + * literally is marginal compared to the risk of dropping real business events. + */ const LINEAR_WEBHOOK_TIMESTAMP_SKEW_MS = 5 * 60 * 1000 +const verifyLinearSignature = createHmacVerifier({ + configKey: 'webhookSecret', + headerName: 'Linear-Signature', + validateFn: validateLinearSignature, + providerLabel: 'Linear', +}) + export const linearHandler: WebhookProviderHandler = { - async verifyAuth({ - request, - rawBody, - requestId, - providerConfig, - }: AuthContext): Promise { - const secret = providerConfig.webhookSecret as string | undefined - if (!secret) { + async verifyAuth(ctx: AuthContext): Promise { + const { rawBody, requestId, providerConfig } = ctx + if (!providerConfig.webhookSecret) { return null } - const signature = request.headers.get('Linear-Signature') - if (!signature) { - logger.warn(`[${requestId}] Linear webhook missing signature header`) - return new NextResponse('Unauthorized - Missing Linear signature', { status: 401 }) - } - - if (!validateLinearSignature(secret, signature, rawBody)) { - logger.warn(`[${requestId}] Linear signature verification failed`) - return new NextResponse('Unauthorized - Invalid Linear signature', { status: 401 }) - } + const signatureError = await verifyLinearSignature(ctx) + if (signatureError) return signatureError try { const parsed = JSON.parse(rawBody) as Record @@ -98,7 +107,7 @@ export const linearHandler: WebhookProviderHandler = { }, async formatInput({ body }: FormatInputContext): Promise { - const b = body as Record + const b = isRecordLike(body) ? body : {} const rawActor = b.actor let actor: unknown = null if (rawActor && typeof rawActor === 'object' && !Array.isArray(rawActor)) { @@ -130,9 +139,9 @@ export const linearHandler: WebhookProviderHandler = { const triggerId = providerConfig.triggerId as string | undefined if (triggerId && !triggerId.endsWith('_webhook') && !triggerId.endsWith('_webhook_v2')) { const { isLinearEventMatch } = await import('@/triggers/linear/utils') - const obj = body as Record - const action = obj.action as string | undefined - const type = obj.type as string | undefined + const obj = isRecordLike(body) ? body : {} + const action = typeof obj.action === 'string' ? obj.action : undefined + const type = typeof obj.type === 'string' ? obj.type : undefined if (!isLinearEventMatch(triggerId, type || '', action)) { logger.debug( `[${requestId}] Linear event mismatch for trigger ${triggerId}. Type: ${type}, Action: ${action}. Skipping.` @@ -143,6 +152,26 @@ export const linearHandler: WebhookProviderHandler = { return true }, + /** + * Fallback for dedup when the `Linear-Delivery` header (already handled generically by the + * idempotency service) is unavailable. Keys on the entity id plus its own updatedAt/createdAt, + * not a request-time timestamp, so retried deliveries of the same event still collapse. + */ + extractIdempotencyId(body: unknown): string | null { + if (!body || typeof body !== 'object' || Array.isArray(body)) return null + + const b = body as Record + const type = typeof b.type === 'string' ? b.type : undefined + const action = typeof b.action === 'string' ? b.action : undefined + const data = b.data as Record | undefined + const id = typeof data?.id === 'string' ? data.id : undefined + if (!type || !id) { + return null + } + const version = data?.updatedAt || data?.createdAt || b.createdAt + return [`linear:${type}`, action, id, version].filter(Boolean).join(':') + }, + async createSubscription(ctx: SubscriptionContext): Promise { const config = getProviderConfig(ctx.webhook) const triggerId = config.triggerId as string | undefined diff --git a/apps/sim/triggers/gitlab/utils.ts b/apps/sim/triggers/gitlab/utils.ts index a25d09e3447..be47e1bcf47 100644 --- a/apps/sim/triggers/gitlab/utils.ts +++ b/apps/sim/triggers/gitlab/utils.ts @@ -38,9 +38,12 @@ const ALL_EVENT_FLAGS = { tag_push_events: true, } as const -// Tag pushes (object_kind 'tag_push') only flow through the all-events trigger; -// there is no dedicated single-event trigger for them. A future "GitLab Tag Push" -// trigger would need its own object_kind mapping in TRIGGER_OBJECT_KINDS above. +/** + * Tag pushes (object_kind 'tag_push') only flow through the all-events + * trigger; there is no dedicated single-event trigger for them. A future + * "GitLab Tag Push" trigger would need its own object_kind mapping in + * TRIGGER_OBJECT_KINDS above. + */ const TRIGGER_EVENT_FLAGS: Record> = { gitlab_push: { push_events: true }, gitlab_merge_request: { merge_requests_events: true }, @@ -160,7 +163,8 @@ export function buildGitLabMergeRequestOutputs(): Record action: { type: 'string', description: 'Action (open, close, reopen, update, merge, etc.)' }, source_branch: { type: 'string', description: 'Source branch' }, target_branch: { type: 'string', description: 'Target branch' }, - merge_status: { type: 'string', description: 'Merge status' }, + merge_status: { type: 'string', description: 'Merge status (deprecated by GitLab)' }, + detailed_merge_status: { type: 'string', description: 'Detailed merge status' }, draft: { type: 'boolean', description: 'Whether the merge request is a draft' }, url: { type: 'string', description: 'Merge request URL' }, }, @@ -182,6 +186,10 @@ export function buildGitLabIssueOutputs(): Record { description: { type: 'string', description: 'Issue description' }, confidential: { type: 'boolean', description: 'Whether the issue is confidential' }, url: { type: 'string', description: 'Issue URL' }, + work_item_type: { + type: 'string', + description: 'Work item type (e.g. Issue, Incident, Task); GitLab 17.2+ only', + }, }, } } diff --git a/apps/sim/triggers/gmail/poller.ts b/apps/sim/triggers/gmail/poller.ts index 6689f3fc9cb..1d03c838f3b 100644 --- a/apps/sim/triggers/gmail/poller.ts +++ b/apps/sim/triggers/gmail/poller.ts @@ -184,7 +184,7 @@ Return ONLY the Gmail search query, no explanations or markdown.`, description: 'HTML email body', }, labels: { - type: 'string', + type: 'array', description: 'Email labels array', }, hasAttachments: { diff --git a/apps/sim/triggers/linear/utils.ts b/apps/sim/triggers/linear/utils.ts index 371c1049681..5970288923e 100644 --- a/apps/sim/triggers/linear/utils.ts +++ b/apps/sim/triggers/linear/utils.ts @@ -217,62 +217,6 @@ export const userOutputs = { }, } as const -/** - * Shared team output schema - */ -export const teamOutputs = { - id: { - type: 'string', - description: 'Team ID', - }, - name: { - type: 'string', - description: 'Team name', - }, - key: { - type: 'string', - description: 'Team key (used in issue identifiers)', - }, - description: { - type: 'string', - description: 'Team description', - }, - private: { - type: 'boolean', - description: 'Whether the team is private', - }, - timezone: { - type: 'string', - description: 'Team timezone', - }, -} as const - -/** - * Shared state output schema - */ -export const stateOutputs = { - id: { - type: 'string', - description: 'State ID', - }, - name: { - type: 'string', - description: 'State name', - }, - type: { - type: 'string', - description: 'State type (backlog, unstarted, started, completed, canceled)', - }, - color: { - type: 'string', - description: 'State color', - }, - position: { - type: 'number', - description: 'State position in the workflow', - }, -} as const - /** * Build output schema for issue events */ @@ -1089,12 +1033,10 @@ export function isLinearEventMatch(triggerId: string, eventType: string, action? return false } - // Check event type if (config.type !== eventType) { return false } - // Check action if specified if (config.actions && action && !config.actions.includes(action)) { return false } From 7bd734ceef9f2ed787d3c1cad09a8d0d2b40bb09 Mon Sep 17 00:00:00 2001 From: Waleed Date: Wed, 8 Jul 2026 17:49:35 -0700 Subject: [PATCH 20/27] fix(landing): fix Core Web Vitals regressions across public marketing pages (#5522) * fix(landing): fix Core Web Vitals regressions across public marketing pages - root layout unconditionally rendered next-runtime-env's PublicEnvScript, which calls unstable_noStore() and silently forced every route in the app dynamic - marketing pages never got static/ISR caching despite their own revalidate. Gated it to self-hosted only; hosted now uses a static, build-time equivalent (app/_shell/public-env-script.tsx) - removed real pointer-drag handlers from the hero's decorative workflow animation (was draggable despite being aria-hidden) - disabled dragging/panning on the (currently unmounted) landing-preview ReactFlow canvas so it's static-by-default if it's ever wired in - lazy-mount the Product Demo section's duplicate HeroVisual instance via next/dynamic + IntersectionObserver instead of loading it eagerly below the fold - disabled Next.js Link prefetch on always-in-viewport /signup and /login CTAs (navbar, hero, mobile nav) so their JS isn't fetched on every pageview regardless of whether the visitor clicks - removed `unoptimized` from local blog/integration images (including the priority LCP image on every blog post), letting next/image serve resized AVIF/WebP instead of full-size originals * fix(landing): address review findings on the CWV PR - revert prefetch={false} on below-fold CTAs (cta.tsx, enterprise.tsx) - contradicts the prefetch-on-approach rule this PR itself documents - restore unoptimized on avatarUrl and the MDX body-image renderer, both of which can legitimately hold external URLs outside next.config.ts's image remotePatterns allow-list - simplify handleAnchors to a single block argument now that positions are static (the second "live position" argument was always identical to the first after the drag-handler removal) - extract the near-duplicate IntersectionObserver lazy-mount logic shared by landing-preview-mount.tsx and product-demo-visual-mount.tsx into a single apps/sim/app/(landing)/hooks/use-lazy-mount.ts hook - import next-runtime-env's own exported PUBLIC_ENV_KEY constant instead of a hardcoded string literal, and match its case-insensitive NEXT_PUBLIC_ filter exactly, removing any drift risk between the two implementations - drop plain inline comments with no TSDoc home in favor of relying on the existing TSDoc/CLAUDE.md documentation * fix(landing): carry the unoptimized-image fix onto the shared content-*-page components The blog/library split (#5516) moved the blog post/index/author JSX into shared ContentPostPage/ContentIndexPage/ContentAuthorPage components while this branch was in flight, so the original unoptimized removal (verified local-only ogImage paths for both blog and library content) needs to land on those shared components instead of the old per-route JSX. * fix(landing): document ogImage's local-path expectation, fix CLAUDE.md structure doc - add a one-line comment on ContentFrontmatterSchema.ogImage documenting that it's rendered without unoptimized and expects a local path, matching the existing avatarUrl comment convention (a reviewer noted ogImage's schema is technically unconstrained and seo.ts has an http-prefix branch, though all current content is local) - add the new hooks/ folder to the (landing) CLAUDE.md structure diagram and name use-lazy-mount.ts directly in the lazy-mount rule * fix(landing): escape breakout in the static public-env script Greptile P1: a NEXT_PUBLIC_* value containing "" would close the inline script early and could inject markup/script into every hosted page. Escape "<" in the serialized JSON before interpolating it, matching the standard JSON-in-script-tag safeguard. --- apps/sim/app/(landing)/CLAUDE.md | 6 +- .../content-author-page.tsx | 1 - .../content-index-page/content-index-page.tsx | 2 - .../content-post-page/content-post-page.tsx | 2 - .../components/hero-cta/hero-cta.tsx | 1 + .../hero-platform-loop/hero-platform-loop.tsx | 8 +- .../hero-workflow-stage.tsx | 86 +++---------------- .../hero-platform-loop/stage-data.ts | 8 +- .../components/hero/components/index.ts | 1 - .../app/(landing)/components/hero/hero.tsx | 6 +- .../landing-preview-workflow.tsx | 7 +- .../landing-preview/landing-preview-mount.tsx | 43 ++-------- .../components/mobile-nav/mobile-nav.tsx | 3 +- .../(landing)/components/navbar/navbar.tsx | 6 +- .../product-demo-visual-mount/index.ts | 1 + .../product-demo-visual-mount.tsx | 38 ++++++++ .../components/product-demo/product-demo.tsx | 12 +-- .../sim/app/(landing)/hooks/use-lazy-mount.ts | 37 ++++++++ .../integrations/(shell)/[slug]/page.tsx | 1 - apps/sim/app/_shell/public-env-script.tsx | 36 ++++++++ apps/sim/app/layout.tsx | 5 +- apps/sim/lib/content/schema.ts | 2 +- 22 files changed, 170 insertions(+), 142 deletions(-) delete mode 100644 apps/sim/app/(landing)/components/hero/components/index.ts create mode 100644 apps/sim/app/(landing)/components/product-demo/components/product-demo-visual-mount/index.ts create mode 100644 apps/sim/app/(landing)/components/product-demo/components/product-demo-visual-mount/product-demo-visual-mount.tsx create mode 100644 apps/sim/app/(landing)/hooks/use-lazy-mount.ts create mode 100644 apps/sim/app/_shell/public-env-script.tsx diff --git a/apps/sim/app/(landing)/CLAUDE.md b/apps/sim/app/(landing)/CLAUDE.md index 81d447fb09d..6943cd7fdff 100644 --- a/apps/sim/app/(landing)/CLAUDE.md +++ b/apps/sim/app/(landing)/CLAUDE.md @@ -34,8 +34,11 @@ Target: Lighthouse 95+ on mobile, LCP < 2.0s, CLS < 0.05, minimal hydration cost - **No heavy client libraries above the fold.** No animation frameworks (framer-motion etc.), no ReactFlow, no chart libs in the initial bundle. If a below-fold section truly needs one, load it with `next/dynamic` and a dimension-stable placeholder. - **Images via `next/image` always.** The LCP element (logo or hero visual) gets `priority`; everything below the fold lazy-loads (the default). Every image has explicit `width`/`height` - zero layout shift. - **Prefer CSS over JS.** Hover states, transitions, marquees, and reveal effects in CSS (`transition-*`, `animation`) rather than scroll listeners or animation libraries. Decorative motion respects `prefers-reduced-motion`. -- **Static rendering.** The page is statically generated with `revalidate` (set in `page.tsx`). Never fetch per-request data in the page tree; anything dynamic (e.g. GitHub stars) is fetched at build/revalidate time on the server or deferred to a tiny client island. +- **Static rendering.** The page is statically generated with `revalidate` (set in `page.tsx`). Never fetch per-request data in the page tree; anything dynamic (e.g. GitHub stars) is fetched at build/revalidate time or deferred to a client island. A `cookies()`/`headers()`/`unstable_noStore()` call anywhere in the tree - including the root `app/layout.tsx` - silently overrides every page's `revalidate` and forces the whole app dynamic. If a marketing page builds as `ƒ` instead of `○`/`●` (check `bun run build`'s route table), look upstream, not just at the page itself. - **Reserve space for everything.** Fixed dimensions or aspect ratios on all media, embeds, and async content. CLS budget is effectively zero. +- **Decorative canvases and animations are non-interactive.** A hand-built product-demo animation or embedded ReactFlow canvas is presentation only - no drag handlers, no `nodesDraggable`/`panOnDrag`/`elementsSelectable` on ReactFlow. A visitor should never be able to click or drag a decorative element. +- **Lazy-mount a heavy client island's second occurrence.** If the same animated component appears twice on a page, only the first (usually the hero) loads eagerly - the rest go through a small `'use client'` mount wrapper built on the shared `hooks/use-lazy-mount.ts` hook: `next/dynamic(..., { ssr: false })` gated by the hook's `IntersectionObserver`. See `components/product-demo/components/product-demo-visual-mount/` for the reference pattern, and `.claude/rules/sim-imports.md` for the barrel-cleanup step that must come with it. +- **Don't prefetch authenticated-app routes from an always-visible CTA.** `` prefetches its target route's JS once it's in the viewport - a navbar/hero CTA to `/signup` or `/login` is always in view, so it downloads that route's bundle on every pageview. Pass `prefetch={false}` there. Leave the default on CTAs that only enter the viewport on scroll (prefetch-on-approach is the desired behavior there). ## SEO @@ -72,6 +75,7 @@ Follow `.claude/rules/constitution.md` exactly: Sim is "the open-source AI works ├── page.tsx # route entry: metadata + ├── landing.tsx # root composition:
    section order ├── workflows/ # a platform route: page.tsx (metadata) + workflows.tsx (config + shell) +├── hooks/ # cross-page client hooks (useLazyMount, …) - bare files, no folder/barrel └── components/ ├── index.ts # top barrel ├── navbar/{navbar.tsx, index.ts, components//…} #

    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%0DM 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 fnHC{HMlby+3h&^J zK9sI{0)NH?aaxn=v%5?Ph8;AIt?DjAS44h$_uhV*{nIbhv&)FmNJHQ|F;AQ#?a$1z zzIl1E*~dM(9mF$pHFyRx04W@jubyCiAO{use?D*rU%!;ud!PlW#1p&*Hbx7{>2r@k z!&fu$zQO?l>#J65_%(>cFj&Olc5%jcb>rj%I=7V2lKKlxj8e0eLfa$aTb4N1MeE|oMeve;cayy=cj7D`XPq)M0&gG=fiX@GvH z^I=nA$m$jgp|KWLhPq4Fzz2O>WxG9nCMRXb;|@)YLl5D&X42LqYK@R4R8D=NW+xDK zd^P0TjaKfgzoJB-apVfF+~&4wr1uLEfr{-2LLHkOtk>vF&}HAEG!y>O6i0`WYGd%E zDMMKWcBy1SD%^h?arM+sNMZy2LrjX)XGsX%w22#cGGkk(Tk9cW2;A!tzg_kN3!GQ{TW6qlxd%9rVT0Z}LIVIS@GDV-K>j1X{$1Mtw23g=^ z;gcmCsue0-Fa0LD0f^d;gYc=@kxxJ9q(rVm#zVKM1}{`t zwe5=L&ZYB0*TiE061p3*l2R)M4py8)p^)Fi2`ndC$tO}YAe`Hxe8#7GYMnfxayuz7 zd@?;64%ug=w)o?xpC61dSzCAb=@%;B94m{gd@r$rt3g&_se#o;c?J5 zsHms-)dS{F?sk%{ zIOc+97dMfM+c$ZtqX!a;PTD4#~ zw-GsIlSJverSqz{?pg1gZ@RgiRMnkUk!&!z9ZTM`@cK>(REAAev%nN7f?px>$_7*D zD~bSo{v(#}3ZtOa8pZp@21}63Q*c7bjgU>^1`6Le3%Wo@!yqj9(`qxGY$rJ(NlTOF zF!AJ;&&h2htXu-ok81!tI%Gjmtakwi#OqYnZcb_$wuuN2H{fXlyQq#3zBw7K*o<H}Y+e-tQcEdFEPK%0<>dL{ zW9s1uAI=$+kR_p@D9j&?FY!epD9{Xq-Y_uG*}E+;7^VY(d^TC!$vn5 z1G4=Lp8w9 zs&iaonH1I1&%XmD#@bl3`4(3G8zf*DiIM%op90Ls(qXJI{llLE%aMKeh(M#7keTN| zz3l+^jr^`E6x|LS9R);T_ptdKrr}60ptjUm6YBBEx47_v@L_dwc>BzkIW6QGxyU-@ zq{W@bLGK<8w-z090DHSi{QK2axqitO9w_hSd(_Wd(yo}Kl&Ucv~ui*41p& z8E;b~d287uoQ~&$)95Z7EmK~Th1Nerdv@2%hH^3jcS%d0(voj@q3+jejTH_4p8l-h zoAU4u=cbE7AN?3VD$TIi^bc~4Q}nT1kjuv1Bg@);A4q3bEilK68~es7?|eQp@vGHb zn?B2($*;ti_OL3j{q=*Z)-QoU;94KwtP(XKQG8VF;;31XUV*64O_(bAa~DrdQQ6ut zhSY5K*(&0Szd&JzSVN(>bt6@MD=JItedbYTdG74ReVf7Ta1U#Ro5x$e{AxE}U5>BW zJV%@N{h%?kQiPwjAHY-5ccaPA)AV?4;TRc?x-#>n@Xng3>!`VtbSQkTMojtG;tjIW z)D(}(WGdc*7JrY9|1E)^p}YN9u-o38{7!c}6BI=3Y{m{%FS1qef{$z2^K_cMM5IBq zD8PX>TgE=bOqf-<16(NLW%zGwa;_SUUg^Qc(as!e05f;N%XJxPq={v~2}&*ZsI&BS zgI%7BS%^a3kZ+sytTBy*;g!Tw--1T8EYFfcjorS7-3Ci1q4y93=eFZh24Zf+WHTVu zpOAY5Km(#~h79+*2poPhoPg9d6;KIe+{v)}w-&GhtGj`RxyV;oH123M$P-MXIsi%_ z9pSvldQ5`4!w&+S9ao1q_h`sLf(^Gl8!9UdVswL);gjf)Uo&?B@F!$52V-AcMhqcH zj_yk_72U@6h6+1R9XOg!K0UhfmNWj<2$>zPBZ}tINDW8hXG?K5L>fNyrr;3mTEbbF zbh|wNM)FB`9WBwoXPDlLRR7tzwnzCgNX{%}b~3YaB|wn_KZYieeOSwrXX}+?tr=0d zbuxbdEr>oafCojvYrlDdH**y(J^mVDHE-C7vLA`|@H7FM3Y^yvOwP4)IW_VI@qq4eqk<1C}z}wX1;+mmitpBQ~NB`(%<;XgWa+u6NGur0ZcDFNM1p8jz5?oxDzzsjAT{ zBe^*Q^mh6VT&KTc5^=bxxgK1k*=Uft3G!40)uAsva?83 zfzI*Ay=h@=D1+vc!{)%dPpxx*GyAB%9j9mT2r?e^Zh{ZDyk^@LRqn9OI!(=wutNzA z$C1t}n{?!|*lCz&5fR^ALgZ=Q>Ok5L^D#*WAJv4&88#9Ww2W8S#D4VN_LFuIu8n?a z*CUFb3W>ji(kX7}rHS)n5(k?=zZL_HZ9tT5Q6j(afh!e;+Ua*eA=K^=HKg(9Zn|0XWs*@{+yd4Z`YEd({y)n!c z6ftGTpm5;)6tyouYFv=4$&+`T2B+Gq*6)w zQf9OkM36SbSv~uw$iw#0c6|dRrNc(n#~l*epMv`X zy-E*q%m9?jtYUMoq2abd>bn>PHBaAlD3r`QYt(a$Bh4S3=>PWG2B&=Lb*zzWohHxg zxTHj%9|7Zu%qJ0zKpuOLmRK}k({i5X5_lAA7-K78x~LuN%A>H}1SmWrKABMTTA?nY zx{6AEB(QJ0kv>1Eo&D*}WZk2(@h3$zqzQ@vc7%)>YsZ1i1Y)WYQKu^S zLtCBbgMYCAek)SxLdFjTc5RRH{)`f%| zJAGV`8(KL$!Avie6MqILIi?QOXJmo#ujZ|wVcMOEWycNFL)4}lG^k=qZc!9e!Wmwa zMA{Ty<8U-IZv(|+P%I~tX~jzk;7#cxDfCOS%;j0xYEeK|A+BCPacsz-rgX|B6^2s zep4hdm2y=ej7SKe<4*ldGGf_B^g?s5jrn~vu4?|8U@{J)!Abt9QQ!W=b)K61hfu;Q z8>|<%MhlSfH11tdY}z7ZdHPOCYFdYij4J$9oKWnwFYIC(#3hs;JP)pUkc^5HZ?-!g zWoe$92%!m$=^034-5Hcplj6gnqr_=ZV(~s83<3M)3Y{yrQ>tc6gRJpyD z7uX7dDIzevXoN?t{l2o$Vp2S1xF-D8TbxPCNtjGC-KQVe&H%s zMvJ1Po0*%>4%C&GC+VewSPCc-#$bJk_5#hgstJY(+}Tn$lRFtbX!LfjIZ1C#J zEL(s%tg_u6Etw6?6WB;-I_+eT8CQh=Qk|_nM@#S5FD5lw3)|OtdAx4OAG_wr*SB#D zjFU;zt;gO^9TUv<86lqHne}OCdkjHF)y_BH-Pw0a!JOj~Kx#f1Ze4qdxA}wh){Uqu z{ojr1DBjYLG%Ak2m`8%9xanqZM57F731S$EHQG@&?8{l(PNi<-X*dl6UdH& zNAZm*h7c)58(;8|47rn$7j3rxP1eOEykpt{^dlDMfNfJ9ZIb2#kq!17Kh6Z~4gPlo zIx}KE1hKB%8*F0a#thV!W&J1P8cxfmHq7n4MpuZda(6Oqqo&F%O);?fe$DyHd0BC#v&HH&jx3zgcD~4h_l{lWtR?pGm5Q6 zfOG2jxYCGx3H##Das7!X=pEH+w9!M?!m*@rPs4wBIb4&p!bkD|4 zO<@&HYqXOlTVKaJm*=tb0#jj?%10W(tn@g?0@XNV`vd|_PWM}{+)eO|Aw(6LK_Lzb zD|&6(>UHFYpC_Fj@2W!flY#d%e4F*V1F+QFC){E{9NO0rro4I@=!-N+n51@T=I259 zMKq;wp^9R~PzEsMkbKuqx)&^rb-?WBOV_kz{X>gdD2u?BVJ>6C{^9UrI^k*k>!nI7 z+OeBxsGU+mT3Y!dueuXY$CrA=h|R-V+_3UlxURg;k7vPJt$RS6L$b9-6Y?sbcXP*b zev@)rDvFb`E5o5_(rAs;#4~Zurr)i0soS=PZfZ#K$#F~rzPa&;C|4Bam`@3KY&yy&816 zW_3jL;rE$3I*a752N>arb6ZYUJ1C2Y>A^-T>?zNdT&*8@(1;ZHH8!SD&a#Z6Xs2p% z2T}esU?Umj^-KJr3j1b^+9J|s_iLw%Xc&!6r;>ef@xqduFIL(4`k%n4?npjW1};_Y%n73ip~IAyq0HzS>UP!RSvv-hCsV+}81&h8 zl)Cgvk9fz8uJVUgfIN#@EG;*v@`Ec1t)t@UT`J3hN7u%rGSVIqPF6U`vhTpU<|~ct zUmErV8Q&jHdz^IPUzzCm`2gMJu2ht+H{MQQk1rn5m@m@9oKF|EM_kbnola)ee)UT8 zSh1XB59d;r!a)bKvj2z3VnhO1d5g70IMziHr2D*L#OQqEcuMktuC+M(R2#Jiqoy{W zGV@6-VMy?N(jMEvD0<(vOxMtuMx}C@aRS$h~7V_aWwh_%N*W`3T1yaGPKa%5e7S>UVyVm+nbv z(W8w8qSe7zwmy2XeA*`mAb;LS_Zu9*7>DOQPO?8Jcx&I?^wz%$qZGQ*R8KsKi7~o$ zwMFZ;=Tibt*`-7`*U4Z(e7@?_iA{^OmS^bNIAhbI1$d?{UV@Z6!15qbZz~w(ZnFS< zO8XPdjGuN_0D6cnB8x0WDH_wq%Rfs8kTqKUClTJwK zwJ}P0YXzJ@e3y$Zw zvGzp!62|ageR-cK<|Zz$I!bmziG~Ak!>(4g>7iZk?~_mA!w&YJ52@B+O^IH{e#v4&#M$=l5oG$<)mFDKB3fo#Gc)g>#2;Rb%92lABDHnB% ztEPpA+M_~#TqmaRSRYECBkBmpr$He0?CS?5 zzokf?a3AqA2)<4JFi{lkpg5L=mXpeiAA)glpn=)q5 zaZbDiU;))r;Cc^A+6g`s@N36;2KDa3aUQTZXpbLRDR%~DR24&;nhX$T@#(zY5=@@V z} zRi#?M{fCQy9_R5`Za90%N0vKYmF2ew4`{cDbgk5 zsz{{LXnAq0F+aP_Q(PBsPDrKqX^JIPKDL1=V@1Faf zp(itCJ{^6P9pPbxySBZSZOi*t zSdS^m#K4ATTBygHrK%<_d4fg@%gXY!>&i85yB{GIxQ0u^3R7Ox1)Ya(R4qy`0NIP( zDNM7Hb}K^?yd!d3d689(ju3_+GiQw(x5mle^~>!ybna9Rw`EbH)V&t)(0Rs8fqJRDILY~pO6;XkmRAc4IYSymAT|IV@NcfMIIgOPckFT@pwgyz< zPlKuQe$BGU${lVptHM-`RE-9I@_Umx(PwzcWN0-orzRYEW-d(Kl^x*5%Pg~B{ivg@ zceUUI6Ze%NHAS+8?q?+_sfT!LBKd*kD|>x1h^vaZqBtaEt{vr>ri&)?fn3j|UFFxj>O8Ma(}zmMj{OyE(FQG^>N&YgUrHh{(j7fFwI_s%GPm=SD< zX~iX!VkErip8!gnr>awD3XA!0Iccxj!%pY4hr?oT`!b{`zlt3VJovSh^=>r~B8xJ6 zCiSdUVDoTxxEMTPawnopPj&(D_d|L8d=H3b+Lvzjs1>6~qQKeIH?R|UaAzs|eQeG( z_P1_jv?2^gjiKC)&%15E{7`?me9EsU(*w!LF`nT4{St&W>$VNo@aKbJ^+$bBXo-c6 zLTl3YkSrTZPA0dtiXDmNl?Ok~%O&XjpcPw6=kkK3B5`VFFZ4|f5eI{+e14$rRkU2G zMJmmH!|INvsCoQ^ly91tt^8+@@ z{aBMwLXHmOPy^%f8w!Q=bi}QhmT$ix`~6tXjrZcU;nre2UFX5Bw?&%$J~T~}Q0*69 zW)2nmmEAGx>!w9!Qu3td_^^CSiVGNqEZF#IeLvfe{?INa)wvd)IsL4$*{0`tzWViA z$&kyvmA*Bk!pRjdIEqC+yQ-zY=bOrL#5I-aFkd_UAb324yp$8q@5R?W{oY(6BU8Fo z3wzh3U0pCh_s5Iu!Xjd{yV&Lb z`evD5<5q7cg#tX@f*{{6ACERw%c&<>bcC7))lt5Q+7M2rM-eF4Ek+f(`VPrw-qFdW*FDM4v?f$JlX=j@c<>gi5rBcup^w9VD^siL zV7>Nys#XzCGdDzXYd|?qT9&7l{=7+{WtcgQuC$fTG>ZNh6 z%V>)#om2`?>cz3Hs>HMfZdT&~Z6ek3zDI03yr3mC`ndn~Fx!wCp0bj@|MI;QSE!w{ zTX^V4%gn<_-D_r$`rN)Oa($3d=^PHz!1eI8Z#ns)lRnSmbg;gcW9h<>m`c)5C_nS? z9p*c_cihQe6p-mu(WO=W;<09hFK+oJT@L|7O`_Ia4xLY#C3t4LaW5k>+9WM!2g)-O zjYA97oCtWdI?gj4or9RWN>k}8JB8;H*Km-&TG@BtHi?gcy249~R^cc89Q~ZdA){5W zu7?)<!t6A65q{(&3B1M+J%(wu;*$?4}@L(mJx> z%ypXZGk^A;2l;lhU3=IA2OZIoTI4<{j+H{0U;i!6>G#fXP~6T*=uQ+4Q~$-RFXz1> z_vuM6q^Vieso>m%OhD@eAZ&eqqEuAl(K&hO!8e5N6P0KS!1K^vd7Tu9>(e$@=;}Au zRSNDZDRd#Nz=9{}$V6rZx?xb~D~cl4eq4tn#w?X=U}Lar_WJ6VJ|1zdK0}gJ?aF)# z*!A3Z5#4*=!WfNBe_q}@*Xd~!oy1k-V6A?wd*dEshSPj2S0iY|Relsk9gSll%vXDn z$8YSd6??&4Ey}UV!5}&`gUQq02LOrX%ZXWzJwetxYK7NjQtTWV8rZGGNw$LJZ+%z; z`j=VTlVx%KnA5gl!^SIk80D6*9Ai^zK5WDRjsL6hu9DOOo!+*@Gg4ddNCp%iKWxHk zc4d_VjcwGBG^;;Pm&k(o&htAr4*x4JhO`ZL-9f*BdKh#26`St)U9(Li@)Uqs z5?(QR`u?^tb-Tdxrh3$?L_Eh>Un#2vDZCBo0^IMS8)Z@@S?A}+w-I_hfIHns1OjON zG0+q~cx(V%B}$cB+gz~-3WE>Zk9U`f#){sxXDp$a;6D+t1y)Cc*X&`9NL4-L0=^J#jW@M#jS6WR3P+PleAP>;5q!BXLyH<~p|)gi?6f?$t-x;wSHXbSefvQXbbo;d z_glwo-W~4%AxH6olU)YdSTSC5?Q+;PBz7|=BcgkrXdSflq>$(1!)qiCnEP`LYGnYn@2{Sj$>2S$J0K(ArY34Tn&_ za$8rs9A$1YsQ}-W0jbX7lXx7S*M{A|;mq}+NZmfF>;}bGDqaOMW5Y1Q$8g@p_YxF_T4paVcqk%KUN4pqOW=7w%_AZ>;M{j0 z=+{z{;xhOh;C(~sj^jPO%QnP@-URP2k-iLM;G1(`rB(A;I_1P4GXOy3Ge(g~+`g81 zf4j}v^41(sS^-w-VPs()A37FRUrR9xg{hSkV*7+MFRL~Pd8yn)7<%=|Rl@X?H((wuEQrB0pNPUDcL^w7*(wa$=g5KcNi^65 zl^>M>@shsmI?1YNzWT>XZ875VbpU`D{k%V62M$nNo>Qg0CGU*HDQ3>Fn$aHga)-k7o0;afKg=70xUR-{*BTpOx z4`>rUMc?-+xt(ASZptm`F{Wy`uTgDZ0M)eUm4L&xZ?8{le>If)zllpLYze@FdPS!5S4K$nt*6tH3AemxIg1QPgY7Wqwj&vvh!K zR<;8t5i*(Gh%n{=d&v&LgokY`s}1{fl%Q2CifiK=qS!1{TyT7WEbMsf5FYjlSRK6I zL`64^ve!9xz$gV6LW41RRx>S$`&r7}9EiK75ZJ8SR#WhSijmo1UKt5kI?ran`*G zHGS5i%m%xkQ=f1z-}rd9O=!LQx;-p}WpoENR&bHVcE`hG&GFX08vvBr$S;~NzZB1>9S4OlnBLJ$qN&8R&D-}qWx;&vti z7Q(Sj2^P!y5sBeMrajF%Osp`iDtR%B+M~6VMakOIC(q3V_Q|^|pKks$287EdN|uef zOcgKTZg#XSb{`{b$L@lrE{4mIjqy2{5kJ-BI|+BF+Rd7ZvvZd3GPUo@J?b@HNpRrr zI;}ZVb-pC6QCnow{Z#)FRvJC+#d()OG&B2i{e7kYI|QiDMjpnJVq^dC6V$EPau$qr z>mTrY#>{ix6JcUdjY!-MFtkN#6Mwm(aV?f`-zj_N{SnpZJFm-&!@9&lWy5$z>r^#B zzWC8N+2U`KkbRgi!q}b={Myn72lERiSuJk24kS9Roc+i^)H(rD9(H{5NGMOF{MmrB zs$RHysN}9!DGnMXd-B8~q)f&TH}Yq$Dc;KNW*G$yKfxGz z%WR&oqqKC{ZZ!bXaq5u7U7zNU==HIbi8Nt<;+) z&@&14GIV#kJ2~%=%e`%<`KT@t%2jM7-aAIHleBJX^Jt03`kzp&2ADVlnXGb;hhy5h zr*T=ka5#WY2m`#|<|pqu|tBD?YKP}msGly!g|<-2i#!ya66 zB#%N>N{tlnSi8_m*{G;H_-&*6zHI&+BsaV=qF(s1%p};UR|u)N^%7lgVAtmXVyRsT zmj=|$jkgBZ8mNOflL>uz8UkIvD>N=IXEjP5+t-~=R32Kz-Fd5iJpN?l(-L0rn3P76 z3&Fi^v?CIPLL5UG97Ft05Fn%PoN2B9BBOi$g^Zs65W+n?+4lRRNAeyGBBL|5^?tGK zR=mk%go`d`#3-$K>!tTl@@ff;5=UHHm~yz)|CY!5EiCEEF0{@#Q$3ja_SW|#8HNJO z6w_Ez2GLEgh9+!{y%@|7)CmMhbF8TJ@G1~9arxN{xTkAGQ;=ZF^#NT~Xv@Mt@o^`` z%|`2H5$3fPo2T1*?S7_NKFkkzG~^>=A2mgI#<0+T+~Ps!(51+(P8(<9eLXXBTU(XE zUoc;Tiw$%=d4p)eaGy;$EXD7?z)*YrQRj|XS*0+llSLBR820)0@kc60Lwl#1 zlX0&0W8-^2&%M*1TpM%$j)c+t1b(RrlN$S(iVMAc8V#>42PA?kQ=gaoQY~+~Y&sdY z1`v+KlIZ++^<6pb!HdLm(G&$fB7R}5ug5ZU7_cPzOSGO^J@byHRVVn|j<|%ulz)E{Boj(;c zz?d~ZE|Xfx!*Yb@$LKY@DvB*`*GEoXyG_~@#+V{vfOcY;Pc$vV`+Mj}3)xN!0(Wk+$Fg%p@ zNR0@Y(`Ax{sts;9)gFr*5P2M38N_JF-YhnqW#u+r8qSA#OQ#){s62MNYTK$AL-qoM zmKFTQy@r+UzKL3y`Fh6<6&Su&AnB-i@tNX5}%k;ereBuB;5kOW>)28~W?#H|zU>1bx)y1Av3>bbot9Lw^KMN;tg znCI!#H}NxfnW>}SlPKmvXw2W#ethRQ{)er|6l~57U0d&qARyI zkaS0OL{L3!Jhd}+JG6I;4dC9*PqLA@{EJb#t5@$Fv1+y5{+depR`(}L)-9g>$QSS}N{i~}l=m`K zR@Avg5ChCezC&NRl=AKOKi-qIx-`csynAvL^&R|HFu6aA(#NC^g{?MYQd@zXK7uuX zLbPa0z?^cHW0sFL_Eq^~1>sMTq=E0Dz$r+<-bf2^Gfe9=?vNxZ;*mppmSLaT;AEfU zu!Te$9`$6g{2rV{o)Yvm{yj%$W>2Yp zFTM{!>T1qgP}@Vi<6jzE2w~QS3j_?P&Js*A8868Po}9*H<$-yw;0})*xCU;>c6PW= z5??|ni2l+JYY%G{R;p!VZ6ej}ew;>Xx;p4Qp&884s(PJP^8}#A&SO(&@hG4Ycp34@p48k7?Oio78x$>hN+;b35>wg3 z+`6zZ0BVkYN%+lMy03ywx0ks&v5z?n)dTD+!V_y=n)G#DcMudm<-OOTcVe(7##-vjQF>- zazu^xC$2c;eZHP@hJ{xpjn7|X0SbL}usC;WG%MClC1?T;DPDir(Pt4}1$O(wIrd|D zO3u0>C5ZT~&bdE*WCQxwCuqW>3fT{p&Tlr{=ZxxUU8rbXL0jngeIHS{_lQ%pPD4&H zYUNfX-H5v>c~KF+x$FsCoxn|MBJX*Cx=i3n0eiV+UEXxS{S|nt<+}!@)+zTs#j--3 zd?WPSWBRV;pmXcm4UZ3;ZET(ZP0NI(0%_+9BXjF6PSk=<+}pc#gC9u%DetSWHwh;| zpczpk_6y0~oumfZ?+=1nN=dNh2%K?!ik~z;#WK)_<${^S@e|%@P7+*PmL!iTZ$Y7e z1{|+vGtv$eQDMo>z2&DH$1A@4XM&G0P+4GxLY<-~u;8sXtZxFg0*)fes=c%InO;#Q zWLXQZcWdEwP=?A@`%pnSh1ZR(8GM?ATPG`inS-M$pj8OLjeDrR-(h3`Q z$YA+&ym5L1%gi z3MOqwUAHIajH#(iggB+0Vy2!HV{V@WQ7$e`dWlXRjdyWVeluYBavFq3FiKRHW9RyajuC7a0f9z*r+ zvi;%!d8Sp{(yK6O7iAZ^-b>H2^?U$_EV#H8sM`ffSAr|3ey+DxMS7E%JfDSpc+u0U zH*j;c*9bq%W1?{Lac_V*C#P0^e7KPc;XAzJ4;Ny+$;f8%eMYi;#8Z|Zw9x4 zblq^m0e#jWVGK;4Elyn@Z|Yt4$D+GSV(3A0SQ7q@YIyNvwaB+VA>5Dp_y#e%)9;;9C2QLG>gcb%63iYaj|v;OoH#2TcyvfN4_#eH@&%MtG1 z5MV&&Jl%3dQVA4RJ*d!CDho2x4bX|U_3%8^0%vu8t^i`+3bg<^JuR%e9FY^ShkKz3 zd_cH{U$Q*hZJm~dmHt3O5TF_^Xc?wF`DB089m|o2SjimPF?YUufH1g`JJbtLUf``@}qc z&qvm|_)DZ)7EC)16$c7aJs%?teIqQN1-xMz-~BU7@h=I-|i|Ea@9e>oSx1x zgnj6(V?nhG}rzxT8|f|dqRh^*ApDli{P?3f^;CQ+3%QbVaZ;fVQ|m&=Ct@cj=> z%FnY(#>EUe*GPh>4Q?TN^*Il4HK+yrF|Q2lI*WzBw#r9*Pkla!cr$8%oyUhBSHYrXq<_S(n$aeeVX zWx^F_jWPb?_YZoTW4A&aXi@{sq1Pq}ixrxv%WnAZtleLeoqY`9&LJ8Wxq_;EDwRv{QxA7zrj)4ZvB z!+4y%cEAM#DU(jboedzN7taW;l!3Bn?W=eKS7t_wbFC~u#J>+ZBey?0?d9bq!}3c( zrcc}>CbC^eft_VuPMnFu;b)eNB!2jHyv9lns7zhaY#MCC|f> zC>chp8mp2Q2EEym!R0IsL}^{!Y$D0CII15msxq&X?$%9;hri=^!AcG^r5}&jyezGZ_b%EQ3`^brPur z!{=0Fau-;qGHLEGO1D5Wi#Oe>-EcJ@oVTmGt|sk)ZXs2KeCs?LPTo+Z?eI@37SVSU zMh{n@kTnbp2} zGAGq6P%dMmU6;ZxQf{3Un>E?d1JbQDB+T)|%wCRhlPQ(y z7G24&F2W&sh3~?{g7f!=YM=*k?EkFbd36|c{Qk^JzHz^{yD$8X%vTt_e!+}kxIACz z%ErR?TOzf}XtD%R7V$@Nm9nTjKOfEO`G9fI&}q-n@`y<_Vx#30WQv3fsmPGI`oC(P z7ZiB1F-meF#(?;vWWV0F5`Lm=NTZY=v!9_$0~YDqIJF$wVS5*Bf_gv4#lTpSefLTb zDzpworb#$37&j@o0Qr%|0K24IvWOedzgre!<`10_<=EJXzmb|}iWBT@<|s+lSreV4 ze0QUTBb*3f9h2{Pcr! zvdAh$Xj0yD*ozC5Ma2ZWSlsUtIV#OQ*6qvx@GWqUouR7ZOmVCWg7@2R+D^$+lh}8V zhL-4E%p2n`G3vM7_j#`cWRt=0oswwT(=Nxfp-Q?(s)x z``7f9<%0K86e*Gm7L=bXz5Ad~=fd^Z)CM~{b7TK<*`D)tDyEV3pBoMpP%iN?iP_?O zM~u7I@>?S0y|2VOH+FoHVw1ej4&^?7JAK&Ll`?d4xc%l6AI^IZda1_Fe#~5I+!rp{ zuC3-qh91@?n&>DQ`Qfl{i4Xas6N9{krotThc~_U1iU7AcVXep;s(h6N0WlcoO`K3{ zY<%uGr$G5Q0?}6!T&AAR(!xK<-kOT4kidzhp0t!fmdMD+m!efN`OZ=k$Xm?fxRJ7A z=>;V4+e$tA_r7Ht(l9TJyGrJ1-vFHDN;-%66wdJ2;N$QO5f+C0bsx8;A|O&5@dKSc zO2A{=<@!xP5AWAn@czD!z?fDLA22ZMG?5EMa*FCcynV2Dbmi^J=uLcLl2nf&X}igg z%b@#u=6<9%Z{Yh{#y; z+Yj~MbqenvT*8IA_#w}iOwfCr1tLB-r`8doo9V^wJ)AIO?5BcF%x8)uWxhS7=Pz2~ z7PIcE=?h&F|C`Rv+P^Q7NpRFHhJV{0gF!z&=H5ROJe~S7oRM@z_~sinJXGOfW7Ys) za!J4Uc}#?#g+#-^nPcvox>=>H4DW^0QuNO8MS~C5r_S^0-<;e6r<~{595NBT^yb0) z8}btQeD({n;&70kAv4ZqAbJ@yWM4kYqE>6==)pkZDyCV9x_IYp{X-HHu$D(AVbO?pW?W&tBj^Lmyy6 zBFDXguCE1p=GgaaJ6qGu-!#r$P6o~Sh{`cSanCLrn~BRp3Q(GD=fFIoAlfHir~cOc zv#hE7=u#C8?5j(m7basPglFH@@*gw3q5J3t&>TKY?21L9RV?t-8!0BociZ_aJLS2( zM?1FQA}$NhX7-+1$#pYKc0(RKt9UyfmAHN+_sglScjf%oC7bM$o3y@vbw%_};m+3{ ziQ~B_x$lF_5#k@sWIhfelwAJ0tv~KCg%{jgSd|C3nBQ)C>0@I{F!=z~7R^<4EQnC+V=N0r(cm|lK3t?S_ZfvLwnDAGsSW*gWnHisi_GW_&9r#t_~Va{cA`KN1WbOQI~T{%g;efzg1?!UgI3IZJF*iS4y zBRSYw~5a4O-fM`~PQ@`A-D%S z%CYZR%Q$t4Zb0lLjDqBE2O{WMQni7ZOM*@?ANpl=%6qe&lcY4_}bUs9jpUB;RUf9%%^DmF@ zUoM|Y43dN;dD|=e!~6f^`rnk~ew?*5=vHB7WBA7&mjCg`|5zd}KojJGboy@#-M{-~ z?^`gYWHrQp6EXZZBm2)s`p?&Bashh$7v9SLx9qe3_hU*SgI4Wq59NQEH2>qPX}kc@ zu`iH@{eQ6I{@ZK+rV+*4SA)~;?X&Jiki<{_G>3& z>UXVA0{s!Bdg{+Y@NcilgvgU|Mt>@mtI1Hgs!;w;L;jh4>YeA0lc)*DJpWFV=+y0-8`Tq>^e|x0- zXKw#*mZkqJY5)E{^8fQnK5B?2`a28Y-x~G*+06c}$Ms*|{GS2;j|0A_5w9&Y;eB*$ zsWOe2-xC@>zaRXTtCet9s*=Xx^a{Lg6_>?MMHefHl7VKDh{=!?Gci(+rPMe5zy`1y=|uPs&*9G}LKOubmE1gPL6QB> zTMxyB7n>t9v&84`dTM5>A(8>PR^X~u-kNC9pHlud{ zWsn`j`AOEqv#?!FRc?PGZyu|Z+) zGddHGUPhJ6efQ>#*D`MkBnb9(E@^Y0BUcmeTb*aRoYhd&C5W1PIR|N2PQDW-TxRTV z5>51oR1y4fidP=zYC8-8vRd}VeM2DH>Y6O(cqNimO%J{wpYJ<*~a>deI-Car*(~cZ8~9FcQ-6E!Vsy^k&FYQ-c4j|(C zzOo1PIVAxp*sG!KsvchlFTk%wNbW_p7|P` z+23~#BX@ zZBP!tE!t`jO(V@1x%n9|gr}P8Mp`Y;Hobe-E=FXcYbP8M(0`4@J1LD#6g)+BPN#;| ze@^T5lbFdRh8>@zc_Zygg7U~Vquj6fL^V|NC2C+9r?Fn+jKK})Qbt%VNGM( zlkqPK=1r^!rzaap7$2+I5_Lm=?8PZi;h}|x{whs66W2(uo+q|QPR#b*PM9({PVPz; z5Swt_H(UlFykr`-ECIBY(5xjJ~Ad=ncO z*KH;*ptsRqIogqXiTO$IK3+WEX{n6(aJIMKkilM1dD9n7J7q26AjDli&*`Y(=+R8O zbqkUrR0Dsz?QP5EnmG4DwBN6%2*tpAi`{VvzSEHPf;q&?7 zw<&grJ3V`|<*R*h>-G7F=DpgOo+cp8jym_72{1lNo0qw`6LMIeQGD6wtV(_hw7<)Z z0p0f-d$Gh~Y(fq%Y#+z|5ex&+Q_L{o zi5JS%z>Y9e5rn|3bQ%xjK-%mhI*^ujl~5RvJZ zIJxPel?ZJe)1Z_3e4wieLsJ)jTxGmdv{4-4o4>N*)!B^n#Gch8k_LrmFEQbtQI3#n##LqzO6xOz-8cYtIJ?fiG$K; zV)jvzY0+AXe_o(~INQluqz#JHL(;h@qu8dcl07YNUeL6!i~Y2HS_x&Aee$1xtbV zMa?EIwZ_LPc?prN5PFUVE;IxW;W-0i+qGIWd^o)^a9&%*oVEOH0s|Xj_WLTrmzl}R z5KrkvzsbHr7>*BD#YWA)`#Kd$)ZRW*C+>K?(?PH{#^Qxomo<^yfbk6jmFBSaM(F;w zTjhXE&-IG^)ydDr=eKG{3&RV@q;f95q`G{kSlv;U(JL%0rCk>G4#_?Oj% zBLKy--H{np9jYsUJv7{r^Q<#e--TdW%-zX#E9 z`;IDI+QmuV61;VCzuC}@gJ0*r-+AAN?QTkwx<9*TdWQX!H_Tj9pqC)x#0Vu>_rV;|6E01Vs8_LW;X6=*KbAfdv49ul8x&{ z6DDdKd0OaM##!`(jVucAkrw#{-@hcGh#ZkHava3pxGMVYhA`{??DeTHnP`EgXB@BE z2+G(CtM9>R4IRXeKE~AEssok)_8Qb?$(>>}tn_MPYo)SyPUXSv?*IT;-|J`qk=#t2 zcp*fVq8{2qH_iQ4TW?vaU*;<5j&j!n<7*)W)HxSrcNN`kj^hTjxmw#3L z@)A2Fsu93?CTqE^(yQKv5H0AJffI{xA2J12e9iajSpD&8f>GIU-j)onhR?$BTfs!Q zef_|)qw_bnnznj>V8~z-DoBHkqHA~;at=29^Mx9DCm`}=uO+d2N~b?FLPXI_`P1(U zR@HmN#+i%3`x=i6gRO$EBSlP$yNtBJYIDSSbZRd0Pj=$7i45$ z&{`9@oSi72A+8$U8`}fPF|7OhE5vob%R^Y}ej>nI6h8y&9fofF?fXZafxq5C=bf`+ zFQVzxcy)_6CU{{c_xuu{vD0E%HevW{MW}zO(B?j#`1)E@4SOtbTg0>7+X;waiS>wQ zs3x@o1o)dy5>IRg+ZzR$o;MA-+II;IE3^8owv@J1-rnl)2`|pl#6gir98CL|CX1WR zH{5&4z)d}JC3wc0ZXX0Ml^Kh8E3X~zGJAKIF!=Ixd42W`s`*eyQ7{p3^$rdya5o;xtJlOS^Q9J zp%I6qGeHq?3;|M7x)uWPk5Y*8uw4rgK@h!jKWa4g>rDxN9GH75CvcS5=2*~&PWtd|L}Mi^FwP&nHQPQ0Q>!Cy@y2IG67R^rSN z?%g7bb7+RcH?4CGz2iy zV&REW+`(!6`&m^qsWfX7e}TWo)hCad!TCE=RXj7AG!vX-lon}|NV!Z6#-Kf`g@294 z^h-?Ls)c9i8wRgC+CF)&GZVVfiTNrBy^z5|*iG{U@moXnf%L-Pp4hX0DSaYQMVab^ z-3EkJ?hN+XEMx|m{ba276EuB7*(MWt#1G!Tx`daTyP|*UnJqhbxVa4$)iPHJNq#o% zt9Av?3jt7%e1?}MN&;}*5kp}^R6{nPufU@)hhIJ&yZ>+zfj}UG%TJmk&*_1NY#Xn= zW0+u%hlHWS(xm1mRq`S^OJQ^ySJewOKL7SD_DmQ#%THA?-(QcGgQ+71>xViTt@6)L zN>>%t)Lblk6e~`DrHO~kYa23usa|h8JTxvmw}{`AKYr)v+L63{kiHyzKCZq0vH4o8 zTFOA9Ao&yfIHxOLXy&?bYEBAufm_0cWeMxt)4HOZ(aL$Jb!%SOY|Fz_gdbk{;n^ai z=JD$qL)Sq~PhE}tOl-kpxxEYxwa+S42S&&9+Njs_KV6Um} zbCz*#yZurH&uk3hZyjR|66{fDA9*gNVt%};T0wr0W6-6~*mNmGJhE&&a+=ZCI9hEj zExxHHvE0hD@U8S@Wquo#htrWRWkEd@vTL(HvT`rZ(WkKZ%ZY;qN}z$E@`l;8dsadS z(d(}g!aL}aMt2m2WP@3~t1)Q)?T5TjPWHRN={cVJqYs3@#{i<6egYViy^7A=Y{yrf>jo=4jNj`Y?o#5mp>b~O;{=DF?6}&Nk-1_=RW-iY|%K*Vk^e@!c z2vw5BMIhB*S0PMFLh8%BlWOM)pw#z#8v)MfRj^q*5ITswP?4{VbQ^~uGj@mcxg!*1 zOmlk%%P>j1bp~~nk&$K^xUD=A&z z|KR1Ps=0EB!Q)00>zp3mo4B_{k8#D?=ZRYbo%(8~PSW@fBVzb;zclMU zC&J?{yYWz%wvgQ&StYKjXA;G&J_KSi@(y>lZ^b%~*<{UY+Ee`U_az%y5NvQA$5Cs_vT6lKC0cm*25OMNFetf*tSOxZ?jP+gVyLn&k_^2l9~D1W!hTcfYigp6hIA9 zb1EeFPt>cyVfE_qj3xY;RA~M&OM>0UN}W4LG|&R#>=a8_qmgUrSNvt(Ij^U~g!2@e zO`JU52#W1$bxHQ91H+-CZrhxWL+y{Y!=W7*(-U+nD}vOaDYmE;U|CW89Lh3wdtLcL zl%EWpzTqwJp&S`CmOqC4{DWm}#m3fl{Me8MLvpN2v!Wa;Kr={Fg+oC3wN)Z~Sn<^_ zdP)2yr-#=W_}PrnEjv(X(hp^JWD!xmw>wgfEOB!PFq7cnS8ZXyR7WiK{gUL0PGeL+ zOK}8@SeT>I;#u4$M=V$D`vJiEX-V#8zL@VLJy*Y4$sOP2lJkZi=iHaf30j>N$tQ6F z9t;A4a?Jzb=#bk4@WP@d!o%&a6OBRUc3{iPH?MfTnC$J~=a_x7d+G`lbwM3#7k&L4 z>kp&hJxxfLmk0|D+6I50bqK5X8t2q^-K2T(&HiUyT4C+?n3QJ2=k5E64Uat#*$h+p zyGQiuNyZwzVBDD)3o?4!N|X)N7Smmbcz1v%h+7b{@^jb_UW_r(3+- z<*fS^m&)JdPJmur%vN#kNHWMT-rv+sfiW44E^=DNOu2`DGY!@p6*bgSeiXC{oj|7! zK`ni?q6#(fSs`-kPUTY#INEPBZWb^6gEKEPMvb4XMJ|0xbt(a!_(ejyc50`Pz<)c= zQp6$zEkC&b674Zw3}E*}T+g!0Ax-Ok$dVF0tc7eaW*c^UQj7*!)V_}y?eTLfw-E6$ zvf1eezDs4h%HL23Nh43i5)4zy7w?g~YvtueGjTc6XupGwpoD+6xZd z@81%>D+MuqjT@XUHiAdd^Z9_Y@TFzMZobuJQH96d`2)F=iJt(!-rl(g-R0=#Vt-p& z^{Njrj%Y7glvWVve99HGsPTF(kTi_kGx2086E+(V`I_#46<2xwM|InCSX%frX=*&= zWB>vSxAt`M^5ETqgyenr{wrAuMOCW4*Je_0IULA4*G5G?lyz{`%)K83=$0LyW9M8( zL#TrTKaz5!+5ZtQn_9c`S1#4iD;CLiO>tJqaj#?(f6m>S0!AW&)*T0QWVe`vn}snR zNU^JwRHe4_!MXvu;6S9E5N@P3vf#UTn$;RC7+@A?5DjqbwLV;g9w7Joe35bxb*Q{~ zIRBZmtI>^9+xU{IK@gGrnfq2*LRv65x0r z9&7VA)Ldz>mmmAa``*Huu9l^W@0B-bYz^`V)M$4i^t~Q1#y?b6K=MO;$(Z!J>AB1~ zSAeiGGU!R*gQWyJA<~QQhByp5y+~EfrWDfCE}immH8JBid;f4*Kw1SJ%2^97&`01d zMI22(4rUwvLSssQbctUoC$OqrwqYxS+t-Fc+9c70YsPmBAolsDCis>fU2T~;WoLII zC(J6Of4C$5s@)&gY?=Mj>z#Rgg@H@gQ+xQ(-L(w!<@`3=ZzUYw2P0!lowMFa zTJjeXb0b4XMeGn%Uif$_Qz9!F8PZ)jo$TkiT39vm>yIHFIpf(zZ8bLocCX>aR*&s~ z?-N|?mUIY`N&h|5z@QZxQ@e0fYcX^9hjQC|lnM@V{EraU+D>T#?-^w0gz7(AcSE8$vlRu2=c#@-W=W7 z&GaKz^aJh%3J7D#Scsp=paY)@@Y5E$Zp*(H%XM&j8dpjD(7mKqwQc@$V=id;=-s3X8huxKEFe`l((J=+Gc2xo7gPiUt`wH3b1%?Nr z(T2&f_5zn#bwp;61XeT{63ksr)zVEdse_Q0WM6bs8phkQSE(DcFP8I76rBmdqC8no zymaNMN9qszG4oT87Wf=aDobY{2&`%jp`J}|iwO1{8M~j07;Xgb?|h9F@7lOneu=H| zKF>kGn`G^u1eBg|RUFi~4E*KgFsDXv0ze?Rml_49e!$#A|1gA+tYpXjroFEIa3o&q z@@<#C9*_qaI!I<6`8L734r15Z^I*je&sq3+^_L?00Wz9Hu((EMk10(DyyrHhqj6Y$ zM8HL^XX-n$*e8^`@<`g%YA-l26diuOINyOWXPwHIFc-&MT@X7LSJP(rkSGkKRovAv_!vmZv!Z+T0xYV`tgAqTo#p)elQeY|pKUsFBnldw0i=m~SfWfHt z0RB1#(Qd-F`J@4tpzZwDj4Mz?6q2VvXjNrXL{I5fo99z z(lU>l%yI40qTqnz@gSjQhE$#Tq_bM)eSD*m!O}=~DP^;cYCaLdIQJ*HMnsPzZpsoj zI_P=n*3Bzi7jM7a1>pAE`x#Z5;efT$6oX zr&r!CcOb!`&pibr;%Kb;5;0{+gOzqL-Wn9FF&gS5gdt<9|8S)H)_(4oh0Uek7=xU0 z<#l8PyBwT!x{}ZzXW$o`R*d^VZp}+j<^pj9`4bCc`ePQU@8fF$ezJL5_qiSzf2?N? z!~Cdz*K1%vd3xmtX9x7-gY&}3d22o5^w#NR>?S(&^cB{8p)hmdKE%S}y`rw3Qa`$M zcJ^0%YI~Sf9DK(CInGDuS|fXl#^jK)%8id_qmT=1M3T(=gqokl4Oy)+E48dTnzS-k zZ~j!Ogpv!c3>h&Nyr#J2<{~>W1UI+cu?lurXQkSm?=RyF7|+#ZsC|E7@%DHfuK06j z%0q2AL>-=3FJBhKJ1}4z7LsNre#EY9OgR!>v&GAai~$8s>d1LgVbcw3+_)-c6@H1D z$6X0%3kdDvmm{u<^np!Zxo^;mY4)*V`)gI{a5uD z-fGy`xHo%7;B@@giNWi-4k>)Cx{>=Kaqi7NJv;-ki6Vg^9cILXx4o?(&n{uS+vIG7 z%XITXbFfe@`CbiK`~0)3tTxt(KA@GWWNTY^xrqewLq%y7hez@R+GnSYC_J}lQeYYi zIehHWkbXNO zP*%#U*C&GNF;;z~R&wlZ;%iI=vC(X+f!{=QubHmd9!N}@W1|AGa;~>mTJ%aTAemEd zmA{fbc+(REU+XM>aJHgta=hcd7H!$%W7aEL_;tO_W^vy~oFw7CQ$P5RdgtDii4!1k zq~%1?tHSRUsa*JQsyLd>&_RFgpdeIsL#T;`=w8ujyLSE8$GmYbv5%K+&HWiDD0StA zqT0S73E=(sE_5J~@~Vjq*Xf`>qWx_hZuzJ?xq8m)*Ogy9$8F%G_;3mucb91gR*vT@ z_T}9VCr+9g{a4QmK_GA78(Xh#z;Uf`e@nj1h8Q$@&AP4f7WRiv6Hugd$TEJ3Bt+S* zP}Xk*)m~OsyAk-nE6<74S5-=YDtfRcu6~F4WSq;S2~U%3?w#UB=NrQCaj#_AgV*)M za5Fahezn{0uRXlk#-vRCkTY3s3eC)TD35mF@QF@K6B_7U$|}CnXPl0pHjM`xO~{qm zaJKEtok&#dOh%I&XWpS2P6KW}&W6PxV9HTPA7^acy|vxTy9v?+pn2 zgt|(VMnVymi`uN&1EoX1`rJ>rQ#n^u(EB!pb$jhSZ?@>)Td5yLVBq*sWG`kN*aq8L ziOk!=f0#NPxmwWXAcAy|kXfn{?u@m@3UUG}`0nVNq=yMALh(v6=T!Rq{(YR~r$v&P zuuWBilaH5(PliE$sOACbQ26O3%CC<_s=ToDIxBoQB8Z9_=58__74Zjr-+7bAnM);i zK?M89AR%f;E@wo=yn!C%2oGV!bnXhlAq$oA?CXM0LE>SBieB^ka!m^?Scj59q+S~F z=Dl-ZX2#xa4m6UmoLa0!pB+w{Uy|!e-VDCBXNQwh zh6x1?)14>cXUubT^OKHUl147w+Wk2G^|vL3is+>zxa`2(p7>Giq~uiJk;eJG(M@Cf z_Vh`A%%FB6OFliNDHMhrs#4@X59G@EsMK2b^`oI($2<0dk!xXi;~gVsu0G_;>=@`Zf*@TDlg$nY8Mj_V_W-M0kDNuM^KoUF*Z655_0^pl z52QB&Lt1nyY*%gpjOcP8TJ1ZQb|xz+9fe=sHoJd#5pOeoZ!{A*7fni&@E~5tukQJs zd6&Hb2(rb{A`y3kIIK~};F)YnB2kfbSkK^t8*kn%X{cq&WLMH;NAz5saSo8}d(%mN z|B&(9Dr4gIt5qKJqX+oD$7@^cgN=glglhYDHw3;Fs;WQ-^&;mT-F68TqZ#=5lH-#w z32bK{!Gq8ZPp^p;qZsxm@@EA`tKW8Tx2XzGYWsxJ14O?Nzg)y>^{Vv+rT|1mDXJk3@tOUc<_D#kDfpgePLKBIK-dxfimF>Kq**cBzU>m1I=pU zH;o{s8^yonVuc@WE{zVS-QmNpf3nu#g?tYxuRHfeE|OC2yJ!=J(|_`>KyLkF=s;ty zayLKoZrJaRsL^rX80qr)b%cjovh3a4^X`Ih2OAEm z85Rne`ZC}@!ALssqG>!wIZEtmDK#RvBEGa3PC2DwG^{!|`NNa?vgedN;$QMp4wr-l zz9k@+YZj6EHNTl>6w~U{(I|Lo7j0;d+q0b4SDBqsOT`;LP?R*tBZMYz%5s!8pIBy< zL;X=pQ_s0rV4iqj@Ds1RqtTsu3nA|5oIcfFoO9rF^>u`kYityv`76yyl_XX6ci+8p zHfQ9~hR56oIYF+Q^Exc2xqcOHrmJp+``*5Zh~H!SbSS3ZG;~k+Yll9%$ukbOmr~X! z&3m30I^A-?G}N}Nwt92rH4OXB%g2FbBB`=?P1TXwy!Tm)W`}Z{$?R_HsJs-9{zgC& zKsnwdK@(+tlSdhU4HVnLV{91-g35Bs4OD*yD^QOl1B^+5{11XU+w_}O8Vqx|ZWA7v%`U5n4 zWB#fqd`f&rb2%89l_iwq1v~R>uXF#rt(NGnw4{^nS~13J@6uTNE^#>dxNPURV*&5p zWxF@;BZ%}b*)RNtHZSh)je@?Edv{AAe-ACwdO4{I{yhxPROrtR&G^I& zWEUyRm*}!Ts)q8Amgxeo<))*2H8r&DYIVf#CaFmr&h0>;u7-BE-iYjr+5~x5H7uu8 zt+O@Hb99tZSsG6bfVgSP12-2xxVK%gS>r7H)WC1^$N3m20VEc2;<{Q}2yC)i_3gkV z?p8dHczvn7)_Cw;53gzo^4>MWf=Bt117u?njXKmD3%=DL2YMAwE!AG?%rIYz@{RV0 zKx2Q)-Z4})zF4&#@a}xpWiSkE$Meo<*uKRyVOfC%X=5I{vjJ4WMC6s(?-ldJ``z_H zI^KD@=HxV`utic&7f*75Ji_2Raxdl-Wz>LUmOLmYWebVL80aX`n#f>vH-RF<`WWW5 z5>k|U0UAo($m(zz?L#twrI-iQR2Jty@Sc_mTx7e3lsR7QL7SC2SFK^ALOY6SkEr^x zJq*?v%{)qwTa^!Ri>j#Jz7z-(Gw(eQZkr&`0<{mig@ttn+};&zl*M$sm|F{;0xx2# zSbUPA6{~&u%{CRi+s@ORRpr68{*S(#$h)(ZI&^5W2?A}Q=P=6RyH7Lu*_@x!!TsE+ zSuDMd5@EbIkaA0leXqaf!N;NxH zgwlGz(_ys;w7e_aet~|wQF7h+JLos|bvIIFJnDVZ55=tr7dRF|e^Mx5Xs1j>>w46h zQpmmWBv!67bhrYe=N2XfqzCI@i)m(`>c#D^w*wgnH<2sL?`rd2Ql6rTl#Srurt1U& zwA(hS2FBz*7yQ|{2PLJUu6!X?Y{+f&5LbPI;FFGEDscdRqQ{K~k8UIU1OtR{KWDE> zqgx1Bt#g@Dww{^RyyL@tn!Wd3l>8tpH_UZqBIgHWf_2Sb9=4U6U#^?vn8@=?c#s_f zGT6WF7@m&jJQm_x1M~9b?CgbrUm8;HZfJ6lV9*hg5@cFgWSJ2tDx~lra;t@-;<&Zc z&gY8ow~^e|;BtIBK8HjDvl1yL|CH&|byjRo2NT+$8T)365e7-v6R&0c z2n97`jHf3~rkeL1kYhW}fOB5}YwU5f=)URoJFi;Co9eudAx`s)UPFf5ypj}bluv~- znX*vW*(FmthaT02z`eL0AGefQJKsSOBi58{|MPwS926lckm2S|vrq1q{7jWrRJP*x zv%vQHKpA{87pAKegpeowcmt#=*v4}lJls8U(XC3j@hcURq|KS+L~(34^vZT<(3htp zq>+!}4ulhKW0PL0;GO=#ikqXu;BIF#JYs2(-DY6#bCDp2^dOh0MFY8Lm3xD$r1RdP z@3>cjr)EhZP&?8wST-;+8Mblek-7*`vDrqansGgOJ3X50y*`>vr7E1MY0>Tze*QMEZ&T89-qEs>oTmwGt3%c3Jq8nVyTbToMQ32x7oJcpsv z(^x48H{Ra{Ij>&}NS>nvQ1dbI6JeXuM%rH=VfcXv8oAi?0=6krgQ<^ggG#q4l<=ds|RNR#%4FU)~@^auojEcyHO(kLX}&7!W&AdKH)jZH92 zY3@vWm86|i!2KkJjh8dL;gjjJbuFob`0J@-Cy%=P$A7SMv4zfFnE(2Eo64|C)K17( zD_0t6h*~-)pPR?_Twm=|L90@YTfCMv77P#R8=j{k<_zcU&q{9>wa@N&*CR*m(apzo zhH~!Ubh+(zv2QVx`#NX%Kq;YJ4BAANu~OWP+JU!ci#MEE00^ccrc2a9(4J(!79FVw zjW&#?rGfHje90f8hIz){A#Ehlpj>ot%y4AL*)sMdE*bUGWLZ8$+6pI7-(M8z`LPWa zY!nS;*k0`gR*m0NSDDx!_)>Tn?K>MOez+uruMzz=F*#VU6Y+J;Q~F6O9xQ%VF+@wN z)@n^oMxyGS`{CCsybD#QRzIti%nUB0pDA)vl#47k|ER*Zb9%0sd#5bV4+0DT_z+BK z@R!%_5g!Fx4l$Lch{%to;78b%gXKU_C#d?pEZ3>!g@tRp2wFHSLbrDXN zv52Hd_?x5*-Vf%>#FnB!>TO-m&`$Pz_UBWzt`JTf6fWgWV&(G?w#rV{Ca&>!r=YxR zUoyDnCH##}s#@H+@9L=v8xs;wyInkx}8=xapyq9`O*7P=7UyEgly0QQTx&QbLU*qVWWzfo88!bbI=Ow*Jn6?b;I# zvT~N%@%$)F;9~2t_#T|qb7x_=IdSe4nG;}+jrsajZM+X5wAl$cxS!fbdApN7%=I>h zG$MGa0SL9ljo<2AEI+(Iy$^rwT2qtJQVW7k((P;s=ZDBkzzSD9ws8WI+x)tdqif>L z?{mF9h3AI6)CqZ|Vb$49gc>pK5^MgqGsdvWv8EnP?5j{_Swjc2m$9n@OV9 zXIFHzO3>IRz6_LPFu3Hg?RqVlyW#YRp+Tn(<;X%>V|KXDLY!451lGMSGQ~_O3mXrS zl>~M?4hqe#q2cDdxN$ke6Zui53&Q16OEDXcrT3=knsXyKUKNRiJ>c=Z!}d^aBuQ+X zOgb|PsqnfwACGLL?St5*{-p+&{ZIF-yI^ggEbM-``^z6jm!r#5J?_W#a}I+=c)^K7 zARG%xe*wME8lKQMHM`FeULsqRAfajCp>Bvc5XpTlq+du?$QWT^Ew*5#BX-N@x9MbZ z0Gc#O5MNxh{+wb|t=MF57p6tOMOJGi;~oIb@Fzb|@>}c^C9r!67Y?{%5tTe6N_}mm z=ZhHus~mbS2joK8SPI6vnIzn3iLeJa5w?A0V5$j zl<5RbS<*}+{zP}=uPBYZ&ub+;5}fSTZ5R^PocM`q!5-`B21`~;^sXucT3Vla#8Om( z)yF8UNlRnGvTnBgN2nFp)9{9mC`KI0+JuY_l3t)?)U+5%n%vmgjA`+(iNG?7ryBUw z#zHH9tO0hLD!^6hu5E!wJFu9BaXvd-WW^TcZxVT&ROQyDa$nCZ7Jgw}Q1I9~v$}|>Yw38-n zT@}-~r>=~mmNlu_`N3{*=m?7J^h;_DtR!JQ_z2n~34Sh~IVpSz=K0pwWIG^!3Y?n7 z1Zh#;B7Jt#uC4UHlC*gd1_xA#$V!tmQPq;hJ?jIG4I>!=Pl@3qjhaG-21%%nkVN>& zy=zv7l%goTr}gZ{9`)d%>(!Bk@awBq?dCjd>&{wSS)(v4RWl@>0&WDsbGekLkh)5= zY-x3)n?lBepb~-}Nq}uBw%^=338_zpbDI{dpOs58I z${X>^{Mz-m>b#UpPpIQ%8`eR3vb*Qd@lJ;xDcpW&vvfeU!~GW#Np20=U{W(|GnX@* zxr|U2Nxzr<_Nx?^316=7y0l3GnG1Xq)%dG0zZcptk=5H9~C42lD44jq^j9&-V%XD0YTnPvfg-0f_Jdatw z%~yN!4v$F?*!5#0PQn2l6>FYjrzXM-`glsmg6xyAGbNEWp54)Y?aCxd+g_%gPFN3Ot z%mDtBI&W10j7$|br{+sh*9oAJ7S`5Qdk!#$R2^iIg#Bt5FjW+@m%t!Ua^^6d_B4E6%O^dF3VH1O&++Z z9kOqeeD8+wh@fBexAWX%GLsM!m$lALyfj#ufJx%cG6Jo!Eg^w<&1PKzH0~qrHwm_`Vt5pQz<{hQp1E(bJ+6qt3}OO zZln!3_<_Wy^F+?YqfRS{lE*3yK3$7Y$9w}`yZJ4HpFYDA?yfK3o~-b-CD!6@3xH%c z>@%a)r>DHbUAutsIx6Ac^EHsB{K8e#br#e9eN}G67&hZ(*l;1??`J_`!lOO0qAq70 z%pINHRS$E!r?{CN=87{)aDs48QjWssI|;&;GMcdPC~5RMFOtFA?u?9<>w8v&A*BIB z``7ClAStX=I}KjS8kZG7Eg4}As5CQ=36E2TwkZbT7kXq3QyuPpzaQKj zpx(I(_whB&KR2Q!`Im}TumnZ6B$?LMSdSnIE&0F%;U7;fXFSQ_&b>y)mUiSe3VD)$ zZYGheg#}oGh6CI;l7~OkGBveyZx>!<^}-jCo6a$)(CSIIbsm3LHdvWdt921Yjd-9q z{<>^p2htMIU|l;AF-3C9cgQw|MP4cWMG%`BFOA2zph9uCNor6_YdBm{eGoQwDt--2 zu65Vs`4=au8`OpIC7oN(bXidozgp}{?6a>#klTY~8^&e)Yjk8BnIbwMxYGXK_PruQ z3i?UJF$J(`Hmu1QKpH{^5mT`I!x!-;PfsVoJiV66eYUV8;LV`&kbv2rP- zMzt3|A|^FKAelJvYEep|h9EYVPnOGyiyk-lIheX%nuYP)@~Y~$bEhB6B%0WbMjQJb zz5sIhxreyz1hE6L>mW}0(Q|xitg*|rh~gri;41P3c6@?tnS90pC%8v8tE@SnR0KM0 z(;Yj4^!c0a07znE%43M2OxJB@Qsc_O`WgG?>C3N=Pe1w@l@*gT{A$nZk1aOeY8Bn| zye-{k^~DY#UEOIAkpQP9SO?88JrjOSHY!m+jnb$MQ_6M>5Y_ zlazA5aYz)((ZQsR&hI_w#yA_?pkZ1U?~go(@v=m<+RV3JI4K}2YEEpR%{J28OQ1r$ z%ODGwe8!e6glM4a12yFRj;}aHeX8Qhg>94#~Sz4IhE1nfNl5d?vFWW_a6UzH3OOHps^nvX^m?Z z9SPx5elwM2jOh`OVI5(B)SQ2I0f9y(FiGq7e{w$gYm&aYaOouH7I_83{4IQ}Yq@j| zUpHB7Dkj{Y*S39WsLHV6Z@R4UH24OA=Bpgbt{x3vCLXdv-YzJmPpPWM3B?-^^6kFXH911 z<{un156Ahsh0`|~cEtFH+~!-R954^L#y^or4|3?2=umZ^2am zhrPE9i$Y!dz9k((m=PqT2T76cZZIejq(P991_6-{VQ4{8N)Z7C1f;vWq`Nx?q#K`W z*1h*$u66I@*~fDn@B3|k6M-3K=87}^=kM>w16wgZ#f;2;QuHA#J4}(!^0r0>TvUMA z)r;wbt;Ib4^yZV*0H(&2sYX0#=C>~yzc#7Kff?GkE{$vB3axvc^*p|hTB#(wJW}H>@irgunM(XJ0|P*h0psy!73%oUq{0S4Wz z(hBQ5)&L%ZGGCiay5{0xP2FAI<5<)z=|%M!&G{PS06K#rvJ#akF-6m%9K; zV%3!Dqt)*(T*4$<6lRhtNrn-Nd}rPs{9nT{W>&A}rg$9&nlEl{c9{p;%o&R}_Bc4y z12;mVO_*;!2oAK3cm@sdLHT@tB^^UrbJv}Ol&f`z80}+rdf#eLA1qv)n{*h~otb}B zT2^yU_7U9qpDX|yKq)-sy8_AZMfWV5npkQr+eb#f!Go+*-9WtK>@#Kh?ml;-dn4g# zRi{8VkQ2GQgFc`0Vl7|8$UVc0WK5nt?qmL=MPt=%Q6rStB~aH#m6>!aCQs)}rAPRx zsYU#yg5K0H>)WncKIyq9`(BfivvE6Dswu7)Q`_a&+Pt&lsKOWVcd2eSy~iqD_jimU zYm2hjA{u9MVvF>IlQPQDysNS;;0X7UA|JaKIo-m&$c0NOdhkPL{hl59#j#l!QRG&V zR+`{U`}Z}G-N;L}TLtS$YCS?aC9F=?ck`V-ih44gogWOB?{|P1*B@(kqge4MsSDwT zOksZ3tZEH&*y(X)u4WqH%EP;ndHvq3$Gbq6sr2a;_Pm*R**iw1PVc)vspG;;qSP|{ z=AGL-J9ph??t}8@*R+~X5yGsqEQnEygV5||s=RTo!SAp6dx`t!1ew}K$`R3cOs7@h znt4B{_K*HDMNV=9OtFNvp08>CxzX|cuQ4eopEch8(+(D~60=)(lf!sE;qgx`gcO1AsX=Bk;3pU)$(=bYsgfZzv8^n!PQ)a2E+QpSbhS;St<_)6kKkJX`&1&Xj@UAz0d5AxC z_1Z=FGNtMUrr4^6aZ>rg_jNudFQ++oFX@?A7?XG_JadmLiO4|D`*W;@-DaFJBC#sy zN8s%-12A2_H!U}Tyjw0K=k}4b%Sns6YM`a- z7H!XR`OR$S#^$h1?A-Tgp22-;C_LgVaZ{&!IrFwplYL{insy~+C{WDiPeSI?g|%bh)dx8yhMlNar0T<&i$Qv%Rzagh^m4Z8|GQGWsikZ;Dk4oebUiF?4V{`Jp(jFg5Y+m zf4ys{*^ci#3BsPMYhENlW6TQ=)GG;3aum*_sdf(j~9P6 z?uH;E@KhVBsLaw79y|rvWho=f{1|T3S23(y*y|$gT zWp02#D=W?G%wva~&iu-NnZkFK`ANNfh?%{wSq@2C)PyI0g<`moP~PhxxxoI>r5(Su zBByvt@lfZyYA5~aO?>+DKJzA2GxA?cJ@gxBvdJCSICuS-+MUr#mQWF7J4I)T7Rt!g zp$t$|O_3W5F5{;0z8{*z{gpr1bBE1gF<~nUEysxB_%g8G8e~*Sor37ZNNryj?;0i> zed;urwplcJ;&=ba{AQ+xoq1RB6L|Va@hO5D%nrR*7X$jj!+$aDinL zYY27KyGTs!($76Is@-0q_4QJ|7}j9A0a`B8!Q+loW__R}0)h?86a7yM!gLIJU!}m6 z)$=^a{G<_Lz2h)MI`~W123ajd_-o&8{cOKa@m-uYyO?(w#$fcro+>O}j@x6@smD_l z1WF%hKxS7m|0ddf~Kw#cte2lSn9tsk|~58At8O26+CzM;I zEy6t0U=BMzr&b{8`ne;zVE@L~du>*t-)fE~PNjLMyTDFvxcu2fXg5{EV8A3OS01cs zPz}v*Gs(}KzAbN*)W>lvAyWKo?VEU=UbdnIV!8Fai{Cy9yH4eTN@{qQe9$}tSvt$k zpTDc!)oAd zbeG9Wl*Td*>#Qr@(8cXaYyo}lJGZ&XXU}w0)cH=5995P3m3(|Jk7O7Ky~`6tY=)_1 zjJ+sjObk1@Fegx82#(B7i6>X?GyAEdYYM8Dm9IyAxrryYcCIviZAjW`-&W=CYL#ji znK4ibdNsG`nQk6)RXWayt{U^6)#?d8-Oh3gH_;K~-Apr<{uLWCwY>Y_tYTF2RgDgCWxx4U@%FdkPkFuEUYn*I)%#7~Hc#}S@~5P?(Dg8g zwd+K-Z5f!PT~Z~a8vzvCm%{7W6p@qdj_ED_IxpJBFOZ+1)S)UR@UD&P>nL% z&=-I#8%58Cj*iJup%wUc4^_i>Hf!kU?kFv|m4wsua)J;}EAuwS9tm7E1ZG?KW!&zT zcj26Kpvymjn2{rIpPxarzW2Ew<`_=fM$4T!qx0%j%Zoh7Kf8}^NP zLxJ$niM376X?q$%-M3x17-u&RM1)3KxyoLAO1O5336vWSkd?@T)iG zcVyUsjpOB?M=EG*@qjQRMMx;_x5F3rC9OR`4Sc>=ItEYi*y~saB_X6yNQ)hDI7!{{ z)IDl8PKR5p3w=4NA}6s&5>)mB+LjCI@m=((SKp=wwh~o})7Cn;G$)Pri>IY_D4wXD z&mLd$O*?h*Sq|zGw3`6+s($3jBOS{gx8d`;tE2eUQGscmKZoXFnWP&4&~I}$(m4^-#6}uhrYXuZCR+9C=?4u5jCJ6ug*dJ$*TBOb)T)Nl`qb_rw>iy^(qe) zLr-#?sJ(f`cGJ#DcJp5D6O&D&gPBx|2>{%{wrQTKa2f=K-_&olm7^PH{${I$xWxe6 zG9A|r`^VZd;v#wltWwilX53b#bd@A7fwk$YO4O|SjpOTo`BRNDP?C7d9mM9R-vb2j zs_WrwoZDaSW;i^|FNfGYJ6B3NT=Taap;w=XTqDC}F8F~de)vU&@9T@An}CX~dRBj3 z{4FYxaDZOZtc&-?){ndSlT0#^9T1cFRy9*$su z?P`c@h3KC@@JF6)lz|KWv@bhho4-l^{`e#7;mn+7Qvts^+UZhY_6B=Zf=1z;GA5=n)RjDsE#ze`JL-gZ{+K+*t#4#k@+YwdZjy&=S0r? zx3vhKU%mi@NU)2Q@)v)GP5)R6A?QSLhJ4{En7;X!*NS?=H}%!5lU6r!HxtwfYcF*>D%N+e?-W|oCze>`(|My2Fx#!Cer^6m@=n^Yu^=ZPor~3Xn`}@lYyXotoqE8pD`?^K#d#Q|W&mWX5F>X@}9)}ly{~P}DpkROe zI}FzUyr=>TNOw+g&0c+Lm^LrJMQvU}l9}>lP;AMnlf&PZ=l}XLG!i8oTdi?<`1`g) ztt7H2bdy#k#l`DiZ6d*khR~}sc=`f-XqGFI8pw*G)HP=k<*fhpcz=7zp+2aPc~0pi z(cfQ=7BMEomV?VOk=NxSgV*dL+Om7h0V9b|ht;m{?^HE2Rd=-$)yf-xd+@)1`CsJU zzggsef0O?HBmYJI{iikjzu&?Cj~SPL|49B-L;ZK(`0pbBckjx7_`m-y^8YUK{}2rP zbC>^jZ~wn96(98fBDw#=3G{Ey^#7jZ|L^bFe_aOt%|iN5Z{z=8M;e}Y~kHEAZg;o$3o`=|LUC{hXOX<;g+Wy*KX(8A3xCi4j9>t% zRfDLGvJL$ERr5*7XbL1vpe7(Vp;?u6nDR$WK(fTfZZ4$fq zxmE*VEyeIfF|~RUd9vK`v;O{ke`NcTzG^Jst$I>x^R4(_&swhtB@=P6e%+~_8vWGt z>|ot;Bv+gMS;@pVjLn*r_g0yx5j<2ad%bkhHs=N|TglMlU`Z(fo7OOLOOV!2KN=uA zwp4M~K@ngEfEsr8CBOk@w9$B1@9I=BSq~NgU3>9f=Ut|ec`)p*0ytpa6G|hmYSiDg zV)ChIYMaIu&j(Uu0-Znaw8wtWI+&x#A-A&d4>TUK?vP1Y1yTcG8~JLn7!0%kuvI0? zB@l1gmS$%*O?r-;JSxU53IkkVrDQ>_zBH&x*-`E}syT4*Y2CGgWsTYGnSm)%L%w6; z$ehny*|Yw^-qS<#nw`bi{M0aJ2;)8gTuNwI$t>0lp12W+89zBmWzlS2; zru~8v|M;C_(lN7N>29m7Ac_Yl0RC`t9>!y|uamPcglcL>LM`*V z94p;`59cf63BYXK-+|0NG@X50OIv5IYg3|eReOQr1JnXa06VnORss*jRjZuy!`rI_ z*7UOvvXUJ;KOA~&JEbM10w4yH`2QW1Oufqbi-1PJR_|)&UY&c|arNqF)F3yF`zc^O zj<3HMj(Ex*4?7{)`VXjNgNPjbW2?dj%uc1QHS(QED^#R*_6caA2$IgA|SB#>M)-W7Y#~_xTY31xxIU~nXi&| z(#$jwKJqGsNZk&+a;KAYJtlctAD7eR_%eK5RntftxS*!ZlU$P|AY`iCcnHJ*fZu(x zM5K&cyPvZ2$b;nTrpg>jIqXIMRxPD;FfHiCld@#5Zl~20S7nrICY)BCpIwg@|LBW~ z=L^-hnUq;)7XTpb7$TvZli$*p%ytFvsc~Kxi!@m%#S!*un`_M`XgIYKdZcRSE2}8- z^nkIy5lGY}crWjRj>a8-o2Gx2;cl?ad(X->m6yYKH~*+xJ#sR?p;GRGX_K8Zpx_(n zb@0g&=-#b`+EC4*y30$ubuehE2*7~?IuVmSp>}Rvx&st5KLbTOz*oCVH0yT{@0md|l z&Q*_|ib`ykFAj7W9DTny1AXWOl#^maobp%_-mnFVdscgGC*z&+1CH1Ip^n1_jX8SF zvYRb)z&-aqFn82>&u#jE-agfQWYPO`6JQtSqh=&ZlLr~%^`cQ)Fj0b!!y$riqu*Se;oi-CI~xzG{@%5V_kUw1pGnUaz)I06<8!F=6<+!RrI9~7$dVA7WlkOvUP&;S&_t8i@8%&w%YL!hl97C!j>S(6=tNkr z_Z=tukUgvVeskD^o{yXp5W~j_fH1fQrwf*BIh=iTKOyy96H*6AOdY8MzC&ykfb0ez zNTv2~N+l>yU{hGX6$dPK0r?srVIKfB_L-A$rY3sMXQvv2W5Ide$3f;Dc;4SoE(R*1 zyc`FWKSx{n$Znv6(U2~rQ5`vHOl*_8+YDR6wDl{Ft~HnUfLEJYCt3bJkRsOC@O)x) zMWo0Y^mv7e$ayE%RhY>eIl7&K+6qz`f|JA+r7uM? z9-{<}g|%|#;&v*dFZhK()VQ(*tvd_CI%!#PBX~N~nSbK67vy{p+;WFvp)rKDGcxCF z-LKt$@+#60dqU}zO`aN`&e+f)nX9-2>*OdK|*H>Ov-f3qp!vQ0UN!XKEs5Va_}F1 z^Da0SCv6h8!dg3E?|0x>6?pD@eHdHSojubWywA3iww?vZKv;kZ!ND6UU^7vShQ7TL z7(#g9w3{17zK~hRU6W9}nh_GyWPS@)vaS-sJsOKYe*`Y9!#H2a#*y8eHQ>u7Rl- zZEIi<(8Daabbsa_w7BwOt|?fi7NaKZ>6QG4ah?E$R4O8WeilX?Xq$r5+<0FJI)X-rDVZ!gW z$#|c$q&@*_z-60$JF9^Wb8@N8xhLE`^o#E(;7y~cl>?HcUDo-VV$+5rFj|t79=>uq zEp9CgV-6+b zah-ZOsI=}hEdh5XlA`GPq_X&`44mq>II4e27lL!`GlOL%ECx;hM}H+j|4w}tMdKi5 z364aB=$X=7%v}!!9H0*s!AEFOO`B$Yl0PfExw|qBimei(OtSMRGG+8L-S~dVk?I$h z0}k<^J6cis(lPcbWgX4-I}jL%u{4U-RUtSfhV&|HNCmS1h=DDZNFl<0`%VadpPg45 z5#u9fWiS*?%;&N(^reMKd^h-`IMsf<59SITI_d)X+9kx0TyCFWXG&pRASFeC(WD*1 zkHc@dkYPMJ?V_a2CF`-`7I5RUQIfeZvIlgzxT$i6B{r^tiJ17`g<&@EUp}3`=(9GK zmC2F_t!4Ozu}XZYgeVOr6VKWxVQjCs@ZD6Yqb*WBxXG1rC3gnxYGsqIeyBEk1-22Z zopPOT`KbBi8t&h`KE;5);53G)YwVw1x(RhSVZ;smF#O=K0J@jsfB|Th^q7yPy$YbM zaWVOjV_a>N>bWH&IxOpeB^H(bs;r16iYPdSbTB%)4>eq4G@5KDuBDi+$9sVa0C5DQ zm!OGIeFv0xh+&udwd2k^q!9Wifi(Ws6*a*6z%nEj7Q;g}6nxm3y`fdJ(owv{#lYtO z;q+y@gQx*FOr5^i>}@QwZ?gB@F04s#{wvrFTvUP;HQm#&bn&{m7yk~*DS5ZVQF}!S zjx`yZeOBq%Z57Af%EtdtYjiYBLDei@^jvGVlP5Cr!%f|xiu<&r*7PGeLZ?`)T!m6)MbnLS+I)ktoG_`6AyFclC$?1)iUqI zRS@p2>P(RnJ`l)9|yJnaRQ3kygp>%WC#Gr z7|KLJ5X=duyXekk$Bj!J@7^umWqPO3yh?=_f0GK_4~&y+O7BONyV=f-y;n%1y4Jvf za_D4*aMHJ-2E|HgFk&DRFyr=u-+efZS7c^hLq1|Fra*6j$N z*f^$On$iFGW|Tw~TpA{L{Vtx{U?;(^VbtmzHH~b~+8TQj&u`f0ls3-0ccfB>ISCOx zrGGK2N>QX{&j!~dLQ7H{ll5hM4d*Z2)jL0otz(xDr;f!Gk$v~==Js0`6gddydU}y1 zarxyQ+Cu@q$LTL>0YaU_3xIuZ83GFw!KrJD9_8ZBHXqP}4KEwTpBg$l3#&}1f`z87 z@trs-xfoIqEEzTp;^!N5=S$-QD%P@>$=s%KACkwF351s3jt?}4*zU+2Wr+&Dmdog~ zO^_Ed9>3A#VR*E&a)pe;Xrq@lWgiLM!!O-BN?4-k0Lf~rB9$E1R~s+S zv|qKVDGXwh<$9ZEV@<}G0JgieTO~@tH0ZV*JaNm~b+V15ZNudkLQ7dZPj(%DPJt84 zEWya7Ky$>#O=nrVEHB=~A+lek?J$q$Y!U&f1KE1-ATVdwI7linR%>fN{EPo>eLKoj zddWcKA^V@6teo*ULpY_dDEM=E3vgSWKZ$b$VL=NDBT*cVb_#5jR@a?sQ+*Rr=t4T_ z#K&x4l)uNf2-F%x0pKUN%mkI56oUD$tc*wbN(U9JBAeYsAy}>5x05NXRl^XH_#`c~ zcu_mj^^ap+-KZA)p_2x{p`qnVR;rFNV7Ybb09?`#|pz1O(_5}U6g9)(kmU7vm9MfXf?76t+h$igWE*l$=zF&Jk-I}W3n z(r;!Wm){eT_(EX#97&Lli9#}2cD((ZBe`o4M!1vUG#=z8wI=EjDMd{;-`jcUR88T;fQ;v4lh<9db(d8-rUUMf!p$?(!21y4ktEnv1zv|pW4O1NTb{mUS zhBK|qo0Nl+wb*L*ZnLZ(A9=g#*j~&K65F};8LaOw&x&Q1dvEX|pY!RyPvkLRH}E(h zEXs3z15hI`;bT{4IEEbjmsv{c{9CT;pW`#vw*Y8z^$86uucQ;v=>c#%SxU0pq9BML zSQUQeGJPg$H-U``pwvBmI89c<5?hE=#MP!=Erw$q+NaPao&|nK#S$$Gp&T>TRu@;t zbt;X|;9HDYALP9pzMVRBr8zyjheU^q(!V!&@#XX5nHY>!E?EU20JPdB=(@o_MXRI~ zc~a8}6=)zUY(Y&9+$CXz^B>+=ZvD6gq&>{rKzW1~#qRJ}7sPdg&+OlZY^sT~kFKJC zN;*o3u%bX%-mZA0}OvEE*;S6c+PY+_k>}MUUNSx+wDzBr!*mokLkuR2rfz&M~{DIX{P` zaEl&KISrQ3g$Rz$Bj_WTQTFI)$2&t`$^^D&^M^{SPA(m0?W%WMl?WjI2@QegK~|5= zf%TE`d#NC8t39h;5!}(>wO!{CB+rLrL)jl@F0qK>%XvcY^3!u)OD#cHdqa6l_tG0} z?!Jz1$i(XEEESw;=#2$;-pLv+d*Ya@q5^YCCd>q1hBH?$FbR{%uQ_}*X>+{Y+D%$y zhGlZZV}^laG6~|>#DLF&b#3@M{y3#5lGaKXx!|vDIe2}#l$pgwqMtpq$Wfz-liQH#S5VM}C;!0S)NNQ#J>%FY z6Wr0-21x8LeWCmJk;v9lXvsOs(rY6pWPcn~L2$RR@D-}7dnnurmnsLZUw^2zJhEMA zOap&zSI~fMxk8$}j^k2q?Fz=??H`~YpHoB}9h|p_wP2rF+M6w%1;FUU!(2pc?9POA zr=RNCO^hPyDzb!>ZJlAI>un~j;$d?bg4{94rFSaINchBKaH80|Ic;PuO+4#<8)I0< zH>$@|xGXr8Pln{yQXSoo;3SsUjXQn|^4OwJTUFEfpZpWFe$R0B$$@e8{y5h0%irwH z&lEl=7lgk>Kti-254sdSn}|0vpAKc7z7}2|)iMc3^Cxx_N6H_XshaKg2&gm?VCHH> zLCNo&fKM~wyZMI^E_1jHH*Emdho(6Nrq+5a|G<|Q^z{sT&tsPt^a5lMFT~IK zBS}E2r2imdjImR{L}Ju;)0d9gtRAxY1_%B!!$xMB7}ElFYEUpJe<`Oh=QuN7dk zjT5j=X8aXZKZ})f8?Bld4!aXc%a-19ckEm9@MtVvo)1Qc1h%0_hX-ea%hDVB^XgB8 z%vV=Si-lhomsN2~LygUL8=F!tm4(I8TocSuhY!In4HFHl6vTjI#waT;(FD!vPN-?1 zVv@P&p{OQP_cz@>@t6E?)-aYS?Wg=3j1#vJ;!ZL{zRY|9l&AdS>Z5bHC17Tr0qqr& zpN(uwv3}#1tYiUcoB-x|>zK5~k3rP$14NfSp&1Hbm`FuJ49BO-@+5-ny)YYPxqY)t zMs%opwhHWpNleMt8~3S;IiO2F7}GsTr74e^3UOf&n|C-jxKy=L$`c%Em8EGzxJ+=7 zJjp+yjrR9WA9+pDFVUn=w~NF<_6Wtce)utu=HVCif*Q};XxayI-LVwNPC#d7&6DO- zp2XM{=Len+OIoqD)n}0|3f-@x6}IGwm32h|)=tHD$)(r`0)%8H91$5@6Fi`#G~!b# zs5jq#W6+kY)uEiD!rQ?(n|s^vB*t4knb7#NCgnzYHj)0}yLS?a0oxjFA?9A@R; z8-SBhfvqB~VyECj3vp&IYiYV$O%ZV{9Yc|It=WpK3;J@o4iYlkZB+!B3V?9}{GUsu5T39!dG}1^0ws5>>-ic_ z_4$^isN^mU1Y}5q9UJ)7vK*?jx-r@6(Xu-&>S*m5s2a5=B2iY3AVm|$OO78iFdr&` zggS|X^B{Lb`$=u0inJ zEsbzT(RAK9#VF|!{f8D%zaOzKlTWmVwtq?)R5(2tRB2l&4x77{Okp$2dA4Hzp{Hf7 zFq~mW_`+pPeXER1_c|(MD!Dh2x#I*15%DV+v)p? z4!*(VBY&V6hQ9KF~&w0{fy(Ui=)dOw3d(uWY(rXSklwt_vaI2#e>{LM!p$|xCYX85?dFF zHuBfuU?(_88yOYYvaSNV$U<=H{p5(-AOo5b|Bl+(7O@mUYA+&_F0Sj)}EJ!w$Edyhx*ZC+4VYQ&p zD4~OnLZ`_cu;7ac{qTt4_2{*T{!Ch7PJBn154Zc7@~e(2jXR~(_j;&sN`+iE#G5~m zNuPkysz`9u_2*|Bqya1rDzJ}4T)cjan8U@vTme$^*A6#qi|);Zs8Yz3*8y2Jfuc;a zV{;3l6QP)z#&fL6&Y7-6iL6GMazO&02YyJgB5m~k#&izXO26mN%m%*=r~X6*jl(N7 zp+dJYYm)j9c#`=2&D;0PZ|2to$^O{Y>1@R|h{uttV%xJ&$$o=CQoSZeCW2(CQ?V;> z2`JiFPN+Csx+&|untxNM`+62qn!6;5ia(p7*P+Q+($=!>_%qL@#W9S3c?dZyWXLBu zYU)P-)-ija5A$}F{i8dbW{9c^dBjQJW({<;eV-BTG+?mP=B~el1Y7>CB=mzJgKYe~ z2i2t3LO01ylLoV-mR~eX*qz!ALUXl;@C zAq5GLrUC8Mr1h~!vVxCSmNRZVa*wilnDqA25hf6oZCU4_WEr~TDdWHv*N|{&nIEYB zB;#XEmn?nmcL!>cR1^aR13uFX3ez}WsBrRQgbBYF)4!9QRE09ifG>JfO zF}mr`OXjbF@+~~0^k?@t9m*2tvmo9i3y`vwA#QQWy+wrmhMDvf<{8}}f&B!E0rL!! zienaN`x-JZq)d+ea4-a>rXe#IF&4_Kh1ALsg-PdwN*@aaHgoXz0J>f?ANxepxcmN= z4m7c!?tE_M`vu(0WK$zEVuF2ju+>a{#M@-h?~!PdSo5qs7*fYCB=D=7BC8H-pG3qV zgl}Q^;FdZ)mf5c`^h2sk)R=HxF2`dNJH9F5XDUE**CZBpbk-KdI4 zCzI*{dIc!U-9CI^D;sHwjTO-J4B{&6JZT)+ANVKF$p3;kH;w)}_3BsaM7PUR_VVj{vJcPIxFTKvbA1xL)1?BW6{ zS=1J34u1_l)lW$$93+wM?$3eQ+zupLh)jqO+v^#p6J_bMkfO*-flMafJ)~Xrp@T@h zP2G<$X^rM*O219E(qA>6x-WA9NKOIcoaxGuia(cRCjGvway1JSn?i}zX9sIP)WD?S z1GJeqA4$>@J+VcA`E62Bp*@G3>`rmvZlud?Q^e72WH)p$25Yhy&saWoEX@@1MW$ey z;Ex?H$Y@NrZP*z@0o(l)9yc2b*|HQc5fp@5cZFO1l=!tT5q!^&j*_(zQAt(Dmps*} z#saG)qPo3!Tnxx_pZjV=F&<-o_7=S^{Uq?mI*4UhKQrSdlcFjU%~OaG`mN0PlJB`dMk`M&z znM@cJf2_z#|Mk|D_AK4;)4djJ7P3*FtA}xy#V&GV$jnXi@$QFziQG{a`2OJVk=}0` z{Oo}dsDt2hBM+}O0GiwAqbTQ(bsYGRk>tH}99UsK8$sv(lx>x(KswaxPG03st@op- z_gU+QJQz>$nOo*=_D4b!n&%#h{|qR%C}8e|Jc4S*Uq^0q3X#1_xXpLOgnrBat(y?a zU77b9iF7t7k1{A(-9A64qzqFNI3?#S(4vNZr zLGFkAYNN3U?FnKIMVf*Z0OJ6spaO6AcO$XL0cwm`+|nFH!k)^H#MbHygr1jE#tm;s z?!WofQRi9xY9s1;h(3XYkms*KJ6mSk+PQ-Rp)0z*nU}|x1EZT>d(#W^Rdy2U#7zXwdvuEg27*|K?JJ^-}Lo_6@$En9R<>Tt?#&Dvaz?{ zCn3S_T+`hb`DNJTh=^Nu&DRG}d4s9Y{!u64NQ4oE!(d?>WfJDMtx#G)_{EA_tVGaQ z!Xd=MDGEm!LzaxG(ujJxB3Z%X7XT~hZUKDJ`dwuR! zntp+@G!6m9FA-0_ue36cr?J;Kt3(&+G}JUe9X! zh#*0bPr&8>K--?ma-lZ+ruC}dj^2`l*Tsoh6(2geJr%Sms9ZQ<`S=<2jjJiA+pvnh zD+SqYX2OSlH~~Z~o{7adXEy%9h1Vx%cJ>nf5`3>HpyQUVw&iRKJp=_!P`yW0%n#n6 zf^QfXtp8i5@fP^ z3~65^!+%9vZG?Ny3GavACzc7|citEpdr~1wEFWWrT?pTJY1-J@>5{PIXOpf-f7@I# z-&%Gltlb}fjk1>_(h|o4bfx9M&WvHCS4Q9~+IFE&QAnjvG6;JUa=q zZhFtG4hij4%k1>C$#j*QYnLQCdc)!Iv3#fYe861R4H8z)w6~sm%bH2lX=(N?ZYc%E z7R~9=n;W~!=<9l3oTj4-pGng=#9j7snKvVUt|TU3g_n_N*(I zmtBGeSfJB4a>ILsyW}d9t_CxmJKk@~{0xDLrr+fkFr#to1=Us$2jC)^k(YekSzf#R zfxe$=B8ZYybB@$q5~L&^)8qj&b`~l>R#~_fwPiy4EJCW2Kfx&JJitjREMU36xyvoK zZjjNm@`&?QecYx-#0jP4MqCB6Fo#S`+9ebjWW+}L$|(h9gN@$ssQW|IYSgOOSWPn@ z!Sx2jLCQ`VUPagH&0`IwM^(=fXqezX;=3AMCv;&p)mwVdbxVx-CyE&wae^w{zocg5eumD-AyO@?&ay)2L&m3-x3SyDWl_sStivb(*9>i3C{=3lN`!Y#9 z$!PnD2d{-RA*Jht^g1s!>a^J_Gp&b~pMgT%ebP&(W#$Qo)T#JxKlNc{JBBgFopy{X zt}Z$^BxoI3vnRaS2CniC($+DW9DFtdf4nc{U)V=jrxmrgOk1vQ(eN-*oo=}Q05h9| z$ra2G2jU~0)3+)QJ%zFpL1gjIT?YQC1U6q1^99&)|N4L5UI>1P5k-SCBEFMhQ=^~; zDEk;;R`}?kxMN~@E&IhahKO)x47wW_gb)kF(x8gWD}Tw5c4ab*yZAq1i=)s-^P_ni}!m0ETjJd#4R zl;9P538m>3gzw+k5z>;~WY5Y!o9W{Dz$!5UbK{|8r{D7wvPm&=7o5d&092jEQ{w`2 z!>z?X@=gKFJxFK8qNDgZafBQqx-0Iufs+W^^R5;`wQKz}g7dcT%PLKVu}q28HinQ?`9(xCm! zo(C~&2_^T=cDb%Y-s zgWmF>_|VR-t?Ww&vy86OOxe%gZZu{ZOFNJEQfuQ{#-Eq=3U6kJuB+o^^`{an^!~Po zKnl(P!p~SOJ(fSW5lAj2rz#%M4?xvF@K~su$_9nmR4~U{8j`=PH?BP1yK?pyci!we zZ!>xz04pUwkSd1x-AI28bjZdTynVZr6VzPDYR%@Y$<_XY<%fx7+q*0j{e7b~k0Y6W6GA%^mB zU%e+G^~ME>44tcjS>OoOqno&KKAi7$i^eKm)^eqyo9A{vMxYiXC|4Md%Q6ex!c!%V z{GU7>_BxodnpXU50`TatGcVky5sj&B5SP&HX#ilbZ`P z8~4F=2+^@Pmm}VR_LS+WVpcmC9G^nY#@+P8VU{N!^j5+EcQj_j(r+# zuOPKJ`g|%c9M%NEB>aFGrYq`hw!RPAEA;aQ?Qf2%XN&izl5hCjMFl*?_i57~zY{h4 z7y{`m7LrcZ>HVhPz>f?~sPH?s-q21im?&gz;6I0H3nwG&e`b9%TM18a_N}e5H?ywY z{D-LPrB*UJz3|?8R+@p{%YM0%7CKzsO9L`w3<_9J_ElVXf)kP$jIVEAks##9NP8xC zK@q2r5#hYd(1y4oz--`J)Iv-r&J)ma%j;4<6B*eo1eFkqh;B;68yPS5Vq3n&Nh3ex z#f8JrlBW;z&cSDS8vE{RWOZq492qq&JB(*Z(qq%T-QF-h50H0pcF9e8v=LkNEzEiU zdAXqB;G_16%>B{o-!e6MHeaahU`52wjLtnNACyN_3y1e4{>L%MN55l$JQUZ|IGwj1d! zD&$s}>e44eDAwGTZtE$lD35=8@J$vK_Njt?cs2(80FBKT;YGJvAlGrBd`9sRPYr7` z>`cteP0|B~6dpijOLyb6jDznuE?1)f4R^LY=TGJDY~EuWG95pBy)g-e)A7OTB&S3B;kF@=x27(9Rg6KUP)s`h z^yxA%I*_#lv4Lf-l0*$_D~N=Va|@aY-99GKweC-TW>VlD+#X#VRN#HJ>aCoK}%V{PTtX*!L=0U!oJJQdd5wYn?Lv`BUYf>sQ(KS?*$A)>Bfs<9P zC7|W4rC$rvqLpnCq`OIe`;&efzWK8nN-JeZDa$I#gxPEZk6P9>h=&KV4XV)&tVQ>( z6ImC@9B9BkU!dNY_x)|b>ER!Q>+Br(m#*$C@b}^s6E?vUuFWpagxH)$ugxJE3qh$U zZ`>|9YyEgtuQ*SuYW8K1%I~4tFeb6}QzwVKKWmls9?CutbC`C-7n${B4&792HH$|| zX@shBL+N|95IU&BGbiZ+C1NT}G#L5&#Sxr@aZOW*e(=xs4+I!;NM$#}*r&N&ayz;7 zjf83k*j*ynYhyuZ#Oc#9_aZ5qOZV#4%N{`^0dgRf{fhDs)S7HEhb2le;fqPxzjI& zjnedpKN(eRZyb1g0_~29_@3mMjT}yz_nBQw+D>)J$sm;gv5I)I9IJW(6+$mU6}<+x zH2B~s^|+cTMGSchei(NzGCL{s$tFrZ2^5fx#;B5L{}S}!igfQq0)#VBm=Xr@!*2e8 zNC)LV*+<{FlS`!)r!50)_L@E-7B$EZC1q23>G|K0?8j-hl86Ly(~6;(Ivb7qg@b1sRvvq(jp!Wt$ zM18;n(Q$t;V%hk)Z1a=|n+$KvY9Zh$ezu6urN`wuCT$f87)#rcb-My%GpUqlfKj%7 zNA%l^r;am_Vd$gfwyh@x)9iz`Z&QAg-Pcjt{-jF(A;WIR|`$rGB*QER_~Qf={!mmy?fI; z6}0)p^mg7eKHc`y{2+K^f+b;r3$k&Ug{ai6qAYE0Z%3DX5UzeXgBmA@HJ_dw87Q}$M$dA`X}0*XXPh0ZTHIoSFw zWNoUe5EX%wVcKySf3Mas%*kTxuh zD)>K8iP8K|?~68XViY%p6&phg@?7R;Onlz(DngiAy|DDbWN)e7nDT2(7OoqcM&~s4 z^=L|HxEJIFCb$Dr&~mOdpV;e0uT5{lJlc~i-XPv|#wmYqN~88^(S-pW$dY z`jR$Nm~gcxk^Xulu6#H7YOEtZqvs#R1@G6A10^#RHif4%Md{Hq_S@d1u6p8DM$TC> z%4~54Zs9RU?&p2Cug#p)&@j*JrPd5ocGXRiT}yl2<5Mksy4Tp`>Kr{)ywBxpfHf&= z#<)Ncm;i9BkyMiJ)<(KZVaR9$a3v~3ZyN#q&qH-zLP4!XJY~afVPCa))gY6KIbvTq zS(!%^6u+S5P=|;weTBA|ld?0D;0`t?il%?^f7pBLxG1;%?Oy?5RAL5{kPZn!QX0u2 zR6>+g8cAuSJA|P{x)l@UNeKam?gq)BdDiUj*?YUsKIiwG@9X*Vcm6XN=8ko* zd#%ssy53h1vojnfOPVzH0FT`89jKhqZa32x!R zIqnKi!HVv|ACL2NoBQtX;L4GyoJ##H0h>fd31`*lQ=vvaO`z?e6_ZYN5Wu6!&Q1Ex zqO|o}^SPF=1Cs!*gT*|3q-_F90iWU!w}k(o6Xw?})+TZQjG zN?z6oP`z6AgV@(vbP7~!6>vD~0{f|gFX6aMsh}T8jxAPKptHJmteInMm=Q*?|B~vn zNIlhpT(7O@k%b{@!bw+xGiV%IM?WCr9_mLVlkydpt#aQk4}F`dBOD)UbK-VZ0iZ0u z$+gZtlS0i+B+O!IM64qE^>mF1SBQa?RyAa`@fb{ZpI7wc#)37kbZtQe8XH6T*ipO^ zOajz@^$^6PAk3qwsQgbR41YeG-*7Nq9TGhVxcn+q0*b{97aX_o!waEwLKanqeX36w zxQAogC;5sdU2``jn*+jVKz@P?^ax)#O-n&rT6#MenDDq#WbLI_n(h1U>uNdv zU{iilw}MtqDrc-=??U}~m`P$~HG&;*e|EvsAdrQ_ zakFWR_1{1ZIkDa=!k=#9L}^9$acx#xKidW>W|0&eOfHCtWOwT}j0*P2Sdoj4dlv8- zC4ytqeje4oeZd78Ix#Tu%Y{w3)*me zO}?gXKgTl_WuqTxD-5lSwz;6_MvcAvdmzbNNCkKxeK19zVfv*fvTfUTjXb{c1MC&k zzGk{uywNeHy@+1eLJcrzDUBVDgy|)nWkc&vo&`YC?R0L$) zqDwkwq2%l^T<*1f?`Ktin*oPAqsG*5dGyNsC?5F`D5&g@wa#VT_^|FHoFaf_%-3uX z^l))3O+r~_tpVL?XESDMH~UAVHzGnS=}w4gOHtSXHA?2k@=sAzvVF*FVjX77^qTQU z$(X(Fh$MBifpp_&DUE|!7EU^ym*-PzD~LZ`uqcWE z1(P99Fnt3l4mv*!QgTlpwJ7cx;5%RNwXECiCG4Lw>!LH46i{$WbRtWB8gv{^ySRk( zm;P}$`IU#}fP-Uq3S&0+%W^@Co?FG_^p6RN`zrZ{O%BLGFT}|4TEPIKIepZ}|Jw zGBdvc9C0y1nUoH$<*p3H7A_WKe0PVKL@Spe*=77x=h-0N1k-0^4nzw< z=Q82aV?ko8nsj=DeDsO-8iIH1lUc{ELdC~|4n!?^jYWSLCs`(LY}}dI0n0J5cX-m; zO4aYzZ^)caQ00C{}ESEW9DVPJAj9ufOxGg>7|D_`=}bO|x0$SK?O7F+IPWGAeO-a77=S0&+_ zh8hX+#)BGL%KO*<+|l{a(lktW*y`TT*U;-`vo-%t3-zV|Rf=NEPMi|su~Ci2dkeU? z^pD;t)#Lb)=1E-o7Q_|LXV&+ic!SW7%mL;;-FoSf25TcoR>FQJ#FfcsL~|$9M~3c4 z3ypeSUmUJbie2X?OswTI1K;V;wed~?(WVPfi>14r^fYwm3)dl$?}n!h+AJ`*S4oST zBkbjm#FZ>FL@WCbao26@^%f9^W=3;qz8f@LdtHK{8J0XCt5}sytEl}Bw&CGwyPD-_ z0l9A?ZSdT*=yve^`cuC)dru1?Td+&@I=e5qgayWd+Uj;?oYOXW3GjYG}E4h{{!vgAGmGOA4kgNC|Sk2y~=cT$uRg;+#Wk5D?a zOqfS*zW*zsGGVW;vX1d}iH`oxD$q~36{#eUs10`QF_BELxPi@_YQE^)LFPsm29txO zTQqd|kvG=tq_l4EOczpd*~4Rd2e-*)cri+BE-_m#38%Bc<TolDT&cpI zGvMG%yyCf!xemS2zllqK)=Hv1ej~q_s>~Me2=D$`_uvXL?#kGQl+k!zqt58QpGCva zZZ5Y+R-jwG<378))5S3rdKknbEpWT-K+V^302i%Bwf&4x>?<8ZD}l~BT+wrT!($?d zEm!*tnF`ZTnBDx@b08S{f%;t)8?E3nTnvdV$V)?urZMFT+P-br@f1A{tv4kHErqr=vj$WeV zG#D@ZJ5+}^iqJR4Dl64>)nWuUl4t9BC9QL~C&w_+JxrV)HDZrszlkJ)Pqb|9Imc0^ zFL!jHmX5|>XLRzu?1Vb0nn5@1txf-Fct1i9Z#T>PJiiQYQ78=(pK=v;K#zK4z- z!-fyDQ(Fa6I+{W#8SzQQ^*M28u3%!K!?uxE8VAs!A$tkTt+XW_ug4c^486mc-BbtL zWL^Cqz-QK4ItPDz;fO>a+Jb1Kf2#~Fol+YhLI#GGn%<@ok*9sgz%c(gY7B8^GZo5uFL3k>8rK zOXF+of>iHKl9NHFJa|j=PCqH1FBgZuI$#oV&59*(g-MH0>)kFWuUWX;)7YM4s{KK^ z5bw31p}kaL?e6<2cAe^h)fKEX_r1Q>o~1N3wwlAYtcJL; zktsin51Gw^Z$#csze=%z&|)AzDSAPjx`4RXJQ`sdF7Op*l!zFGDA9Aj`jGof=O~vo zN^c(>YGBFMB1Nkhu{ZD0K^u6Z9@yaxzFRzk=d0^}N2rLpsvyh2?a36fF7x-$^7+QF ziaf0vqD)sTOyQyFwEJPYWtRs{9Fit$-(F9eIyEjjwd>*+d_yvV!KIw?Ez7;;)Ga!} z;Wr8SajJEn*r1xYH<8*+OTn@tEnw!4iX!V8XXb#7i=is}culN>HXvD0e*MZ_Ns9=h za(Q7RQeVqW-SjXj;GLwLs28|HcWbu7)4_wj|T{sOg&Zx2Kw zCBa1+NIUl%jCylNmpaYO1shIvL`bWm)ehWbbz~DU_uzo{`_Y< zW^xZ%C(ygFe{XDgFnzP&Wm=Q}0V}L>_xvHUM@j7Lm3c_qiA)E7XqgeDE#a=8rsZm0 zk|Ca>mrWj!Cx-j%6)(!1^;AEG%bJiEXMSVvz+)1p*!QK~&^GpeX+%3Ja~Odsp3*<% zyw@+A)uR=1n4Hxf#51X#lYDijq+6iH4eqIE(JmOVHnA!+e{`t%Yc+(Bv=U2Fy@5?( zG`nptgGY9AMZ@mTrxv`$DKBR#T9?E{H9){JUglLb*lF+wxk82e;<+*=v}Lt~G9!)N z1wv*4taOWlRg4ZVp8&%OyEIcFiBDFL=hA~A+H?l4ePN^Q;>ykvrC2Cu6h)90{ouFnk9d zgLua=3CIiRTe|#OfEOM7qI;OI;9o|jXby)gl7iQu2ZSwQJA)i2qcNQ8Z5jQ$_jul; zB@{Du6)8BDwk`5nPX2u}&Yb04Kk%Ei3MmavKE^)F83k62DCnn&lQ=%|dMVF~Q+#2g zhAq-Y!pI8SGI5ome1{XGK@>q6}qgLVUf}_-pjfA*C%1 zd9S07jZUt-tq<3%p2&|b?PAiIU+nvc5nni+IJC+Luctg&@ZCUBp6(m`P&JX>x|lrQ zQXJz)o}cxU#Cf6OXU{*4lz5!_Ts0x)5IH^Z$vp)U4cwO)=&*&TZz+=8t!{7z>fzUA zHuS0DV2#+4rV_^_9z6`K4Lx7`XSKIn)yH~)B+{zGQA))Tgj#*bo*vP5)8+#GJ}E~w zp4k7bD>VwrQvfF(_JIPGD z)Et95XK@yJ6xdL)FsTuGt9DvTc*Zt_O^vPc^kHjMgvjHX!|`JKj}$y6HCi=?%hZdV zMfbC@7`{ERpu zkRZ$aou^OaX-g=BeSLK7UwX@+K+6ki{ol2;SpRbOU&-k;ULj$_7g~Nd`{OJbjASW7Es#^mkieL#1z~> zTd2MFJtP0L|Du&Aoa113N@bG#g_= zMJ@841^lsbT;$snKtp3b-_arD(B2EBGU})n3w{8|Mri&_-GYhZ|R==KRqho6ZF0fdCX(Eyq!Yk z@aS@{*U6eShoc@cBb(HZ?ce_OF8+(JXh6^at0G*B@%k?<+JF39d^v=zu;Xp3@1s0U z>y#lHlii)C1SErLZgy`}tp4#V|Jy@GU%W+Lw1TOWb@k})KPCh5;VRIqA}t=}rvFe< zdviC&gql^yWpR6w+t&KuUx`2Ni5{E~Xq4$Vl3xG)NV>_fjHQt}bs$(}F^nj2gUy(j zLu?-rS!yyj`_F#&KYrn#_q$sRG!**8Mvy$enBf007H}W^HkgPl;A2#^-w2z(xK9w9 zw_R7d$-$p)-sisX(W=-+>_0htD)e=ysz9Xr{&gIIQJ|+o<89;S^O}T1hNHrU%e>LH zHM`&NRu=CQI_o|*<6h^F@kcu$t)X#g9GPMlC6XI1Gnso7e;*nDd}^SYbgk^d-+tilcm7x$y!ohU5?}xA#Q(enfB)29j@jo9IFsD$ z3dLWa(f{2ciBp3aZ4(n-{O3ddzxxH?dOVf}XL9rA$lvFjzZ~uV$Ae9{j0v7>4{uZA z|Mi#udBt3jGJe?%!Qu4=@_537|ca{|^`RCO8vS6|KK6bN(+k@~@ZX9RYao zP?ys+|5u;->p5l9finpXUi**lz~Arxo)36Yii+R+rIz#8L;{$&`v;R&Szq~{LJ8AqnKm2#n z_+_5@@1*hP3yI;slg581jbCSqU*0eOoizUcHfiXE6OooqFB^2H8wU5!$&h5UhqKGv z<#Y{?(^sUnS==K7JDFQv9KFmsM<=YU-Ek(}D|F5x|G{Eb4}sqF8#EYm{C$Na{t^RH z+RiRmrtyw;ICaX>RjTA{Ac})!Jax(%t55ge49-8ssa`5rM!Ka|C8vh|Z3U{-X5!eZ88^P^d?r!{_yk z*C&oVvh3*3;#k9}qMpwcV&+&ayRQZSW!xI2Br0fN+u~w_f#&>j8McMO+}Me={^hy7 z;{iJ+;W;DoU$5)EtD#i)t297!Z4kAT=2hps5Tl+r7O;!cS-YB(OAIW^jN!!p#-{E^Yvdm%&)zV)C$-eUAZf zy>l=(1O4UGQ()p;Gre$(FX^-aiR8?{5l}k|c&2wV6;qy}p)sG|I+cDVk#WFTS5H0K zngR8g)#c;bMc#r>tUAvwx_SCaz^%)j8239m_oK`;k{BO_U8a9o9@r%}wqctX_cV-B zxNKTb)kFk!m^2c)n<+}RDRWkj)@T~&0Dt)dcmDCNajPTZXQuBB0F6WLD@WCGdN@*T zgTgO-1rW|WS^+6?7?_WA?|8bND}`K~Oe zAx4+^ZO@OENNg4fGAMmXODRK4nn4g$2R&YA~}u`aM|Yj#vM=0 zc2KUz#!c__y5qT4?A^0)(PZ6VbTE7=fhRcd^5=P-ua0aVd|Po7bdWEJ6C8;g;#(Y7 z*Kt{x4YPJPlt@wZ8qmEs9(kykzn(09iZ3)_&#=Gi=xUV-(1*W|a#PVKQz=G7y-yRFLh7b zB4p_{^t#YduZOGZ^+Fn779FuO0gAi+-p|yyAS_5~LB(uvEanDWV=fu`JTA=CD0wi9 ze^O&|=yZ}LYB9XPQ}6Llz`a&!tbNQb=DT}=x;WRh=d7!-u12%q9FpI6?4rw;w_eOU z<63z9^rOxbdbJ=V5OcI}RSMznce%b8;B`2sv`&}2&P`w(&@_x*Y0L~&p4yy(%swv9^M+OTxMa|y8qb#9QaQpTO*>}K+>QdOYz&?fIP&w<_ z0ya7B+K%IsiV?uVxq@LBTD4PuaZ)e*qt@sdylZF$!PX3AYP8qkp&-0it3PK=83u@2 z9SeX8SP?Os`gsJndRD>bl_+#jZ5fp2piL8omJq%rS_C>z_0wIk3wt{XaR#bc>r^}h z(53G7&eBsK$vr>1m}e4WQF~_gadx|%+WK1W7_x{_x!335mcf~tBVcY3Ke}70^3d0` z^t&*2coJ=|$FvVlFp$31st$Yn7{(i{qi`1O!CJb!`CyWa9f1C3JLn@U-cF~)@QH+H zSJuu^Zgte-|5&oxd<|;qJhjcUdtvtQ%@;O58*xa$k3YJ@vD9!DVgHRjLgdLhFoH=r zQW=YE!KV5B9CpG_(R^EH!1IYYs0QG+;HOIWdB1B?AAbu306vo&vhLf6S%6a1vJI=wBX`26wm~!__i0QE3)9+wLHORZI{v&{;t2s+W5Z@T@RQ z9P}`b6eaG}s5yf8$(!iLw#5U|AxRoujT=7!5~x=E^hudj{Jaaz8;KjmVD4VZH8~08 z#4ggN3NkN)^Rl`csl;qNo<9OJQVq+!+4vOvH;&xid}lE$nAkyrI>5p%>}QUfUuuYk zj0Xb^?U#fb+k7oqftVNG2fdCubBt#P6XVz6*RsY* zi+N}i@&4cvuO!H|{QQkeJb4?52Kk@MEk42UBRm9GcKlT+((B?Z3bR*Fc;QUEsIRHx{Yn)Pccjx$@+QEWY>AG5t2OX8hu_}MA z4fNunqz{0}$da2Sg zirmJ!&~)MtQ!aG(=+aHC0DL*Y?kKOgx3l=6uk)tTIo+(VB(DE3f~)Y0-U*lpt%Zed zV^(Vwa{_Ik!E!9XPK= z8!#TTX~uiXy~A|JE{5xA7n+$q4j+r?nBk~DwX@egzudTn&V^9hw%P?GZ^0=MhO}yZ zA%-gn1l(vPR7e*`y~uqYn}?lSc#2}4V&hC(E`4rK{Eq~W7(x?Y{>}mrSvk;|P6lq2 zqP_9vNP3FTi1aWbjQTlXvt(dmOilnRuf$28MZZUzEC)di5;&C6sdFy^F$wT@KU?_W z@iAxXa#9#&M-)CFV!BzqS@zNnK{LyPqT`G9we;*05WIghAGM+kS2A?s- z`@5aRWu0beQ{v-m3m#{`@G{Zmgm)xh)#~l1xhS-AHcx=B{J&wdji1GZQQw&z+CHVwUIhZ>|H9)F&c*n!NdhP+AM|ae=qM z4-bG|eCtXQU_{12B)FOkaD8wig_j(fKSell^xFmHJsOMSW0-xyMz^|i1Ul7s8I{fh zH4+?*q?`kvVz%9va}&s0EguYfcOy_1J_R`Z9zG2<)NMx~i$hmlb4LEFi#i$4e2cJ* z1rr8W)A|?M#f7sgZUBZERgs%)%v|Tx{EE4gOKkpY^?IP_-uqWMHBQ>Uk%!3xA(OI; zYFMjQTd%=7hd<@*4&tx|ho|`l4*`&y^05%|_u(Zc?Lt~GX%3|^Zels>ify+L4HEk| z2sD>)Ba^LN2a}$>1v`f5S>VvMWL(nhIuV^6E(Ayqd)&<<>Nt6p{ZhRG}J(cD+0v2EI#@>)(yyvcJW%@vXiXysP)lhUj-3 zE9(olaJZ#@-S2>%_iZqs9*Ljc`DMq5UitbOWIBj}r6zKsH1`#Pdo>f!I)>JF2yqZ9 zcMOg(>8>E%SbXqVzbti%LW|HCe%MWT^$)-v9%Rg1mw>AgE2wX@S7~*RKU}87v|hNJ z=x(lyT}7tHGKT&zHcIkFc*hCaEcDgY2!k~qwt|r86VkVVZyPt*>@YDA0K87u^Ycm8 z3_DNvEt6C@GhL^E@=RfrqR^*N^!m%$lo@M`!VeJ&v~{G^Az&h_COgYz8#NX-u-c4L zi&fg7Sh-<=6ZHOh_;aiG20pLbUpaW+R(H27nwBhoS{o=I4$?kpck86I~B zNcxA5vMlm1wqt6I)hjRdmULMFHI*78s1u%_%yhMcb#!q)!Gq49&rdobOwQiHL4!5k zusvKMJ>`z=1Hh&qwsbQtbQk^+zMQ>o`hD|!!Q%uNE|w;&5~>v1OU0d4M?4LO-vY%s zzmXC-H+(p6`C}eD7(Hh^twYo{U1t4kx=kR#*lXg@&zEo+;P$MLUACi*n@XJx)QYea zQdsK`g7#o&9?_M=DV8?t)e-gcDpFoom1D~p8)ei<=h4}Ul9&0TmZ7kB(H%Jg4QFV_ zA22I%^f*=}6Lbr^1QhmtSLaR7B&Cd1y70@nIc3eqPPHl{xpo(&L zk)aX!Y%f!_i42f}&!w)mRKAPb*;~_@b^#IO=jLT!&=zyH_$vq}En}ML`@f-yc{E`Y z8c~2vy5nR-VGGFP(mEo2E?$f0i$~qN_4yvq6X2mqvReo2SKErt+dSPiI+cJ`MwQpw zx0`o7zHtsKN)~w@G(gs{bgbXa{u89A2zun7j99v??z}9m``3WtRh47m=SA6u^R9n+ z4)o^H&2zhgl-s{-zT&&ERvWr;N`_%FoYG^jzZIlkr@ZAZ<&JF6SWKfWr&Z7fPS2o-2+>oyivQ&ijJ+n$y!ijhm=uS3#9g}=)jqW zRyAbxLKETs{ig!8oDv##V9Ssx1-6+n53;qKPSF8Tcs29N1ZxAaBd8|R@d{fry$}&t zl|S?6IFYV}xnp|927@<|rU=||ycoSCpW5PHAy&#LITh-Y(e{BQQvYxXc5IZu5_)rN z=Jvf_1WDS&-WkRMTB+Zs9Ih9X$Z?tb^lKX(2l3Q@gIYv-=(49C?#{Kg>WWr7 z9~ATrWv-zD2$DrAHSAt*vy549xWB3|RyyiQ7R_)z_gM;Hu;!th#1ev8(9atXUtI?; zBv!C`sJYA}n-ZM;nv8k264kWJaU(+HSngp2>4#nfuDrJVL_i0wA$E}2VCF|eW%t|1 zMj!64W@ilSZG!!s-D1c)XpZrqJl+r!k4ZOMs`F0JY#X^Xn<>dqkm1^a$6;h35s#31gupD~6$KIp zIJ>2ewNMeqyJ+T?`5;YzFH5)sYkr{t;f8X)nAqXckRrU~8DH`bHITm4Qp+y14R&h- zuj-P}sw26DLWU|H1B-k-I@qc_T{-=$p4M_ea5B(Hry$yZ1#r$)5$$uWF4?*4Zo!YV zKvgLO1nUS);1u1(8b;Tc2_{1+l|vX+Ox+oHSq(Fc70N%pZ=dQY(LV ziEB9Qp=;?4vkyV!)E~BT1o!Zd)o7T`yuOyIN>mpAhDjlfMR*HGLr@G0QFHNg@&LJA zkg`wya(q{$x&j-~*jaz(xK(cz|D;WkZ1!H`Z#ZS2r5=#;G*zR^asg<{B)Vs->cJJd zfcbl>6J${bq?7!D->eo%7yVmFe5EZkgBGLXaw^VHCgE?hTbHWb{#lJYJH%z~3j{ z=)41*xK8}W_YdWeE$b#FH=9PwKoUqMA7<~Ch*S|E#Rxoax40^x)pFuCpTyyEAdBU) z(=LIXdtC^6vUo;#x@k5B5a=%W-$YxsgQ_@6$#g7nl$Cbb*g}Q^(<8zi6ZK%#NnZVz!354xke$R83{CSf#pWl-8 zII!X$=wz1>eSl8(CQ;qGBS7_p=}827u5&3{;W>-e5)PdvKHAUdxi)s15-dbUEV5)q zjsLnoJQL3q3_!JriCKhBxd4};0lXA*Mnhaa1SYsRU0mI6@?0O(y#)rLF}i7l33W#|w*{wsDs-hM8==lA%k;mE$Tb*W4Y*v=8xZ86>S&C++}70EiRBMKnEJV!|koe^O^I zw)(Ks`w|yF{B1X55g;os@7C#d&m19sC8?-1xzj%+Tfm69+yVbzS!5CM~#NaaR7g z00CX_692c(inznOuZgI8;~_D2K7<>?%&Zv8IVi}^Gz#YHf;>F3UPAlpe4r3fn`9yyFVoYkU$C$;!@LNg`_AT+Nk_^$}mmA@Rq z5un(~%jQ9n3e<3gP;E?`8cv%&wc3ip5i!d$Kuz#}rhS)o8@{=x!Q$6eUm;d;E>aJ@ zu1;oPalBD6OuEskCiBDU7;qay`05({%5V481+{efvd;57Ay zeGV{J9_{C|hRAHY^bBH0_Kwc(aS9g=T!j|*Pe`*wgJJl6 zM!e+(<%ykBvU!oypUpV9hYMqFXIkydAnO6d;taTb-(K4ZElINY@_@$|iW!VZmDJz_ zH3RHwQay%M+JFj(EiWLZ-_`j07*atwJ>Mm;_>4xwyripx5B1~W%#V2GB^cAlL5G(=s%Qj~! z!ms>TOfD_Y;4xyNyX{vZU%G_T%T2uOt4*ZSNzLG&c=dEw#m4d44D-YfS4iLnNqRlE8kh^+=)QgDYRaXxRiET4$QLL$UF zo1(yM$1>O^RzVvOZof!jh<&|GS!@A@aD!RQt&^lQ4msH@Q9!@aFtj2Bs8Gu6S_)`) z_#o60s?3biV1FasBK=`gXztvb3B$s_jnsGDW?V`Ge=cW^j&#vek|E&m#%0ERCrG93 zs~S-4B~M?zatk#R+gfFi$xV9*e!Ij`2 z^&x1#5^-;5%`s?Ds)RKNKeT~`fAb6>?mAIAa`P#E;#+IQreVh`W8)?QvTZIjqEi5% z6(!&%o>}1e)yr?ZxTM^}f9D^V3VTu4`~KJYQPi7xyl!oY=bwlH`hoYviX={&=N_Cv4qPd~1W0DX$U zFZv=OhbcSNGtQ^jbDHoZ3LP7~5J<24l2a4Un;$sNX|v^2BWcS=rvXiNWqETVl^6OI zV5^WhWpjG&JmupA&_fd)^sz)tiss$fdkK3tFMAD%Av$L3Lb7X5b)?37cqKao0T)6* zY_%WJ+bR59Y;ptb_Jm;U<@zswxnsbqxHE)9+P6Jk6zBlh-7eO$;^cj|k%`@}#3={S zC}~R-q!lbBX-ZBNZo0agZJ&KTyBUzAMR1%CTJ6(J7##2{Zy`T)TS-)M9osQLHy+t@Qq4jhXSfZX1 z#M~t<7PE|5E)RY+q`Izqb3w#-!B96jZs&)JY0^@79wcEm!MMVyIVjR8$GQFM$w~(a ze#u=kzo$%r_AF!07cUp4p-bPsa+Bzm(<3+Uc`zAq{eoWs%{?cKep#io+k83O2AuYu zfwM=yu8iJMVgUY%_U%I>D3vmCn>cYKHL%|B;L@~spDc-@Du2+800umSY8D535+Ofg zEj9i-Lz=cJSb}7j{*F|~WTycX`#k|{4_TxpPkJL=YhHF<0{epW@yy5IWntVe@Jc~7 z)#yyePEL(PwNQj28HSU;D6P)QZKVUFZ!wKR;XQ&pZ-S=j^VA#pFw+(gDQWH2zURq;rijE*%Q)bT2UrRvw?^iIT3r{>!`*E#T* zf37CwKdo7so*1Y?HO#;|&Hg6^^D-%~#fc*INn!JfBHJy8 z&*1X_HcNdtje{*x{Q%Bjk$KSO%-F_u4RPPoby6wn=gn<$7=Bmy69@y{EH9m2dXqln zCiHpRl9p+sQ0hu_NLBQbkfhP78e2|} zZeV!jJ#XYom-kQ8=;i%vdV2jmr*Aa$Y252v2p>%5-0PtCica~b@r!1oVrh0^_>+f{ z5QiHvlKBfXuo(OaCFP69pO)?54;5M73st^Srf_@@CsBsm)h9pBQV6nR9$DWgLtUJO zZ@7fa}7~yM@nQCEq_umHc>=6{)i+wsV!%0aE6s zF9d034&*-av@1}}2<18H2T`KpZ%^0f$Pn9F3*|&@#Yt}U_wp}K-5#a8HAhBFyoD#a zEBZ->QTmXoPv1YjdV{b0j5l$~Dq5TUXtNC!!sp&i`Z%-EML$xSu1WOhtI{IMVBMa@r--gWIFgK|&@LdaBMo)6&j7bQY*n}vJQcl)h*J7sUPX6- z*Q#C-vXu*8?u@ocV965V(sFOi-$-R88EnTG2_|twbjg3ch0+Sit z(LT0#%k?h=V~2Ag)g!MAHTidcHOn--KwJncKC1HY@_=i(Kkf|aI>lD3nt8BwwiS`tn#q=`G+#oH^5%TYYfJ9L-O_4kMod?j{%p2_I!xdJd@^aP zSYgt!|Et&|ubREDn%C8I?7x>Bjg={|=G8rUX0S?VHjGK|QTX}M*=d(aR^Wx8x<;qZ zN4=B!^NsA1{Szm}+}df)N-BbJ58dNIRWJGa<2J3!NJP`g>CbPU2@YKRzmi~Md<4h7 zJ5w3Bt2&B~4GtGQUOt6g)=~XHxFWgy)dYSQen(oq5Wq(k7*t`-6zy-hNnT3x)y;OY zBGXMX8D$xKAapy-5&D!x4+KbUQ)v;Oi7cW->9&TY0lF&ukWhIa$aTbb*syc}!<$HQ z|8uzu_p#IDQA<5HH~#{66xay!q$?7c5&9^ly#AKpadxc?CjFZ9QzHKsyT3bWxWf<* zxk_OeGh@p#FlxWhmAS=m%xgdh&!ffXc%7>{Dp+RU)LOr zjs9M4@e_gIcPz%wSO8l4L~8umqOy!S$5sfp0_2%VkHyva^6~U>-k(A|LGb7~5UX8( z9}}O<&I1~`U3+J1_e64@5} zP1=f>k(@+XcXoPIoUcp1kpL?Vvx&@2wsbgsCtdoh@eEtM!|-~8U8eH(`&V&VjJJj9 zI!(Twd96 zcVo2t-Nbd}3lp)EA6Idn;KFFU60zF+#81_jtdYDWADa;QJ;DJdY>|_OWznNkA$o2= zVbx-cQw7MyVo1t3Z-k;q4Ee_FXPEVOo4fv2CRdf?q-(Qx(@WzD5~S8XgZW3pd+n zNQo#s{|Tb8dKYNuWaKGiF60nHUFW$HU361V3d5vs8mWg(Vbo-CC0~0eTVe&8ody0p zj1F00H_FZq#!PUyMb)p2L^5uMfL$HPym61Cy8xxy(v;I>On>r`%Ute=Tt7`0>VX4X zoZ=Oe5<0syM{^a!mbYZSO_#%`bX2q2U_m&i-xNY8EHAuUUE}|(4FT21W8nGFZm{`f z(gAS?P-f}(3)7f>PvmohH-MMDR5R936yBr%?h z1x|*T<#qj(?_)P0dwUkERtw2&50XZ z69MU=QA0E(4xpMo01sTUAWw)F>9<@Ya6f+!7izzR@0aX=;kRl#A&P3seopoMtad)= zO}Gzv-h)wUzlMcNCZ%~*eO!;#$|Ed)x&d)cafiRe=&FZ0;8EcE-o_5e^~*u580v9j z({(LBfCu8)LXS)hmGndaQ%QXswdXfRcdum-l8Z_bbqbz$yEu;6+dxqX&wkLUS?e0? zn&ftRbJ$6(^_Kl;_{imAmtR-R^2A3Q=@NrutDEBaEodd5%%1)<4$Y?Xyr-aP_b@@E zV9KE@Wu;#1Ff6=p)CE7s0$kwB+z&(#=tpI20-+z1J$w_ep;LMg{KRyM9e0Kts(|>n zE2FTVKi8K8Lm%gV3iEzkbpyqD)49YF>bX0a%>yUcwxZ2pZxYFSP#DI^WK1?Ag06`z z?afPQbNO4-J`Qpp4bQIm3iUQ9;dcZ{gEds`v12>oo%P&ro$EnpBzF0@-J{#>mDDc$ zw67YcNzy+^Tp62x8Y~T~(D@#0halZ!5)-ucpCdCXdQyRWupaR^`lSm1Qk7?X?(2Df z?!{8ENRew0{bl@#9C>Ao?@Q!_Lq8L}yD}zweXn_Z6VUB(1 zu1pF!ot+794^7&UWg+OME=fHy@!=leP(tQ)nNa*F7(LzOvm@kP+6DFQ< zHS@PQ%(f&uy3U%N%5QB~rey1XtZ6f%Oh2bM0AjnUGcA@YlQZLu_epyFjHrwz7wkXg z-!VzHl^J_*kIo~mePqHbQVH_u1iiTVl8o@Ac3_Sxv6jMB6LN_*v-vi!sZ^pJE0D+O zcDdUUdeBFbp7ykwVm-68uRc4#qsYQZ|$+3`#LW;Fg%{zV8a)n`L5~S z2d0{xXY8gZ$z)m0b|OWA_jlt%&)9Ess$o5BWbRW;HY((O1`BRBOEYm<*&{J>0`G|M zI`T;leYgmF8eUPYnI_X{8_fTJDnLq8kenpkQee1W#>f~4YuUkf<4Z)?k6U%X4}DLS z_Ig=s?}oN4gUza+12`DQ;R}v;Ud%2^H57+0y;N&F3S#y>R8Xm6Kz5~vjMT~q%>hsp4b z+Gm^CB2IGCyhnz0bkZ~Vox>&_CdC#uF4f;I=3{=H%_abpbPLS!)cM-C^+vY?lW!$`ByinDM5FhTH@XG~q&C^t4 z!V5$r{v}*t>?jlYwa|Che8?R~^#hG;Z>}Mxpn5E$0c}4mYOnx0>^|>?-Lj6^!cu;s z688Ip5!A6eu@(W{sOQN8oDW%S^{;x@I7X%t>0cI{b>aJmpD zHS&=gi-`({RK{r;n?LjXZYGF#;pxz%G*Bv*Ly})cY2WM5Bq!765uXK^Uptq^i9jm`dY9Yd%_;P$h<(K} z&1LJp?X&@j(j*a99__0c z`7*9?fPf%QCP8M)(}xwBAl*b3h+?%Y%!%>fERkM$-YDt+Org)jzaR3!trWc4&jhFL zFI1ZqwUUs}cca7;#o4Nn>C4W6md?%yNR27#9ewC7XW8Fe$Z^P&C{}coG ze3ke1dBgiGG9Z2+Ng_$ekcR0XOxAy6`xdUjx4_0q(mbYTT*}c^(qf=Dl7gi30qFJc zE}F4;nUriBxN95f3;pTBQ0T2Ax}BiQm5Q)%IbE47vtVNBD$jWLS)w#KNGfMKR?Ohe zVpyvfoCsdn4DEIZ=2oXrt40!JAaTw44icH@Nc|`LMnM3cSOlaxQ3*HNw$||Bn0caN z8eoDi&}id6j(vJ5&WL4n6YjK*3X9P@DNSH_0cgtx>*@Bj2dEqFZN zs5X3Ny;fO_L34WE$W)h7POziYctA76c+U0lUEvLjIFqubYpfqu2D41E$jSnz6CJRs zxJvo96e!ZG$of<#lYn``^SKsu_PbU4m$d9)1T~j`T+Q_=G9y}KTO!ujx)ef={PT?u zbOFB{qybuY zXjKq*6t@O3L(s^>w|jKTG$%{nfi9H^?SRo&RLm3wT(V6WNN_I3M`P>_&fOwi~w0CE8aiS^Di1h4{ zh@lzIfdP22hSPs}CGci?+Uti=+(Lq0Q$lc^FuYO&5TV+u5aC)vc1xIdE|#a>PhFp* zbl4~z36H;G&33Zv>_z*6k^5CtjKLx#(R-O>+nThm)=GwKh*ApL9crMp3#}$nrJ&^w z*uB~0Xi;K>Csl|iYmDDwa|h%`KQUDhn*-w4IF$N@Gwonja11d0C=tO5hvVMI!U)}%1-g`wgxwUQEA_zec6G5bxfS}Sr z>77uNCL&0$Ql25-S?hVf<$Bipjq&aLduuO4 z9q~?b&w0=5y3X@B5jP9yY5~9Kvn*sGquWCsBlRsvP$*(q-PD1p{2m8ok16y@ctA;Z z*{MzF^&kgE238$X6I+z{03}Knf3yf`tsWm`OALiKH|44?Ek@@1pZ*6F&)5iDI!QyT zXSBe9pv~MU9{lXfl%KbLNx|5W+0T0ont^^>Dab%u3T}^ZOL`{wwZI&T=NwFa0PTqk z*|X2X8%w?8bL#ozJy9+H6PvJBuUC+<<1|MHowA#FEp#WxxXX)%2Jv>^rYl{#4HvJ| zf*}%O7TMH*Y&{*c@4Q~{y8AvxP}ps^8c?DIN?y!92RCtwk8^}>$i8jP zzUKAeM2oaUsAH_jkTsP!>E}%##Iu(N)oqvq8PgpH*S+9xnGLln;9zbD6T1;`b3GJU zrx&S0)$0XgY2I0&eMwtPq%t3gB;&Ds^LB_8FJ0McB&yXMM5eagw|oP;@~sOR#z0cv zZaE9qDS)Kal{-}587_!>k&x)s-#q67OZZju{>u0#2e3-tE<|Y->0kB@dw$qJe^%7# z*XV@^<0>>g)VG>dkAtC#V3c3PBc24?w$G$RIl-u_PZqek;bwcVF!2=X13ewCz;zFj z#{J|un5C@CB5$qTs^AVID$Dn}nk0;?34>B;nfpnB;>NQmJN*K#gKD<*tAmTS=ea16MfKU5jhmysyCA{J^b*~elWNRW-^FoN0J6=POf*BLp524{gxFCN7FuEWc}tL z(a5vF+xW#Mb1D=)rnTQ2Lyz&m>(3(f)Q)zdwa9lUAPW63JeV($*O{XiU3Zc3PBUX{ zYYzoxr^Hq`sU(DPIJ=8A&BG+^BbP_d5Uz!}-x#pGDLi^M0mPPM^*E4=4xktJIWu}& zghfpD&){gc~HBMo;cTf&%E1wGO_Nn8on!T#YY}p3so>l&x zukEpek<#ZUXwCZY9KP7t~?Y*f6~lm9Mx7*G$6qe>Q{=hUbz5d9%_l3f~FVp zQT5I9uR22qKA@w&xa3E?!u{~)stelDXQG6xx-=akf%v!<=T6+?NQ`@n(Q?*Vi&6+_ zI}nf~mB>H^ks^X|!QzJ~gYH5)V6W@euGo9XVAm(U+0WZ^e%pwO&wy>`-p-3@kYYqR z%i^&%@?$k%EvBX!dGRAuf5oGQrdmb!vzhy7Bq(dgHqI-{_SlB((e!N5U0%!+E;G9vQU}qd z>US=UwbY#b@=Ps%VMeOj<1l|hClAUn(=V*XKbICP00-cwRdmNy`qfAfkQ znL6ATE_VQgpGlXh1X*Ms%OD^$hWFZKA9fx`E!Qz^*+bGCHNCLzIx%*Czh=I)nDqW{ zEn!f)E}c}ovDgOB5`;}-DSa^>YU_!O_!CQ-7mV}zR#|VizSg}XyDmo+hm`v$f+E8s z*Mj)Ao!=|;RIWs)d2j8lNWdLQW2jf36iqOTGZ#K`ImL=E!!w5I;JSDNNS;;VG|25@ zC^PB1#G~FQDWtZU+T~!T_Gg9P2aJizJCIda4O&0e42DIj@8w zqkZO?JV{NQ`gTmRC@5h(Q$xI7eu)HXGq65WQRf2{(-d4(5jRS7n|Mwe$wavCJz-DO zMO_TH9V+QGz#M<@E>t2gqgZh8+w_fc=7{GxzA*Nk63^JgLHa-y(US{My&V_|lcm$E z9*ALyeSP;Rgz7`&ciGmSBqI(`6+l8U9RiMRu@;N1DQBF1blsy@5jA*6$;b1DV zsM8JFyVK!YplFmw80*X233utp|FSc0G#PGGMXdSorMgvrZ`87R*00YITb+)Ow)EXR ziv@mqU-n~Bp0NwvVx!T<;E|nHjgVWU{9gL9TyjDLhaYXxGA#Gp@_cUexOSN6c zWx$ZTXwBUdRQEZ))!nR`X~jdSNoRxlX*F57v#3dMLda)bKP6|nS=<9YqZS5tE66y7 zOI7K5qy_% z>n0T~Du}n_HrxTvlQB1&IKncR$6Jb$P&hdA{ftobL6tQS^y_&6&qA!gwq2xU64}1iIRS6&;r}x<>?p&X%2&jF{Vsef6CwT(x2C*X?qah0})L` zrTTEg_i4c`%&~+@JJosCujTN9JV(T~%ubjxUOoRVaSqO4 zLuJ^zIqxTzUkULeYO!`FIV4CutPtSdxL4CLj?tLgzta1GC+*4r@-4tS8cY9t;rhu` zWv5XBWd!eIi-dql%BSZ2nb~kom2X3yak5n;jEqy5J{6&b*s{f>XN$_9Ii!7N7k8|U zc5h)xws|d(4mJ(KP@O!(dbd9o_E1#iW)&H0&q^s07M8ON9#F~Z$``seBnAb{InB>OdCTLLPVwEKuFBn^y^82)Z3F^;WZC?aX4 zn*7o1+@8x@Hub`{dW{H95iHp08HiSEW2Cg+4|UJ^qnLLu^X#1H0tH8%#!QZv1l& zj4bR7amyQEIE1)&Ae3tyu4t^GSH`crnMQiu3#K z9=(sR&gz15sz|{}{mtdq_Ni0i%Q<4+3p>*j`xeFrR9psZ;a{HUVn#eA_WQ79_76Xw zJtSo8a{1VS9wpPoQ%E_O{&Z(^q$TvxgkGO~OM!|^puLE5VO9W@(MKnVw+$S*ynrXm zkt5ss=%rix7Hns;fHjbB3TN^jLWVrdHRf(4ExQ4A zVwh|cEW~;}pi%omz#eFIq^BMwgouyUcJ2gB-?c$O z%3*gH<=7&RnNW4{W2V)H_53Z2Ps1(O%i?7!=slZXPu*o)k^V+>j*W958gC7nQXK}P zpybS{7RS^$v!81U?m!`#O@DsSrp<05(t(tt89V3-#+9)#Z95e|jaar?d8EE=zS1Gq zEi~N|Rsl2@gRRHrT`7s_5~9?_K#0)y;#DOGGcY9Wm!gmpnh&2rHnUs(of$fBDYh#-3op0p!)hHN+iC=-T z*3Zc9Q&IQ1gO!pKPKLTqmnB39%WwSj4sf0qfOJddx#+Z0pRfiv!k?>CbWvq#Flode zYjMd|iHdwL&UwQSkM=HO4O=|LU=H_P0JBxI)Xtw%c0`n|A&l!2iI?rt9k% z)%RA{Kyp{+go4Di=IvL!OC58b3e+=+-9F}%p$(+ny&kNwffFSdPFBt{+2^?CPd^Gn z$=kN>bl+SdwH0eO8KgM#XugJ%ywBU4(vYi`IHxzF`uxIVa#@h4>fF-`plL22`{Me2 zVgDOijA=4m6zys8m^QH0zo$faf_^^yt?#pMA|2@C#bou>e~6;7WfMhtJSvy)VF-PwADk0aBf0UXrJW|m7E0-~nW%9@I; zgEww<{JrQea)3^|Gm@8jarV7@%xy6vc(40!q`pihkTejJF2buCHX2JBbPkKmS5haj zd^={E8gK_cvdF2&A`hD}5Vrg?bInc>zkknXE^V7RygniuBL2(d`OUmHM$|lnxE!az z1A~wHPGN~CA`8+huGZsSaskZNNN7g%byB>CdT157Lu4Mb+_=Hy@nAk^L|oceL02(= zEGnqN`wtbW6k4Xw^Y307yBWD@NMCN0%r|O(#OTcAR340M!8jsjg+e*D%W|^)k5`UI zyAPo@68_t}{hAnG+azAsFqeL=LRAToqc#OodlAR;vYpG$sYb{m<@dHsHWn#o)T}@` zKo!#oOd$PQk8T%bMm`eGz3o1aLdH?4yOU2LA5r}R02D6U7;&rm4Pz@Y z;}dY^KLqn08h~%8YTVC!!{{UJaUIrvUqlVOQ@;bn6-Lh4Bc%D1OIHwB^8}1Lmn~!p zSi8e>dks+Qv?iz(Kk=zii`Z%2*L*G8>{19CX`%ABA$9ELQYIqZkw|v^Y}3@^8!&h& z@mJ3z)Gh#qqsPNn_PW$c0Tu}MfwG7RcN(r0@?7@?kERu{h3kSYke(iyb8G?qdg6+ZARr1k4jGH$&y z-kpp|ydOq#i7Fu1U}8g=CKeiJ>RL}|Y0-lwTfb+n0CEjVS0db9|F>L&?}`jZ8`o{P zz6}lY{nk&TxP*gR?|Ik7pe&>ydG`wz`GR=5Zp{PKAY|$!8Qc`j86vp2JlDl8zC*Gr zxO7lF<$5tb00IrJNNG&O&cx6$lEO#*@`O`4TCRnG=ORVWJYa-47;v5QKn>)mFwDaw z#`c~*UtHmzKw;=l9TTzoeOHR?AyrBuNs3g|%Fhzhrr<4#$IRBMCq*xXAD#i`!f4XU z9v>4*;Yv6R_7)B|1(FB04ac+rvw1@Sq=vGtUsM2Zfjt6;ecxS|^#Lnxssn4K*8l}Y z6tYxMi@}5)INR@=o(!Qwjl3~&x4cJkx?Nu%q9y1Q;#2oNmF;YGyuY!2RC3p>jrD~d z;J42tvSn9Cd8$%3pP#I)xHv0ToJQObWvkwaEKH*A{e07@9ae5ZZCrJw{jDQoPc)cS z&`6s{p#3#6er!j%dmz3?UX}o<$b>u)KAyXTH?IoKzoOCjY;)C7R9b6KA1IGwCXhE_ zL{{{_NQfD6389zI9GmH#=SAVYZwJGTk}Kg|b;yE8XYi>2qjw3#G+}Q|`jS40hjDqPkGpt>NGVsAD2a*YE?%DyZ0x!DF-Mqxo zzRi5da!#t7wW%h=B9W!$8{Pc<j#m2MQIA13 z8!b&z%5_14uBXFvtekP7W=ZrDOFH zw>`_9@j1xi^1YqEwWA>?X!2`(n(~qB%TIKM`$8+7HDEL0a6P&rHSdSeGIs5aGo|mq zdg1&fwBzJ_4-2j(rcb$M?RuSGX)iMbeXYe&m}A_gqRhqrVF92yq^tTI`lcy80FB{o z^0x4lYp`i7^-w%5qA^FmvosJ*-JQx&J`Sf>Kb!NKp63QV{I_SxQ%C0H{co2|eL-2! znyI(-EpoLr?*eQl{w|_zVWg{SPKN&Ip{JI&uT<3yhd}XjG#ZUj8>r9Kw|c_Nt%CPp z6UgDGQqtK{UxKL|lbs*XSEgrz?1cf#%wGk>1Xb9HihPo_u({Q>_~b_V@!155=l@Wr^OPBLe07vj6d6ggL!007tE+t*?a=cKgAd z;@71{zX%%l?U}Jeu!Q@O?e!Z}0@_Q`Ym&#BUyg&mw?oFtY?m!KA}s`Ln~+gm;^v*x zsSl}0j0CMN$(YC9ve3Xjp?72$Pg-y?+AP2H8?;oA7aL?tEGC#<>yp(<<&#R>6#{eJ49 zEXjruNh@=1gv7~pCs3QhFYDppK;daSq<*EIpU}{KNw<$rKr3@Ifiiv~rR#9bAAKq} zY}Ys+bt(1&<_AdPWhSyj&T7ihZ#*_@go3AJB|~5ZXf04(nshy6@L-_2XA+t#qoIGa zIo#~Bj1077W9VA`TwPa1Cq*2Xk)4NUq>70nJCV_2O4mQsODvS%OuKsU6LSbp0? z5zfS`?^D<;Ci(P9JA$TP`Dfp=nr${(xNgDKa_*Gwli6X_ugDJv;!OPcazg8@>BjFD z_9^xW_-Gh?ntM&8iVP^?zzEEeB8r&{kP5c<;~+!IQTz)+TdC-g&|gUwhPA{VZXuM=?3F~rCj6>g5paH29h4pK>{HZaqh3N;RT_R5~l(UAJra|6$7FC z`gm94yP#S>;!u`JXBvUYQ{x79Hi}<#?|w)bQv2FzWODovxd>!k0>OtwmAwK;88)1& z1%RuSHn~7_B&7Yf4v#{H02WR$_w>$R(^M?7g5V++#RR`RgVji2XW?{F2|o9q-aW*| zH@vR1#2dqiFEm(%<*+C6onRX)bg8?ot(_u1I>#E+?>Tf)>%6GFQ}@Z_Gnd`->?`Hx z@jg$%F}tB-e?-{!AW6B;M4j9oeR7Z)okQ*CWOg(_C}Cwkw#tS98qK}3lf#6eACWZ! zlOsAKnB&m-`Z@^Y=9bQ7z38(Q@1WV^dtt)8oTzOU>Y=h$7O@$`=yyC>iRAI7Gr z9$)B^T5ech!GBS(wH|_Dv%$l{h~2*lYw?(W0oWRs{E)fMll-*j5i4IST(_WF*1I|H z!93TcCiRzkoS|_3PKrjK{+AODF&BILUdDJmFKe%(?I()o73&4qDzrPkvfI62a^f#C^S_E5u-tmS_-Cr0cdQ0<4BC zC&UD#n^amLThPda)TkT@S_U_}w~E1Ge^HxNkjXqEY~&Wp9;J@=-+o;qV-}zbHm<2m z`y2j0M8T*XU}c`;k|+RNgIguA#nqpBakGjxTm5 zz7fY3)&SIF-RLIq8%YxTQmY4mzzuo|kh}kt-T+W4?2UNY?6rtl)z#>_%zg3K2Y@RW z5T-m0I9p0w-Xk4-zQE%a-SgBWJ@GSO0yGC*=qkbnR>q(2ZDD`)XnEM;e-Z)`9^#2_ z#YC57TB|#b4#?BGJ_dcZWR{QKdp7>8(NrHO|Nil1ux?w+ z4;%`A>)!m?$bqnb?fY3a+!s!iDSt8ge7kt(mwu_2k}dDwF8H7DYb=AtNDBMLQdRIl z`G34~(JNB!b~pbU!%L&5o4lX@HmLm#hx^w{^1EQqxKYMt;`_S->(9S`^So|WHT89z z$LQ-f(@OI0FQZRRXLg2hqoX)UqyHIl@b^!TU6G4yfT*{9z4pcLUYkEZ6bo0t?GCP( zgZ>plQ7;Trn8e==guk`BetVfPjO~1_ty--A?Gg9KFG!m7Jf?h=D?R4(-{)HY`*$dL zku(M@&oGaHJZ!}7-){#aMtD(ctZe_ae1)-aj_Lzx7tNs5_PKK(cCo&fxnk(vksz~a zwcnnl|F@TQ7eS`Z-bMHOd9VKYpEzBUtf=--EUR969iA;4uXUHBWEe#xh7^kKRw<>o zIu#QY5gWYrjP0kv64zJOTYtaAe|{=%La@7~1>cxZ|9|;q{`({U`F7cj`mfOAfAC6=%gMhpTAc;ovoED{DoCe~Hq1-=Rj-z9D4Q zwbs&?B2N#>nAAkNbWi`J?O`UO2Mc+j{||KqH$AqFiT=f*^UqHn5XW3~^Jm)D&+Gjt z^?2P64xMSPhF&`XRoCsf9zPj)^Up5Bf3G0Pb5KFJacSpf=F-+cC-X^X?-fkJ2?_!e{c*yys<<-mdb*S zPTs4rV@v7Z2ARiYfGWeh@(TzG#ZTwx&zIb^y!{K6MhSlAR0s^;8W z%dxFLem2Z+J6cwTl?a>UsHUf3lOr01#sMsQ8N@zdMN!c-Rl-E2;2x46jA`q^+|R0!E87hZFjgf0pg1Lsh;J< z92@w7@PIv?{81OPugudEQ_;O$$UR>4Xntz1>f~H%oU{L6Y1-Q~AVj!1>bk>vdW!L< z$C$7xpKXdQ?FX|ylCZBuoBtQ;^9RE(j=o>b|6)+n4U>M`?CT8p&N=4?(dSD- z?K4=ZoA}Ah)%cOl(z658=$xu^KljSR#pHevIv^3vgr^j=iv>zXx0;SW z!}I8}12!*OqJ(?SnnxY${`av#8p1Qdq{7+j7U-(U-GZI+FV!6MB|v4GjU7K03fN*; zF;e|!*c1qIv#vxjR@=RjAC>0YpA1j$5c&Iq1c%SvS*uc}2^TEN3jI%4g<51tgqUs1 zN6eQ$7y8=pn!RvW8wNPz~#96SlGm#W}pZQiyy(kV7s-2J_~HlKMfi` z%|zUT1OdLkSbojX$})fn+7Wem=W5BIUN`&!aRXt*9~l?Me}KKrPRIDg^(_L#r_|AS z!Sxq{`#_zb2q?ndE#F#9&Z*qVH*@!{(}0anyJ9@Hrt&nC{?yW|H{2jrp#MfG80KiaVRuLe_hgfg{*rT;c+>}G z48cWqpGCg(W!*ob7ZfwrWL84kup#j-VEfo}Mq2$>BXb7<0z6d{l$d{eumpG#DlymZ zftl@F60w~g#N+oYGS80<&vy-%0n(mq{>Cg-Z+l;@CD$wwF?~fZ6x;# zJ(}1`EJ-(6LP~YM>~k*vk+;xp%88u?wW6G9jU6nHo4EX9`ibGUWDitzpRr%+xnbzz zSjExq`DkCb;T`8_<{F0O@oB5PcprJmwWbsB{PNK+H?6dVW}E5++>g^9j~2AHss1s@ zG#Uc)q-H)zGmcBOVpCdeduPhdP2$7_y`AD^ioHQdzc&_PX|BuIyc@R)29pE#n(b5? z*SD7YSZOI!q9V40(I@l)OHFy_w$Vv>3*o2ax2KYhN{1qqYw46g=J>gA8UUb|SJr6J z(h@hi9~=pCAKk)=p^Ci&^scETpS}O!tbP+_H)lC@8!FXbY?uC@n+Tg|vvamzTbnMU z^!Lzig$!2g9Ps;7`0o`|r=k&@u)G#`Wa!1++YEMLr z&0ZYOf=~}W2l7qP!!HCD8QmJP zT3GA%9d=XYOr5P^ZA;^`$v|Mrj%;rJmwn} zfJD9R)h_{eC6%IP%T%57_)?Eg{a(A&JPU*ah;!ZNLuQaULSc0+yu61`K+pv^g;1+y zv5Uj+IHjJB)t>5lfo*MU@&zQmbw<#7fHH9Ct)|Xx3`$>w*dk9VVQ^r=c7l){jJcPA z65sPo-(f)GNo0k9pl}U{UMTeZ@ysdMv&J1}T;olcsmQYg4mjBK_^)Y#PQlKsYGs~& z+hW;be&dcU3m=NH5fXN_(FNsn;MAzZa*=?>LDDbYxl7P-hI^`w9~@>7)VK}WFZl_} z(RAL~Ltp&Pw^MG;@^v%W07yoxtT!p^hFx=&KZvlhWKD(y+8z~tKRgFpoJE>!;D4nq z6iq&}eYNfRVpX-4q4Z${i;3`Q_)Nvav}>i1P2HFK>$h`K9szZ?55cTKxUq%piJ4Jl0_Ab^QDe7M)S*z=R-) zA?&@5O}RNK7QXb$G7)MRtu zLKw<9S&QfZSj=_0$!AE#V&sR8BXFJ{a7yrcl-F6F%UJ2vuAcT<0J~8rm%aE7<=nPo zw}ndG?y^JHU{9R$Bb@Cg`1)uciOn$8`36V4xo@ixBWfsL%HuG}2<|Ftq^DJt3HG#4 zzW2C4q6ICL5G60hB9nF!H3GPd+aLQDYk&$yE`^^2R;G=9g0~`td4Zkviqtsqnjw7r zaCxeFPWPwM%Ymz%CM+3^AC-UF`IztGYkDvszJLGu)QTZU)Y<;ZgxAcN`=)o%r=G~* z)fa*2WO(*kirqT z++r4KS($3^_@!0N`Exqm_emvdBmKRHIXc9JRYBA}q>h*L`=JPTB$U*1s z*-efwTh>;4bJ1DU{;n!rCNC`VV$zEDLOf5SpPcai@XGLR{8CwBA#q~lHBbL#VBIMh zZ;`R*lTk8mSUF7;0G(h&Dff%s-A|Y(tG=y>5Z7qQ&MsSUO9=u&F~X=*KFvVeNx~D@ zXZvsKv*BD_X0YNU$S~qN%jLVhq{TONx<4Bl9CTn?6Hn_&df%@Gi@f*6p4ON)O3twR zCgK=r>&lPJi2aa+eO&je`fa`00X_hyG#lfVT`OzcAI_4`a9i|zdYcYKtz@cauNQt$ zjAMHJh8%|VhCEc1X@o;ZV|L+ifO;xMTt+u1;yR3+0>iUJG6Ve-lwQT0?Ws!NOWDw{CJh7 zdDdWh#I2r-Ga+ZAGk6=EFj&uPMgZ}^N%t6=GLqJWY%Na$6;yy9WIBQ#x84<--|($} znQNM|MI?z|^2=E&fT*ZPWAk6snno8uHb}f+VIQzRT^(&9H@o8HgJ5S(S3$WH=;Emx zg@j@2%$EiFBs%G%os~8;%G%?mJN=Hn$q{G#@b4f7Xp0DhLAYH%O-tUX&~n4=nWfb zdw!w{vdB^j#=Gh|!Q*lA+Pk%MO>MKcdvzm#DUm8WglzOK#{LtlKMc-cyh=M?g++F~ za~6@!)xG*n>|f0m!JLyZ|>03F_{Sq7-m{+{lzX%#3J~Mwlo97XvHi(6*czH;vOziU zDI(&hZ)PO_gU$n}Z6wH=x=j=sR;2jedMn(Sqa(i{{=3ekH^M{iZZ*JE%zyhxfPo?8 zv5=`_2Q9mb-VjggBL@>}jE~7BN74wGt{!klMVc7HO|~bqCIw?tfzc|=-JWv!wL1pe z4svEendn7ZC+g8p=1{oGbyCTd$)$XBcpAP>cl-c-Z&;V+FBNeghKGgf@H{BA&jvOEmp({%kw=Y9t{ zhXrq!Cp7zKv0+Gmj%xQ%$gSBn1x}XL3qiyHUuQlQia|JGJo+_ygGU(vHk?N-gOf9}v7a&#yVL z334Z8o-KxdEe+&3rYsEzF2;ab)|5PM_N2?3Y?WmgRCqySeCE?GKqUQ*sU*chd++)y zi6|Z|^`3y%=YF?o^tsbc%b0+d_8XC9!|aLNaVS5_`o$wf%TJr)c`tvqWJX7oAG0Z00dgoF$ewQ6Yu`y$=G9%lQ2GMmwHvLs<3LKa{S44bZG}?74ya=V)<_+KXjkQ z7mD~g6a{NoRmWX#fiil7YwqN$onGqpP9E8a)3N@Tg17OdJn&8r=Egpm$P!aiV$3S3 zT<`(+=z3Z8GJ4I$(6QRekm+nOEjy(TW&hFZ%2JEzAAt$30apP|sA8NG#jy)wNGdw{ z3;Tx}KQ}B5-6^E^wJge_*?1D+M#=6mv`uX+8d1((D}zn6+)R$o(9jy?l@bt8jpqIRKL zHD&CG&-RbfqB(4hXv>ViC#(Sqd-NLRt&cA~+nuyod6{vgDR4cB{dP==^|&n+TF%2* z(-M%P+7@f!0m8vDNbAY7y)QY~!hu!ZhIF?;ByF{Bw+<=Y_8i7f#e!@#Nixc|uwZxw zz)PL*PoUq(p=zkIlNrugd5g%{DFF9``bwtL!?^m&%7EUjr1(JFMn~e8CXB&;8_wy; zSX0Ojwhhb(m&%Bg4E->w@lHKQorAzwM0SHEn)f^ZP{OmwrVJ_+_X@U2xge!Ua{=4? zP02ngB+GCv~Pd}5$awD~oH-LPpJzw6>_Mh~2w^{KP0vz?& z#rN9&)gLj!o^|ugK%pO^^WDKP1czh?sH`Un`mWic=+fL$qLl?6cyY;(8y(@*O z87s|nmFI5Sq4EQkO79|Qk&k3r)iz9N)vk2uV0{o%fWgsJrjOEB`$7EV3*$ zYBfRIbtno=eCHh6*ynePvM)}CIdX=%Xm9jcv}Jh1b-F)6m<_&dr-~x^T^0T_>ZdA> z;$=a?j+QS`DlP-3dlOtl6RYh{siQ7APRS+pisHhfwVWiJr;N?CvF(}fu&g&t+jdgl zZlERwFEJQ2XoX~a@{wcEk>NhT_M$V8D{66|L1E-{ZJIW0nrxHJmS9wP!JF%Y58zp} zW4y%sH?T+$XqD3#Lt_m{I1uY+9?q@~47zbjK!Le6i4lBpPkZEvGbwuXcWY5kx7nl-v+dPL>%@u%#P{A@O}_YKzBPX9rvW zX|iKGz6D?dJFKvzM_)br&6WcSQ#n~6nfvg|v*`b94X^5+vT#oZt{a6v#4pCjeTZnD zr{}_LtLa(`kTu*`>f8aozVMkgi z_+Hq)q8zM=uSVu_IbY?w^W@5vahzJI%bb_ShEm+E&*)xv&#IHFvVBGw7gl!3<=1!1 zIuD+^ul`tG>-IHzWwOOH$2M#y`}}xyDSZMrJ%vE!*2QX&jhToOa3w_02zcN-R~yJ} zwo{@;ct9y3VKzg+cay=#EaYY_ z0Mc!YZd z|E1ml0rp z^4tw%!5b(G;|Z1;1Hl)h@;|wz+mESbDxzhytPt$-dP>wm$oT~!XZyDonI_S_T~%P1 zHOlAAV2K`m@hg3`tr!vqZR(?&@oRuaGnNqoAWiX=0RGY$hKDjIN)yrw%CX-aT-KUh zpa5s{^Tl!etzF2#+}RZzvUM|$`g?gUvvpEe8OfvE%d!%ySqdb&2}ga6Z|asirrj{` zFg8cxLb@(8@}u&JFhx@7IF3GF$3YyUE{U7-)B@z-aKi+GoUI{hL7;3xDw3ZCBkiTC zZ_LtoP9mPFjINq)R&j2*Vb#(Mkef_>a7h;k=| zKQ*t)NbPOQ^}SSf(@Mldlywy@J*RhLon#cZ%oN12eIxQXZ>mb)XI{U8_g%1)r-5*{ zd8r|6?`}Ha6{Z&#FJ)#b*LjOZ?2BM7G>(<2DfW82za5`dM`yu7!)28|W1~8y4f&dw z6}2x$9<`=Ns-+RhK*+cvJMP-2-@7Co zaEHceV@P6R3`>N!0Lqhe9xE{KtZMfY-g<${w=>-%U&WrHKhlD!RUsi!)0F6Vv{?N$533DZ>Ut<2LZDIS*w*Sl8HVS6U5^IXa&W}fTm@d3LWXVftA6NU)AXN;KxZ|3_A-pV(WuB(#}xh$}kQVTwb5^ zf)C3b$UlA97l%4)jlOx28O3J;@vR^rv$3GrUZ2t;ELZh9?^@oJr>AtJ`&3YE?6poH zp8Q2@l4?hM+4o%7#9x9QjM8N~%I5B801J-feDx!$Uem<40cZ<~?^DoZV)dfaLXc{_ zj%nW@!CIGaNHEWl5rRnI*b}(;HrEnq^}}@U z5`qDu$!+doR8HFN)wEdHDn0Qnb2oZ_y6J{~O6Jvm^2-FMVTsn)mi^p~Q2$1kwU{Su zBr}At48_dILB(L(uH6LFD685ISTKVEhM5HQBkTiyh}n)^JJ(@v$Px>8ecPR2Js4q{ z4|19U&f6$ZW(FlAwR+=rXZ;oQS_~bJGUT(C#UAAvHizAtpL`<=xs>W&e%7m!Nz!YO znM!Gr1StMFxGVLZ@#NAgP@Dbl*mX@}#za1QmZg#fgZYD*cWZLHH!MJG-JF;}KG-(P z@d`FDr<1%Mx}M98vTJc)?*N@FQMKE!8d6%Sx#Kc$7F*Z_4{|5`xBj98(vL%W!YDO! zL$<%e!#Q6!jhF2{(0zz`@nKHU@Te~sO2VWgF@6u*3pG{FaA{u@(hzspPpN|O7WZlDmx>as|J{MPKUYE0@=Hg_$AYpGv6BOQ0SD=I7A;EEiy#53$ zw~D@2Og&dkTbhaR6YQV`L5j9HLMde?<%zjQ-g!q$NNJU^n@4w0ob1b{?|uX+2qF3x z{3h#RuHSA?UkqG@USOhYo(c0q9Fg)&Mi1;!5ih-w679Ozg3l3d3N{BcB6%Kgsm!00 zzZN;30zI|Hf^Y9@V``EseVH>-m8NKqt*YYJwMLiAlC328FC`&svV`m1C{vRYgC4Y$ zRdl0DvW8P^1z*3Afe$6{Q`lN=d|Z;47l4wuWc9|Gl#@j~lbpKVQCwyqJ6xSj-BFns z|JO75IUWmX0EM@_?sJa5t@#wb#0wq;zprkJ*g6lQa>}P52zE8+Q)Ix4l{(2r(VPxjF)skea7q3QV}Voum8B;Y=AO)Rde+5AGb zQ{o<(v8!uO!EIjw7M^?7G^%)a@EMsd-W?nIlcbL_hl}v#FKcNF$W_OJQIMOyXj@yj;YeX>FzBmXfGQcw3z@Vj36N1+O zHF>Mf{6-xARKYZOo#Ed20_b}Ry{WDh6jM$-iuHMvbKX+b=j&g^vF_FCc(|QjSjDdI zxF@jfbs{rgJ+gu6qURDjeYRXEV3<5~-G+cMemhwba4oYql?c1GIcyRF*O80ib)KuX zD@-a(gCwkZ*utXwv6Q}y%l%kA_{Q6qwOPG{T}IReEZ7zlQTifmco>bw8pLJ;yb=q( z?;+p)6(u!H9rEEKt3ZVN34q^GR^c1Op<6`mnM*Lr1k*u~(6pWy#fe zN=QXp>$t}Hvj7sQvh$Q3(WD{eJFbY#gHg#+^U?#JP4I|Cil5vf_cL?F;F<+;PgT&Z zpU&P$kyeQO_36nUZuJi|>j@>PZ`j6<p*GY9Sr5jeItx(xVf$8cC54pbNf4 zqt(z||Gm=mR27l+G7vF90Z{ayg}2G@3)Cp3917;mM}wZGltf1^dHWg?6Au|5bAWx>?|B5_DGMnzYE;CR6c)2?_s)Nbd`QRJG+4=mR2s zIl+1!Akud~DiWjfb;06&6ctVvsN}eM-!S39Id|Po}6EJ1Z`TKK$LlXT*z@jZhX=qS^nNjdQc$HR~2d zBEyhwuFXbxxVT83+}^E~z9C!F3j_gb$j_7ynJyYnOl#0|U(i&_7p60L5~~p)6TP~7FdGG(y^L`)JwB$D4#*f*?Yn66tG8Otv}n^rG~Rzie?R%ov!ce zY82fFvSu8XGwOa$p&6O-SdJflMXl1LCwgbj@#>qx!Nj_X%jLR3-S)@rSNl=noN;WM z`KN~Ibe`!HuuT}^37 zgXX=aq3>=AiPUvCEHC1&(mcjve<4-%1T>Tu#b@-OD@JB_H(5(8^?F#$D)+cO>f%;4 zA`fV+lH#&%Rp!b3OrL|UhZ^OPc{rzbiS3UE8{xWJHh=266a#6&OSv3Y*8ZA*9EfVZu^({O(wC(lG_>D3 zh*4#?Qgk{qJ9g`_ket`nhd&x~Y@yv=R2G;hs}%7kQFGHM(l_Y1v~GYTy}b&W53FTP zPQ_DL!U;&9d3agQ(|?xxMSkzghcqh3-?|$p^Vz=ufJE8OL{Bq>Y1Z-354o<~QBuf& zH!O(DSk#Uc(Azng0Aa3OS-v$KkaQ-f+uN1=!~MtNZ~N$gax+`%K1b=XxX%5XE(l;9>_loRu$V6S=z5X_w`;x z!P^q@_`^!T*zo>4bNFA24RjaFfHu=E(?RxkA>=8H!oHqAFcr$B@r+-meov0tHkL$q zDPxbJN8f$oEy42@{D&wT1SQ0Z!b4J0hB>|XZmb!XHe^>zTk!!&`Mc*$dYv4U5 zA$JQG4C202&*LhGN25l)x-!A`rqFNq(``Qm9uEz!RW32V62XQ<5^e*8WyG?jBc559{~ z_m(JFfFLU69k&lPSN&e>N5!oCsngA}QDJ9VVe?6URpEsUfviDXP~QLID!m!S81P7; zlWb#Pxq}{ru)<13ABWQccpsW0iszJK{c5A2QnyMK-Z2*MEt`@bE!^UVC(Px$tf*cK zD~E{%FNOL5+Fd`(tS#c^Jgv-A!$vp~8D^po{C&GyLgEV-HZ^(em*x-qo^G>wyWszi zy|)ajvfcK+B_sr40!lX`AT3Ha2#Tb%(nw0DbeE(zARW?(($byM(%mr$0b$bloR@3e zYk9A=_w%fMydU5F%>$UzE6y0_82|D6=bck=@Vw+-dN74F;%7QWW6air+02E-I=qwB@T|0fN&b9w%hXJQ5}0SJ z=u?vUZ%|`rl9Nxu1Rj(4B49TG{Ja>0hH#v%?QGOt26!?>U-UNv`uSszSvUw?H}?(6 z-tz#z(%m`%+IjV1pc)`raii%+;?(BVb#Oas=VXI&tJvb{Vd-I23CF<071twgJ1W2s zFJlEFpRew2!#=7FBS`cgA#dn>`N53wJNdk4yXY-d46V8G1@!|?!b|pS;)F>Vn64qs zr#>q4E6!SV-n&vZ-ld=Seq=Hiw7Lu%)5|#YPD!0p{equQW>Oj6$2LxAHtmsWB(~H( zGb&y;%#xFiaRi{`_DiK(srDW1jeXqHEYb!h1eR7)2Ks}}!_SJfb9_iF^`__sok?bB z2kb~Zo`c-)6yD6a#sNGaFKwO!wQk{MQ-~9(yj6K4u*H~nmqoq3fHK&gfK<4WM4);V z>k%(^_=)`C&(2T0NnvAPS|rbh^UO^+ky88@M0Edt?9)4?SqRE)~RKNa&-5mFu<2#!+TO)_W98;yNtsqP#2kr?y z6r3KxZZj7|#}ZWwNd~b2Mlb&pGFF@d?d>2XOSIT%Gu`3Qv)f6ohSD=(8x*NvQRuQXo?dw6peJeIjuod%hn_KZ>D`GxsuHtrX$q)IJ^_zH1Sgz7!PlH2qF2ZSgvHndBjP5dB2Q;ybwI z#7!bC0Fis1aZFPvrsuPcB*Ee@p%xtwUk+$xN;~{~NrMf%J5|eeCD{O5DIV-&=7o1N z&RzURi^>lO6RhlbJ{Q4({+{hQd4j1mJ|>A-pR_mb zpDn+59`3#~=QM4ZKOUSIMB$`Cn5xWX$vlNu9?Owo+QCBaBC$nvOt4B54?!DWNb;Io zgFlXoG^wwPgT12Du_}FN&S!ZBO-p~hTIIH7*o$cAM%i$cBW2eScOhJZw#+Y}rjE7A#RKN;;(jrgXCw_^a1 zm^)mZisDiLBf-|)y7WaaxflWLlJ@F0^UeN}FEv@%ZEM87dQ*y$zBnZUTr)J19o-Gl zgC8DaH*=FG@WC=K`+qQHe^2!607_N1-J+||hV1+L4lY-`=KF5m!jFCjkq^x+{S8E( zBX>6fee|pi{)hgene`gY&mU^E0C( zMTlIT9E9p#&@ya2DXs@~ny&$jMlq?tT;SaqmnzHB3P+AYcysu~Sov$wNU=vOXx)iJ zM`bBujA)DEqVf)}+omKvK9#*tBv-QB94ZM%63-Ad9A$Dqbc{86CU8u2rc(tHuK}%n z-XgTmh&r4iOAmpTh@zWIZ`y;Y987|HOX1ybe5c__fvc=8GCifm;oQLtZGv_H>;rE zg?2w4uR`FX-8?Ea2YARh^1;d_FS5=Go$CuIeBL_^P&m)LAAV#RiP0sPX;|~qT{Oa7f574>qY9m}+s?+eU(F5(#&_ZGPeF6$X)KAbYDtSZ${R)izt^ zG`U{A|6Doad(Y4uBU~cb|GPiNJcdaLq#M2jodHFxMMNOxWSe4xL?q(rel-0d>%Ct| zcr5NM@zB0ZKBGl`9jo2?aq?sM(>P)Sx+xEkYL&YR`%b9uYKEtoVp-k_TTwKAOnMA7 zkqM?=`m;OqS>A?vLx`&s3&!y_!BdwGYE! z?f@kCz4p&KG^Stp!^gpq2X1BjB!pXB)9G{2$%lb*ESJu3M=FZb!F~x2?d{=U*O;F5 zB>h*s?d=s-m-|^qeDXQqL5j{|g1Kc{Hr;aX7l|x%{wC zqbM%JvVF=>Zv5iU8YU#GQ&a$YW1+a~fw_dHX{8vKTKpD#Noo?>&{7OGYJuRE8_4gx zeM@CB7FzOJa|~_}!Q%97$=hzr`w`t#G!6&=>CNIWU_@c3KgTvIqlYN ziB;}^-GC5J_3@gESEHLk+Ro<2vJ}L-%=2oq;x! zs|f{;NY(n+9s&OKi6ERiGghCJ_|Z$gOzn-Z68O{6nAd=iq^zpW)nab=nO`t5CtfdP zSW@%aa@?^ePrJiNT5+Se&r^2x9dX2htI88)7m0b1oP1m)&5gD@(*;FFCTa{D1?LE1 z{?ShAAWA5k=}i>e(&%`cXy-$LH_Ox%8dN4k5Ss#7AZ?oT4RIG;i_s z7}7Sq-n0Q}P*Ru#-Mjm+`Gt5bBJ5sFnnO{FiZ1IkkE5>6f}W%^jVk%Lh`y{R?s#Q6 zP-DSlLeyal$n#tah6>&GCkR%+(2BytL(H%}`Ra&n0ciDr$~gp%8mZ2!z$Nd2{}|2w zmmVU0w!>FdQ8+XXB*7Cd4fw%b&xW7H7`&Ejn-QoBG|lTZ1l48PDsB8Kn7tQXvPAHu zOJon?36XZp)(z;K+_GHbN)HcLyxpwg((7}pLcnN>wNth|6{b-R=l-~oq5NjVQjTCdr79~{FGq2~e-voq=!gqueK>AjU&I_CM=`;Hm% zK$Se6D}kG`+oqdic7KAh@EA<38Bw5H?F&rutnM>{QlRzs6)WCze0Mpk9~L0hn+wqs z*nAdKeJ8gf=`L%3iRvpcK4QQQ8!^F5^}x;u%_FctT(pxUz%d4x(d@@ZvGfqjRF}N0 zoK_*8;`2IK6?{0WIIX_M+u^qIH1TZHF~00*1m%9zEJawGa^;$f59H6Ep_X-$17zVT ztHphV)MWI=am+Y$`_BRN6UJy_#_TkCWt~kZ##Nz{ul75-8%yTfnaQFmr{%VnduajMz!G&HG5#okJZ^eL1LocCg)J9qW!Ad>^a`u02JFF z=Yc$RG!!l?@56BtKN4EdkpnelW3rmIWxDK@`eSAAFj^<ykhnDNFD^*TRXwF4{3NweNFfh^-rIAy zfl9S?uP}j;<)H1;@A+Mqx{iV-O-Qs~*G(ncbQq9XdImocRLG8-^MN_#YguR}tMI(j z2;)03IUdMo7Wr#2k7-L5URD|ub? zlW=uOZWPay%cgCVxlRf~1!O;vD=$Xt zR>Ky5%ne^Gwr>Tn7&;DyiCrLNQ`XrzY_vIKLs&8dS}{yC0LBw(#KuZ!6qT4ra~VOd z#SBM**eoHBIWlKA@CKP@?}GHk?V6u0)I02?$zl0qF+S(?hjr#ZwHhxi4Y%Z;W_ z9HHlrjro{vuDE|N^fnEyLOg3YiENJN4JBCByCM7r%I)N0N#& zT%aD#Tws4$GQI1aEY>H2s!;Hy;w7Q~c=ZYoNI;C*)Dd+nuhd3}prUT_Y5!%hYbCI#wqHW+p9%pkqLQip`iy>|1L@vUc8x7-0;^v!z3SYZd7h~{P zF^4)SkVl*(^tJwA4X{ofH#p{`6{&9d`ITCJ8V5Ey>J@i|5WQS3#&I>16M1x_yU}5TE;UA`NPs#5cw_YQr`vM{qQSEF^ScvlwBoX+ZD0M|wm#F+pE(Y&A}|fm2!0 zMR?n|Ic3HC%#KKd5KYwNfnv8mSkK;!auGc|9#Qs*jA z=4DLbs8hE7T8I8oQ_x$1(v@~aDfGXW3&oKioh;vzK<5`@z(BsEg~K!XHoE+rvX-ZU z^N>e5QHt8CNsiwC9xvvyai5!(E=;zK`-lXbvW-3tn}Z&}(4}l3dErl!Hhf~Vm|$X@ zjm4hKF7tpV#bqsF@^Ou(38k+M|0=CaP__mU*t3YY7D73)RH<`5a)pW}pM!d2y6tTZ zTxm&3hdgRy%pg;K3D_pJ9gS;q)}7U8xX`hz0%%5faw@nUEXGS7q(>jJA^foI;`9&{UA(~N|i$Gg1~L)y;xVY>ab zmAkWWPJNW=k7t>BWVb@O3BegmeJAa*=fbSXuSG2ySANU-y8lA0*-3HFkr$8nGf1XT zw)md(O9eM`Q7GLXFxSd8B!dePH*=rUSx7C&Dq6Qt;1E^cRoCLIy|Et_wjAqgf|`(} zZP!JQXuvRMWVY%TbcU_g0iEu*>67try`;;xlyn!u*B1zTJ{KwL>!n9OE#Rk`JY|v_ zO>#9avbxW8&}r}XSBI(LEM}4A=_Prk(U$+xfhp*D08mLt~&IguKj%(v%;J-Jy~xjYl< z68G)cZE>*IBxcC{P>lN$V;Q9}8qfgX+q*B`sTDYRMf3RKz%<+8ENGk^CbxVPvD25Y z7KLf^=$6q!ILMAW{c!jhe|6xIU4wD3d)kM;vo~Ud_n0O*N4U>Ap%qs|u(lzZkW*y* zK5ci$xsN+~+tuj!ewp{lrw3%AD^OmOrwF&n{>X||elBI*nq=iq${ET0It2Fq`y%Ed5Dk?|2a zGF-jwU-Fil#pZzre`2;zW}fE6NZ*n4NUI^`O8Wr>sNrW$DK^!~tl@%h$CRz}aBdmC zs_Zm(^on9vs`#Sh^&o8z)JH8_1yO9dj<-+tmJ!xB3-w9Lp9DU;xwSRr+kL>|OgnL3 z`*2PGbS)!f#VqLZh!)!@20!uMN-RcaWZIkogNz?PQRO|5ft{L$u|6k*uY`CP+2NvVtpH5Vo9|n2MBc2-pJ~q*;$Kv}W0%+PLKZkGC(9sw~i1C9}5z=b9d{?N23v#K% zpwu%Go!ec&m{oe-J$37#Q^AQOtutzbHCp)a2Ve=zJ^h|YBB;#KbOmI zWOdw%Vn81aD-cF>EaFf8C4;P)`!n8Yn`oK+fKcU_3%)JWVWIJOpxx~e`YH!IW3NrQ z;NYZDCKypWHgA@6FM0n^9Xrb6W8`w;8;Vw;Mv|Jr@sJWrXywnNFzXp4JH({^*9qBoPDc3@@fXe%fiT$-dnwE~n(iBk-&# zhKoL&SH9}d#(i%^qD54Q+Ys^ehe@jGhCR7?5m?(gg+ReWKaprIyI)lzrbv8AFfon6cU zvJIL{8@Ri(iSdV?;$06=*Y@B4o}+okcUvg(O6@FYbi9km;IFcXc;7eIg#EQqnf%-Fcxt98pH6VP z41><`pFQ@e?T8_M&-qGwCX7d9|ze4hQ*1#HzYAc=*M)Cf~A~p z&n={R1FAw8(b?OM-fn-`5G4uJOFAb)Uo(v0GZsB&N7;qlww$H+FmPHY1F6pRT|L5doO2*N28+E2~yx+7k6Zk$zPnh zKYTU7AiNjSA-vjRQ%gjA!>y}5Ze;)u#rwHQf9VVx#EvAsg`9nI3U0i2;DcHxI0Z`0 zTqKUy-LD1c=EtTI%bGH^$ee)LFcYXK*Le=r`II7?E^GL=M48@MjuC#BDemKZOZf1d zw8*G8fs3Kp=O}Y?Apy+D*iIu*4jAzu;Z+yTos>!WFkJ5?@>69zC@rJ?ibxMn5msDiy0T%fdC4^N3=asYR!9 zeQ6G7b5mVE$(AWL7BA-q3jdZUnzjbixQ(4e2+Nf2mT4p8%yB-NrqopCUiOB43^XqSV6 zKTf0dNBmjJ!$+Y{+VeDB__ZS^+z&_970QhJWP$@XbGo-5u@AG(p%Mn@xqXqVkQbnQ zEBopva95#y*vv@n{qql`N5L_`{&|eXOXr~wA1!%mU$8#^7j&8^v8V5FpODjOw1gxz69&KI54UPW z>At{24U}N)PYmv>4Oz5fr>--xVfTUku`4a{YaJxS@$o62XGzA-ZkSB($Qf@q`l?yg zmri+whL3HYS=j0+F-uv&5qTFo@44b`)|YVZO7n#dIU%HGZbx$e(^er~;|^wiVb5!S#Ly4) zo%P0UXK)%TzW?)!wFfiSEYm&Zx*)pKVz%-CvOQEF@}#@Usu4uedI=h>F9p9FfJJHR z?N8~rAhOa~SS%E9Pu{)gp4U#up%ixf7Gc!!x6Q?;-RDLb!UAj^rz*Dj9oe%`h7l@6 z{C)S~&;sRS%0h64{fn>z6`yzOb6IIE_izpAA?j;tF-%?f26CK!DDo?D+Rt+Q9AguQykm2Z4W7R)h-w{5bSb zq)2=q#0>@LnAiY31fv=tdX%1=JX~{lJwg_-_OKL_<+1JIBd3j3siSAur3dzD9{fVb z6CQrO?X&dMJ|FLKIBt$Sa@k+;42tKm*5Tj(MmKy{-C?V6o?T%6X*w&oDNDSBKX-SZ z_OK>&;h#R`;Cyl<@Md!Z2nFMYfVa=Qb-nfPZvra8La^|l>ANL@zeNUre~(JCdNa?} zWtKlAJ$g4#e3{?p;wqJh7@^xHNCYk~8n017Pi@g7t*=aN%aJ0f!oa#L7xaLcy^rle zVfREO#^AGEYIEot9nZ=SQqaD*0laMf90}>--u!@%Vm+tPgUt(_s%ijbhjdHp&)@%F zN6O!RDMjPMx%@%qxx!16JE@xR+=CxsA~`Phsi19K83gp9{x`S`KbH^5Y%B&*$+Oq} zY@ucHL;tOH2mDuO1jIa6T9hM4Knt8zZ4W=1Ul;htDE-@jZH)&plD@kw3nb9`=MaYe zsrLw9!@R}Z?8igquny%nZu0gfA_=K(7grS3o~qz^ck>%d##A~7B*&$u*hcP5)uWip|KlP4m){CaGGaWa{uSKwn&$Va*x#-x zGqef6r!fA5mj39V;|t6FwNnPFr|g0V$s`r4ziu}FepS%_EJX&!TITjUSK)uV4j(-6 ze~cG#8G$N;{=bhGzn-@Gf4`Fd;`7gd$|AVVg7Dv&UmW}xz0OlQ*}Jbh!XgM>F0ia+ z!_(XqO}1}VRsF?r=-z9@byUc->;+fkEVFr=h^hI^zh3RXtWv)}B_B$dV(~0Wu<`GDjsM|wq(hDY z{0|EM+F|q`J%m4B!FLo0{c>ZF<$v_4-){s7bPOvNYfHB~{&z#?ulwF#Kl}IVa1{k* zMO^B{fd3B%X|BOy&^?GaCf4(JN}<61pm!- ztRsP`Cgg2O_}~2gKe@V1a3_VCOZ@+~!u$s>FFKc$KXC^qY>aqR! z7LuzGLuCWG2eR|?y_$$2dwaC#r1QU)*Z%A1Co=%Vyn}Z1Lb(4H+B9L%dn>vPJ@3p~ zjU&-S-gc@o=}(O_7RDpSr*Fm$g-8^{@sDel)dwW}Wa2I)X%D;CbXh zwI$h~w~w9Ng#Vo7y&AxT9<*SwXF)2z1rqFNp(R1aekh%?)}JCED`U+0uebB(QN-sX z!i^KmUb520gDs4_q28>1!bZ!>nBotF{N>)U5Rk(HB%!2)6XnIKjwn61I;W za}7bOAr4I4_0u!K<62_6AAL&;pSA1n@ms2goHP(1yYuW(OtPFbxB;e7q9x^s>n0Xd zBqn@%1+=SOMXx6;F4J+w7W&M&0tvIJ#Eypi3*|R9W!7TvUt$#iaP^GTpJWpDw*zP!> z)D!6(mBwX52)t?wz%9OPbm(TvJz$1IJf{QD5-4mt4?(&WK!c(3-$>6r(CGZm8W^!M*Uy4 zg$$`(a2;RvdjR3u(<0Z=0{lb%sc5J_^z95mOK3ar~P@f&~1vG~Y?Z0}A? z%*O8nS&`;vB%mjoZI0x-Yy;+9oaawJDwP-5MU@UO$iY`?GWw^}`{K|@O3a_n9iN5V zfWiE|8HXy|0I=cBa3g?YetkYRA>TRTgH9RWPGpqu6u_PVNYsp}qRA-IUYu9$Hu)BB zE>OwT)a37ZrpuBFG*pS^E=Y@<4Yt)QvWoa3t}h0zEifK_I(ItrEDlSg2y%zKU=MP5 z>hmjp1b_1c?U|3Kg`AftZQJl5a=C_{S0Tmm0BE9{ak$1CtBtfPrrlDI=%zZ)1^UC3&!~wi>UPe^H*_OH-O*^xGS2UorCu0vqLDEZm-C zwyFi+NBS-P$!LS-1!werN8-tDfRmK%T)(Bwir8uIu!=ugstSEWiA}kXn$_U37(kT6 z4!|$B?_B7d0_t=k@q|VP5P@qpP?WA(?F0ZwJ@d7veiOSNUAGuo+QkY3!F(kuyy!O$jGTW6&EKCXDQEjW6ho3s}h!@;~XQPM=O$)o$BOL5)@^o@X1?bNgW8 zi}ZQuTb=!Y3n%RW+xof`69j|_^>S{63+-+&UK@u1;%sQ!v2Ghs14ae(>^00XH_r2b zl5TQXMLei9G|sYxx}VE1e~BsT0g$pr(WF}g=-7k}C++Mw8g&id6fENJdOKB{yJ<5# zff&Qdrih2X&jjcYnkae@G#sH2rU^*7$!V42F?|aE48HY1(c+o!HpGYB0L*^5D%!_b zl7-iMRM+o8JDl$7Jqgx{4$NH$_TGY5qN?Sx8oL3|-kZqJ)<@2Mn21b|-Mk3n>VJxn z{%P=b^g~?97Z{lxkyN^cI(j5N#0IrPA?7}ka%$Kgl%g%l5O=IRA*p}aJ(o*RK2>2R zmw1F&W%sIHy_7_2ygDpGJhpO)BI0qPonS+V#Ru33WZbbR+xby8AP)+Cn38Y+e1(%e zy9RidY^Z#^Hy1ER@b=W7)9lpfO4ugrSem$juRmFc{qoQ@NhfgkE~zK|mSnN^heWtB zHY4-6bJ>h+{H%osPbcxZFde`?djRY+5>K)Zv<$3GG6E=h63bK={4Po=%(?=rEh(5c z#4e55%h?Fjh_0NOQKsJF5X@r8;9V(?Z)V>(+wWnw9--h>=++^^&I>(boSw#16#;b$ z9{A6Kc=ZjWQTS;io9mqH z*%$7}S7UCLVGz&>pETp<;Ch|3x-{L4ScIA!oV44wQ;|Xf!Cnj&yo-}g5&3c^7-X(Z z=|5^UUrNDvbh^gVI7xg@tzzKdMR8v*GVn0SC2davCZHln&V~|w$lF@(>K)j&?7c2D zaxTX)i7~AvcO$0C8J;90#bPfWLFLI0QmB1Lj+gGpv$ra!fc1c+K=i*P8q>$2Y;0oQ z?+RfSZd9p1^v(t5PvsMNZ4DZ@Wm!W};6`!UzZ@pY2ZYbF4#!><+0MdF7UJ7ZOX^h@ zhQihv{TCc|+V9MNIWiU`-P=DjYv@YGuVSkw8mrJLV^22V`acV8`M? zXh>e_MUHn}fgu?VgF`sS+zOy5H6HHPCwFtoZyU)&Z9;D2JGbOnp z+}Biln`efjFI7lDB+`Yx1}}ydrv<4lu75>vi)Zq6wATIo&b!rYfERYWswrwf=7?g9 z>HU2})Dy*r1U5&IR`7RU9b&9$v=L>m+B4b2Zt;=$X)0ZN5~Z?QLHcL6vXk*@?dj?yQ= z4i-(X&m+&PttWyk3j}}0+A~q?o!)NyAr9I_WTDv9X=%-E84O=bk>klfe0rec(Iy55 zT_+HNC-cyt8jGqFr1zgfrYsDnSH}v^0R>Bpj&I=A6q*4CFdfdyJ6XDx|OI$7>|I}_BBXK~;AZKEogQl)H* zOYM}-gr(=sznl-#l|ku2fZpgY*>)8S0CfI@WlL|SFh|>K#_i}{fa1PFN7ZE&ktKEy z3Siix$k7e8(nEqMT^UOhYDGUE0?_SahSn||JWbU{vn&wFS!SJr!g>_vZyaZbVilB1 z6aHiII}zW`LCbVs7g`Uh8i&MB*<2H@&Q6=XoYtS;Bgv-}6jfQR4=?pdR1u-a*-4KI zCLfdLAiwrNyI}+bAT!etF7yb6UIk z6}I!HO7U&dnGbkym@1964qua3pZ{dv7*7x7dj&^5<+Acs*9Js_T;}KN1DWFRrq>#n zLw~XWqD8dM1NqqiZ`hrMyuh}p1Cxx%bcP@#`@_ozmq$bMIh=-_uQ~5n4LP<@3|WD& zVA3{j6~K1~C@?j^D!cTldfxLq8}bf%28ASiT8-WmNp@B7)O$Ie>KM1vZr_Yv zCKpAd_fEXNZ$+}&pry;p)k%wKy@+-pDFKS{O3m+cN5B?E;7irgyU9t9@>>=8>VtEW z@1Af;75-JtBE<$uR&>Wxns)zOm3^MbrYGo;Au)*?`*SZ!YO!v%g%AvngW#|(5$6=5 z00VDUh$kdM3}>m%Ne~VG0Wq8fLV(hP?F$eW^Dzy-Sr%3&65-ooFblCo z2*9Tt-z{QDnkYGxF1QmRf2gS|*n&~{e?I~)J_@;Mp01Cdc}6n6ff}cJFzlf4N5$zI zjgzlJnW)8`mWX{`KYiaS40W?5kS~zSO}3LMYt02rdp_s7nEp690(EZez(FXLAW-oQ zzeG8BrCVNupL4!!-YwCog%$&AP`QhQMi3kHy8F4~j$nS}2K(~?z`@^78w7Fw{DLZ9 zyQg&~UG;U3Rah=BY-mz%Ja1GYc zso#%(RH&daDtEE+itH$aC(g8Ht8AcO&dWv5>1>H?SFl2fgr7xn(9}sQx#qzK-22?1kc8#CCmrH%>RuMbro&~*)O4ycCU+5MBN>>!+^ag9v*}Qp;hL2V%m++8YE%y&G#|~V7 z4(w82be||J`5%#G+O+m#Le4ke@R%cRuksg;_Xsh@A=#yqj4fhepO|5 zwW;1HGi_C7`O^5}VSd6JL8DwN;BT{hrg)s)e}zkMO@n2aZ=$HMKuV4JX)b8h1j&}g z?`9tE7a$lq^_=uP-!9XuCd-MjO~=laOZrfBn{7!eXaM8{%mD3r)A@St?XsN5@orqH zcbcJ!-vHI|B_w8AXgWsXny|UHkxOg`&Ho=vzUz-A?k6J10=E3!+{@NMLt~;YuPIlV z46miv0t%I>yQdy0o}WM!duwy5W$T_!x)zNT`>u7{iq@_THvIS=*S$TrkmmGXrwSjK z9@+=f`DzfU+fx)+U28kJyqfPNLYUk%JmNA&3DKK&n?vlduo(Rm7*NVc(M#g?iRbha zor=5Q675FL9Kqc?)TO+4OQvl|yHNPW3h1NF@fX3Bd9`u_4rtQ-i zEL4=eZhq^PcINREZeER+Phs+rch481pl}kNpiBHTauSKFB%De_n8D|~-ox*Q*>R}b zyW8c19PxnW>?7fhdg!z{S8iWXQ&crKQiSJauVA12FpXeSsCAStnCGn%&_^ z_lwu~XZ#4nVURF0bn@o0!*8i7S7~Tnqrt;@CmH;#KssArxQ%gjBxlu?bORix)sMHb z7!eyIqe=1!AeF+6B>*cL!?f7A*TkBTo|*MvjVZF{VSkhZ2A;$E_fyWO^krXp3DPUP z`6WS3qHGSLMOa26F3573#c4Zrbv=i}Yc8vCv~ZD$Wcb5^n>oZJ35QYXNI%lO0rp-! zv;{yUxax9dHxtPQ%&S=ZyU>3u&Fc}zrj%y4K0a3FMZ^jw-i>sNPDe2EyCh|YAI?0- zc(>GPoO^5r`V#nOr}!-Fb*bMnz*IbdS4Y^=q1!CTeUMu12e-6v>NGov$O?It&3!t= znM@(iOVJb97p=N1VV`+VnK)Q)zXPItCipgPZ}`&L1D_A5XtWbJdsHNWt=wF6b&&m1 z=LAUCzKINAG0z#4eG=a2#njooU+iMU4AJQN?Fpp9^y;N^;q9u8Jo6 zi^k}6+(|vgZjr!f{rWoLqDuOkh-B@1=Q`SSkuxr72Cc$ZHw{uCS^OP8fqd9tI?0EGQVy14mY2&j_&bMNQRi z1uoo*v;tjR91#$vxraKiX5lJ8;gGBSlv>Ta{bNEX|IQ~Wz5_bVbscBfG0tM@o$04s z@w?vN=ya;ns&|9;HG-ME~s@nd~0wQ})jl#Q{mh;OJ6jp)Lv{=iveIqU=}>5po~;TQ?c&n>J8 z1>fKi#<>S(ghz-0R5M+kfYP-w%q3SW#TzL~kUjC{p)6VoXDH?2{#zZciOpZ>rrKr% zy2y!`j@N+D@Hy%MBH$Z}klJhVWAyPf6JmqK8qqMhT8i<+V5hvA^3RzTJO^K^x9bPy z_%Puwc)UMb>@M=WP<=ZqTP&BOZ^~)d5hhjtnCkN`6_Z^e@(alO2o)6IAvu?=qXr`rHtvo8(<=`=bSMs=$rL1iKU z?N*q5c(fn%#*iUnK8NJ%q-d^a49cE3@8+OSpxZq$^t=6HeZDv!ZJGk<;FD&L48=WH zLf;JUF_5PT9LSh7KJ?<}gL1B(6rQU`&1^h|Dj;^4z{z#?*XC6s;C;Ht0vdUuLmoM{ zl-TL=-@xmj*1=sQ>dZj^BoxarQ=GtEi#QZon?zrBC4LJ;b$T?(9&d_YUyi--=}Po4 zu$oL1XlGb=S?48&QTk z>t}*@ES$spDcoe!m7BRyR8My3VCdjfi{s*=k5z#uLj8{BMEJ>x?e^Dk<3(mJ73zxn zpE6!Il(9FQEU`2g3AErCcS6mzU9^9wJebtB= z32Yf^|9RlMSw>u~o5S897LR{?2PY-?qe}x_UXHvhHTJt^1@@haCM+#Ha{`QGAmN64 zn%MwYb66g>^!|Qwb)}3Cp5sy;9CEarY>w)MmD_KNp9~zn)d59m9OY1eri8 zJMF|8Wi77;2FSK@g7tb1qvG?5Ae2MujY6UxVUnTSc*$9NWxD`MEmDit$^^4* zkr$Bk5;g{Gq5b5FF95I2;C1Tgo`tx7uLaQv*UKkN6UH2m9lLDcYi_0ec!|x9O1ldQ zPlR&hq1_&?D|qfA|6*R0y4Rb}nD^rhswJ;d+8StzS`!)!<*pebNfvZzKwyj3$x(dO zCX-<*HYp}VVb4$d0%|YS+bsSwy)TF?MMv}(S|9tUJ~oA8DX}l@K0EkDTqbfjN_^+8Szb}G zS4xjdZ+B-yIYVp*QB^M;TBPW=uzXR}W2-6`UEtNU0kTfLN!?C=LpF1yM{@TQ|LErS zy#7kM0P7_E_J*lpN3vY#`vD45=wA#Ki>p8dxV~y0DfPEnspvQ=VW3{E{LfGriuyg@ zh|jx#TB@CfB2YNW)6PeMK~uvERQ5zR>@2w6Fj`a&hq^`iiLIua@A|V~S3{=`W11$b zt&+J|){xgvg=0yCJaHR$6{8dWm-z2YlGWdEkDu{huPcgS`=8^auqatYsKSRvo{>yt zo3&%8|Kc{c+ze%GKN^+Ku2~KUPP7b8_*5wNIhP>nBEJ8#eQ_0F}V6V=GJ#`$2sMs9(J{b5d3Q2o(q92NP`14n3>YeYcr{ z=8}y?rsuO=3;NWart!aSh@Qq`@0D|-ns67DuH{lLo{fl_CL;6!+2~`Ef!K#Okw$8P z;6&M2Lb_-jEJv85cTTbUR=Smw#0Pm`!~CZpZs(Kkr<#~Kl+vg&)N7*HO7B!*@jqp8 zP1>wL2Y)SIp2`ym**6U!N55)_xOnGd)+^ld;|}?oB+JS!@!90OU8;fW9`;(nT3lr! z@m|h}CQH&l)Paro2%&w}NgBasq#Eo^(-d9{`$9n!K6GR;4Bvx4oDeXn~EKF zjbC*|o{0#^NMj|ioIp2t`B^(0Ja(J7q;104R;Ak_e9(f z!ZzC+^pl-mDJf)PE9qvY{=zmV@r(85;h!T&A#SsC3uq>_C65Tv2tJQ{80$lK6-Z_k zuO53$i|n@9hl)a8aQL{e8CudzDlh_x74dwwoZQEV7t|cHB~K{JDt@|5nWTB_7y6yz z1RKT`x#RlhVSgM3$3|VN{vK={VlF3HLVLPRHp42g!*@VlOqev}V)Z0Dze0N*f(g^i z@FB>GESYsabM;t=IbZpw;C9 z+>@mEAQ~*|QANtxB#8Qr=BcsGCFngiyO%5c&XA|sUcgv71Qq*(A%`1wqG6O;FSqht zi{nq>I7D`vY$Ma3#F8)^DZwfIk#^1^33=giA2tz8E9eIC9tTRQsdSdm`-M}DFGbDX znm=KYo!DRe;3GVH|3DiJ6G%ix7HG-#-X`y3w1S?_tH~krzxiMYvT?z zHmgRG@pzpqzpwFv?^7XyH^Blf*eq!2B`O}&wi)wvm$QS+kZ60u_1 z?{SJScFm%d1b@|JKa0&g28~BEww=sh698 z+Z+*K-q|Fo0Q-nWVZM0Z-%wYTTxG4ghs}D6VCPC%$8kW&D~;ShM_$OzmNFB%)_mF7)6Erfv|S1t49 zp29%ZuIGm1>7`tyP^|pvqK6CL70te|-h3P!*bu{YhhxVFobLlKDt~wF5mcFGCk7*Z z8JmVOIxvX^X58_3cTdJ#JI&gr1pOc)B+GzGvt2NoZCAT(kwdAW04HdN3dFME@!dwj z732W6x^f6E<|~BOYJzVl72eJm_64RAuJ7D_bx5ACm=&sW-1QPsnxAGv?l;W5hatr?Hv_%-dH0OuY6aHe>; zd$0rm&LZbUX+}6@CWj&4L8qy8KEMjjjHD=I{jB~VMY8_zH>2&&qL01i zl%=OZnQZ?)`S|iwoY}G~om9cC3d3p8pPF$2Np(?_Qvu6B(C7Ng9_1d1E~`d zXiPhUo3xW$(OT4Jt_rvU9cU+VcAmX@fxQFg;oZKMg0oO~tAg{s=t8$1TX#DmYqivcdo@7 z*|5fUWsqACmo+p8)F@LJP7Rw1(An7KSfcwll)tB@m69b#g2VFTw$;Jxb?-U4w>e2( zONud&Ux0`GfDxUpg1~~VC9?TrOp2==s$)>RSoXg_n?b=ab54d#?>A_(gJ0TFnXvRu z+STlPf$mmjDP+#zm9Y#r@qDN)MK^j4I` zo5~Z?3zB}(j6N9K0E!bP_q8av#l|#;fLSZ|4Z+cuAO6pnCQ={2QFF@5k|-kOwF^X0 zQqfI}hbk4=8$ji#*V_jZfE;ik-5T$7RV z)h{&qYHHRci*H*e=fH?mQ*yx8oAdU`%2N}9y?h0a2eSZX;6kELNlUjAYS(Q7Lhpg7 zYckM^UI4& z`EG}8yr15z;{}@#!@2%L#(F8XlIM{`IhAk8i-kVNngw4heBXq4q0HXQ-rCvvw#N}j zzKaLiJG!^33*h+2qoNS(L{OghyLwNHo22?8w+@9CY$N}gBM+9VszV~U_es6}L9Nh- zG~8sGQ#u)ng2fr1=bg?eU@mI9c=-^Ez~vB9g#dnP5MwO}d5TuSlw6YR ze&`8YTdjjv4Qh*^N|Ni7^gChu7q6S{l&Gai*kVt?T`2tqyO+VBkN!|Wwn>b~OBpv1 zq%r^FD~OHts8PpIxeOJrL-d?{Ap@<@YP_}m|HIx}hDF(~ec#d{5+dE8AR*li5-Ken zlF}{R4xoSvs7S{U5`r|+4h>3oclXd8?=fC$U6<=#>t6T$KHK|l+w)<4aYGqr&U4Nq z_G91w`|n=^Q!aXjT@YW)fPPn2e93lfnrQjP($&K;ISi5YFM=Wq)z3;k7f7A!m%Wvx zATgIWm|}CvW~2sSt=9}5WxJnDP5V_>-Zi{jQuGcI(!wma#xr{#@T^9cxf++rsr_LY zxD>|mm0b35=ak9V&Omi-6~}v{jPM^QS6m%*UI;;poig-%a-|>P92-lB%#~tKmxW`ON-mPQnP0WI8b&)Ln)|cKhtPFYYAZv< zlUoWh)aANxi`H}V_|cIjf$VGS%NJd};eoZ_iThM`Lu=OhTk;sh$*Odiwv0#Y`)K_&U?`zj6Ya@>p8uK{=Oqj~J3HtJ$! zJ-Un(cU!lrg#Au|L~+V7Cd5XK7@(WIk%J)U zw+AKg7dXX4P;5g%<#@wyrt7f4#ZEqT9|UV$w+2lp`W}Y*|HvlKOyuu*?Q~D(E2Na8 zhe@Ux$FMPN2MEu8_EZ7!k2s!Z-tq|G0aa1Ztq(S>)MPRgq*F@@k-j7{UEUL<^IZ0- z0!a!1{#UCN#q%v_!5Wm2WcuT1D>x*Rad{15p^wlSw3BJG5>k#UX%WS*Q(=eFE#Hw% z)`Cj8~KU?=DDIiONU~y-JpB$ScFxyGX+p6`ED8Qf5Tn_Z>m(fzBQ_U)9Yh^4KjF47r7pc#W=1Ebdr}}b zhTfz|T9%JbC!L?QBGzby+Mg^3lF&y_U1uQIwKwH>z0%RL=1v$Tmr_OrU*C;(_P@fH~=J7;N|WMDj}>8!ZhSX@_d zwF6FYB){CcYvotMATg~;n#|cMz3u$+aTbx{QW!;pJM;Q$GPl{1E$&Lq$c}UOK>Kw- zX_hJbgVIcD==5M#Ml4*)VXzJ%4y(oMIX3tHx%{I;>RB;RQ4{&tr1Iu1EmIkCE)io5&| zI&(5^bItT&LG`n9r93_NGq!i#w8DP)_Q41?v$LAbivK~k2dtFtP8hSMtxCb$XhDs6 z9MXa$*OFdmV9$uh{+?nWNG`;HHH5*PZOS^KO7?>Tt)f%k7*O4gJ=nLpM=vKB^p*}% z|22BTN_lX8Mw0Z~kE}lCA?12y>OP33yQkc=>)mg+&F6UUB#U)rrH0pfK0up5AqbJD z1}<&o&YSp^vKWRL3>7Llubo7;{QytM#mdO%-l+dkRaJN(JD0m6G;t`d)rZ*MtFLLT z?7G$nq>@=+WMQaJ)R>Xqy7MS#^f;Sfm6JKWvJ#jVs5@0+FQ4$1)@A$V=yOJ;fR+WvXkrJ;To! zm4D#eX3)dx5dmE0ldNqL_G!8Vcv&i@C&7({D?$H@6aN~(^7Q+nF5d<8)8aRKe!i?G za&uUJg36x2rSRCW?>O>2Y=JHg;a;6&*`Dekvk4TIUI8&3K3K(k^Gga#-N{h1~xV3GBPW?2NKBsP1h%V>NPJ-!l8v$tUfhQ`%1W0bo z{?fZp-Nw|m`Phb|F_)^C%+UO0Xj7QTPQ5NPp7kWW%OyriCs_u}rAw!n2q_tyofX}# zP71CKWP1;;xZ+)rfbN^t?KRnpP2Bf6CqMLn0Mr%8p!px*viFwx5Dcm#l)YK@9z%-K zJCkc{o`WX%+zU8UY)`mc;uvYqWG^Thj7!}cxYF~3+>_$$*_yXIokH;AQ`sYnl1Vp< zL5_qXqLcDbv+>1KDtKeeR3dIwFrw0IK27h8jp30$;g0n(%ur7LyS_ z`2lYMgXovHC4{pGapM_cL5p$&<}yI_IEA0i25c?VTj-S|jL!yFCqv!34A*)y2*X1o zN-V4~N>Y^X3jV zReZlw8xEC7@gu7yp`2|`OjZ0c0$2L^m_Zh>A3ci+0u8tq2p7+{PrqMh5SB())(r_& z=JOzbzin3`JpL+H{NvSSXWimmVY>?YrScDw#sG3lHXAG$eP1^Bm%tZF^fi0h<@)lt zG%g_@FXVZ1YN)r!t(2iqVa%kf90k6cunr?21HUzDLXmc}Ah0WN#iw)UXw+ui3MSXcM}6NhaxSuC&Tr+3I!qWRdNcW^76jI>o?lR%^HJn+bROk(8gY(Jfh zS^mXE&EvF%!~X;RDt@R-V{#S$0wXIK{;N=8XLUhItuekaK0K?NQuv3c>wb=Y8~QFU zg3B=nIxsEWhSl)Q+;Jjw-4>>SV=#HCZCOpMQ_MT57)M~IRAN=-I?66_(_B{vmyWL^ z$Yeaigc1x|t~@TUy-%qa=7&uLMQ9|?_e1{;ETRc&}-XvIg1L`P`K za}*A0sI*6gFzy|$?I==CHKl=H6ADn9D}TBedCa>Ti3Q9cT0&Mo-RRL>cS5auj zterQr32rUEFK|V141M4y?e2Xao(BHpQ7&5M@q5y}?ZzAylc4|y%fosT9SyZKy&1=# zSml&_UVm7PW07pcRvm3GBc;vGV=&gMyZjCQU=$;IOG~x;mPyy%Ei(u{5f3JTrB$Fe zRcWFuU`pP6SfnI`P~MBG8|~BsY;z}V<@MEh+ZVQ-aS&(X_9?$oI7K9r1SZ>@`{Y!g zO;_OXKj%b>n7}bi^(Q5eL#~bVVJ(j?tPEnnWpb?bfMk=Y1cuelG#z{ML)%N8Q+SIHgW3?`#V(xzIEZ? z=%}Jj3@Ua=l;oYKCcGX)KV;FkX|Zt%g95NJ^_^gyk~=SA+GJk-9GnwX$LFPeEq6zW z7S_O3#ZKyUM|vG1Y!@{ne!dwMsU0iO^U^7qohtG1+Y@>VB@+wuBrL4g)3_r6oSm!YSqUzQ={8583udtdoXo(zPnKi}^74NJ zR_^>As~lNvpnNc2hse3vgp+!&&jpZBMxXDUE>$4?3$n7Q@d}VV%?Ri?!3YE5v*L|? zK#tOU%o!!qklNvFi9Z%mA_o%nF}X%Iy#aXgbl;7Aa57a>N$<=Q{5JK~$~hu)=bNjS zg-@AMua+dm%|qQlOPZindcY474RDrQ7HZsogLLk87+5ludgts&uc*uUz6U8WudU-d z7nTX5bS35!ZcG|&r{Eg41MD?!@ht}lDeOS{S!+WN4N^V?e**zHvPOMC#uLV zI{KMg&-Iz@n8X4<#l8MEbrnMS;?cvG$N|Eexs4{M4z9xZLlM~x+*lYid#$qA#j1Qy zJhq$ybF-|E{W(Fd@tLq?6gq^+w20fO{qsU(D&hMci{G>>1sW)+8({iQ! zK~CUSd8i_1Cl(H<1oQAjIHH=i6DkX)&5$iPblFj;age<;rs%_xMln4*So31p@yFQk zX-eg=NT&7V-@##e(g0#Wr-z*&(@y8q;2dFz(-&?`vGV;p(6%Ab2}wsgH8jamn%I#M zGAceIF>sPHe3eQG5o+-7Z0Ec~P%v#iz17?cvJOB2p)Uc!lJ-ZvMD3AJxvn(P3aWnK zFoq+`{#j=L5oyMDlLCj%)N0fsKh~w>MJxvqh;|(T>)1L-cPbIr8 zh0sG^hl((H@6rTuITJIrH{9?Y#vg4+nz>aOdj(oY0-Os^IRs-~W4`fuO{Nsu;EU1O zqxhZ_vkq`~TRd2tdtLbWgkFGeeY~!6b{uYYBDVdmdYJU zb{VaY#oQh3%+?*Vc*7+pUnV}meC&kL*p+Zx38Re*wcq3c1&4O&>>&_8le8#k1G_O~ z$dNj*-BdY{UJnx-tsd>r_gxqXH7c#=m9sC-D4_EQ)yrygg z8QA*7k^XpT1!`aA){_gG#l8#+?TtWK19}2me5se{2*T#R>b?%#`q)K^r42of(D1Tplxrk70?yxVWNI3fyBbdaYhfVC9scETs*9RS$dTzj zZVA^{cfyq`>bk;ABoHJVOmqrql8u0yqND8o zONw%6H^EYK>08t(%<{3w6|P1&qH`)X%JSfdLm8#VJp~HNAtY}v11)6)ol4X0d^u7W z%@7FH5M1Hb6AF%UNCkjYspc}ES1XO%cmi58Ee#8d(}F6{PRp{B6W=;siI`tqaI>q)snY zL~b|md@$>cY2*0-d92pNk?XOujKO|!GRZ8R#KG6O80{AwvyJ@Yz) z$tMd!Z&CQ&O5=9l)#h$-I~UkB(Y~xEJoH<)>GUlbP!{1^2Mp9DU=dVlMD@l}?C|w^ zD(4>jNGE?AZ|`1vIp4a<5|2Mlq_$yce$Pfh?Q?l$X37)Bx&b7(&q5|ASAIxvKo=zxb-4Xjj7B!jsmT&&SVy}_ zF9bR1xg7N; zzF%n(L|691+Q!}XI3r6zdkB*Fhb-4Q3o7>Dlv zch&+p4~x1k^|6Q2Yj?5#KPD=pP*u5uOy5Hojjki&^iOJoOvk<~=!?NexGpEuew43_ zHnG{Es83-J^j=w0lG`A0M_Jn;W!{-i6ttI-M8{TOJCL4#E8~^cmV6l@C*duWetPdI zIg(TE-f%JpMx}&1c?mG?UP_1u87bNhg-N{mGM+MPMRZ4J!NbcU^1<_tu^R-m3^E08 z9U}R3fD^I%*;+P-Qy0F_zE2tsYL9shNfsGSuN|Pu4zk}m-3FQ4hO^c5i8l?#~7+rHfo z7E$xxb`*v`@yHk@E)4B)W?vx>R@byk|puG)mZ$4ZYZFD4WM#=%21}y6z^iby)`3 z$*VJ;Ug@Jml~8dw{FwOkR6Lj=ypCUbImyA+N&9ICZ- zLypU?Ox+@Hu+%LH6VIpNXUlu*#20YbRQc0yNWf3u);3 zZu_yC#V{fdId=Gc(vV$UMe-$~+DbX)gy%EMWVhQ9Q?)TtUd~PuKwCrsVpsQI_0Yu7 z7dz5+ks}WAxSv1zb$;DLx}THP!C}pgA)~0%+`I}KV)m+ zfV^;U#Tok^l>1RYD_+kJ>D(87YK%z0P?R|x>t9y|_ZymMw4X5YT-##r zE4savsDgD6T^7*7W2kEmfG%kG;nO<`HL9JoYRf}_nqF-+281cJ_jpl+J34*QsK{IOtYM4o30*WR;7^ zlv{JA8M&^ow-f&LPKZQpZ+qmUpp78UIOY7cfou+qZdb{9;b4W^>UHX`EsAqU`B?Eb z;)UH2Ns;8JP`UN22K#Rk^wh#w&X$YRG(T1{G+_=D$-ltL*#egjg%|zuD$sI`YaY-O zzC%X#wd9$_{IG|h*)H}dq;Q2gdGa&7UMr&xmPDsxo*zeW4i=CklMU!Cgwh;Z_i;mv zBl_4qhePT=l1WsP84PZdGFXcslUo#|POG|AQaY?iJxlV&9-*3Z!4cINT-ppa0gYhA zm%&(s{h*N{<<+C)>AJz_Q_8*56&FEObl(U9HnkD6BDC~$#ft%Sf%yfeOTee1tuO@KT=NxGpQu)_~Hw6Z_ zOm6P$G`y@vJyaeaw{potcbFU`#J5v#YcMdb#IO&F6P_LS1AXYO2R_d$p;1e}iwRz$ z3L{{VJjz)g5uf#EB3YQ$shL3jGq8i@PIm2oyawd3>&B5S9AWQ>>uk5lj+r<~8;&CD zs!a6UFK!Dp{Y@QrdLwSDJn22I7kvGa@*7RUu3h!jaCZNMyAJb;E_S(!kpI-do@UI? zjpLKv@YBQkOT)fLKI?dJ1(Hj6hL@kfwL?Jaeu+m^-8tCNzTd0YIKZ63%JRgM-f296KW|aie8ty;u#Xi^GLG-UDc%KZ;X~}dj z{Bc91YN&C^mSD%|G;hsJ&>h10JxKvRswo=qa^}3v+5W-YUXB)mASBe-^5o~KsYuEl z8W_}^;CmjnoAp-~n-Py;6;@tU{!#&p1*Al$#0gn`_+<7+H&N28-G}<))Z44?Z#Z-U zBuhX_f?px^C)#oMO8LGHm2_qtC4l3 zjf-%k#Fgh604F3P3N~s^?kSCr=;|eZfPf&&wgAScB<8#Rh`D^})1RaMq1@jf%0HlF zPRhb-pIt$>7VmJ?UvuKu^f0bOSP&T$zFYdo34{3MJ85Kva0Tn+$7b?#@oxT40+P4{ z#00YU53<0=5Z^+wXw|XKjP3{aGD(KOHA+?;GxGP+4M+?!Z~}siXwDV@fIN0t>E5d7 z68Lq~e_h0D9?)#lbh@s?|6j&1I6U3IyR(O7*1y-mmckC4)_W8J{0uy{)I9Zlp8S`0 z`E92E{YR@OfXS)O>+oyM`EwokLK4Z=4(_=ed(P-_0T zhm4Q)Z#p6#=M@xrR@q7HEY==0^HkeLwo{Bp{qq<4XI1NO*CTlojAQ+J=cqr1%j|W9 z2b0qajl=0y71~YGN9-mus08@BsA?Ljs$=Xqw8r%GZ#tq|j_Fgi2~;`WIuUq4^0blE zP@_|kvFY!(Gt&NG%(opZeDy^~fBYhC}Cg12#4+?D<9n*R70QU{1^ zTNZC|;rLNy3&~fTi2=*bC+g?9HWK@jPB*K4|LH&cc~5`)|38t@%jNef7OI(lyEw$h za=t;ubcob9Rn&X&;S=%3xqy4xDQo@ZWT)=hnx(pT34G=t8^rKL0G*y%A!t!6P?|=8#aBzDRUcPF7dyv0BoB!tXetXI4 zv-)~>xO?}PzwYJ##ZUk3Gy5-(;9veV)dLA-;`@Y9_CJoA|K-Q`-ZwU``Oro}^e^B0 zf4FhTG#ZZGvBOHz|1c*1^RR#Wg8pxN*vYY_y?&e?@{U6_cF4LK*E4~>{)|iQRot}~?#42`a_eACBGVyBg>p`bW({&0g=zn@*?|eZ_ z%5W|6;?{qSD|J%QFl|(P`{H;Vc28MTr`8nW#m%%5&MF(Wl$Bux|9;7-4`eqs_K~`N zed+sO_uqHM5c62dC@npU25cMcD!7lGmiNI=-Jxv1umAo%Um|D7)Yl)~KTW@k`=>YM zg)E)r+Nc!Kj-Y`xqW&+xp<;MTu>Sfmc%TWWf+x%bzXM63gOMXY!K!MDMur~AO|P<;)+a}znl zSvM|0ADAFWOM0(?mbfPf;fB4cF-U4DqGF@>TXe>KNCD6pNN0b7`zs=?M~K4C*^0z< zJfeT@08sfV3^!audJX`oix&YS3UfO_5HhKOOO|r!H$(XFXTFDB$Y5EePEyVKB2 zv>;&305CAD=a^FHfM?Sl>6rM=b8pi#!WKaR`ng~XS$)5PiQkr8jMt;6q0j^*`;-Vp>l^Ma=lo>|iK z$S4|GI`Vzn?euubG2nc{71Y6ch^iqDH#<1$e1$>F;(oQ?ipb1k1eLn((08oEFvjq- zU3+=!3J`SF5FFLL8Nmy`rj-)Jv3m;p)A^J`!*jI7USxzv5#aJPk4mDHT_+nm=cKy)Tegj==b-TzjQX2`|8N zSISOy9}m6aP5OKSIMDGy(x`gr&eEa1y+E1XU%g^`{8HixzE$FkF%*VE3(2X9IJi1;X>RI^ogrlYN+-#> zkwog9X8{}fGd6xIGuKzg0|3!I#rwAKRz`ignYy0OymZqEE`vv3K(a887*7D83Ri_@ z*mYf<*IkR)0}Nz1)Vo!kr(a_GRQ_zJ&_6n0gil%YCCT-I#1+G@4oR0<;7O~3K!w9* zwoj4Rs#hK(*lH`P%U|P5`)v)+6CyfJ5j^6cIxzQbH%eWTtTCC4ImZzrwYC}IM*RyG zjsX1OE;?Q3WJCZOQ;og>>!(CX08yOC@apLDX1eot=owq|Yzz;aQceL>$IAp`lZ*-WC@F;ChLGzx- z?2b2E)5I7uWo#aG;YRB+AT9a`FTQ_R9Y1LOTh>Qa5`u))T=k;++d%7AplUaSdPoK< z|Fz+8>Y*)X*B>G9<`G~&kkS0?9*)0#eK~WTi2$8@eVoI!Q^$e>(?n$r89N&U#Oth) z1jgBRH)#-XUKxb7kgkEiHW^b=Q=fxzi5v4V!8<+EuzT&cx3@tKZG_l8aPp5r}glw?c)n|1?6#?XgN z;qCPZ=)-=rZu#Vk4$ASnwU5n;$mhD0!*>|zl=XyqG_?(*TiJNe5ny5e(+;C$Yj3Pi z{T!)kvh5ZwrPW8Xbf_#fgrJJ%)3R!Ik`?h!=93J}8D^t-ofeC6 zt1fg+z=VuGFo`>AOfPf!sTY*+m|O%Gpu0A6qq|IWluKqh4JXPO#TuKI9oJo7t_9It z7*jh*wd^1+v1*-VXnW?cz@z2)G$N5mg$6tR4!;*s(|ZJfyP}wR1By$|sc|cS#A9Ro zUdPMV;y%iRf$l8WXgqBXw?UtaKhpN_O+F97?iToyh{WEMfbCP>)8r`IEJ`62HMPWr z$Hm=S!|!JKgN_ri3Ca>jRxEEGkdGo7O#1__Rsz~{{vlw&sRAicIwm*BU%^R+tg%0~ z9b$)40s77#Mz>;PGLe5lhFilaV%-7sv zK}w5RR2^QHr|R+5cHiTgFMJ(x&E)`Gp!HK!ESTduxMs4NEX#DEZa`_?yopl1R8kon zKB8k5E=m*o5YAuJb-p(R>PP`=q`6tb!kWC+8f+_zwioKZ8@3sBeI|nb_%9z~wirW0^Exg2zcLoB37e%d}$|z!I&{%O9F<&qOS* zkEhv3Z@u3sr+{!5b-@-RM7FKETH)3#6fp3iDmXH4+}AQ=8Ku7l*>44oZKcp`p1bi} zUl5NnhPt#6X)i{W16A*GZZys55BW2+d@>#4bIpQD1d50Msp^+R?D4XaGhP%p|D;nB zFCZqBHQ|aZ>SwLpQ+*;Biaq;KH$Lg|gfY>sk!5LzK=Z@KI1ub79|4ZeFlffhp}Ydr z?(!5?IKF2x=<)V{ui zEP#m8xPd?rw6g8Pl2n>$+0i=%zJae;u&*tZOXrO^mi^x6pVk#q9vuPa>bvnX@?~>4 zcKag9SIdA8mN1jICUJBLkjOSl+!CneLjFWS*H!JLL%l*NEyed>7~<-bj`U?pEjv}; zjBKU47esuoDM=Pt?gV{_>)vf4tyJ~DTR`7D^K{d31ATv=2Y7 zs>@eH`SVjl)IeR_xrvf!*wRnwtkcmp@fgFyTudXZFMT8UU6j2hFi`WMPv-J-(ndhKuKzh}K@u zkK#FwhC!-G82b^rt6|jZn3$hPGTD;%YrMiuKLn*b2g~U`WK6z9C0ma@+HLK)H-OgQ z$=f&8lXajQc>oFHg7s^s%aGiv4LBEcs=&(zl*3@Eyn!7!Wi0v}kf-Q11ZP(ON1BKk zhbOzR@4v1NZGUS@O9ibdaCZB&YSg-+LCaoPP0&NQoC$y8GattEqKL_mqI<$nF~r4> zc+q^{qZ5!1Q!WVBT#Nwx{!*MBg&xzYCl7n@yTeUHyhMG{9>UBzzb}CAw*kZ%*`R-% zU3-4{7+t%JIj`sF;SL1Ekg5#zL_!EZ+eK|mWFFewFMTV&!d|A+;R@xo8srhQ{GVep zw@Dc%$?XMECTcP2j!EmMz98^=cCQlS-9KZL10RMhSA-TN@(?iFmdsq;OzhBm@~hW# zy@ZjcG~Q4vg|p_`7q<|5rAiL$W*91^@3|j(niO`pi2uV;EL9(zz^0xECI1=PzCDkKxW~9?cEkuVN+jGTgG96pEnOo}-y4 zzCP9{$m%Cx5}QDKo$*G12?y_F2k8=7bLj8^4dLiA&+s<~lnD(bgp6sQ9#dW||I37y zRt6)b4tj$r8KNyrpN^2dM?n&%{-eGmI>W($daj(cXd_<^GL1+-@bHrx@V|J~bH&pxxI z-=(MLiG&~=QXA?vqQ`At-nYq$XK=6)GEgR;vS!}51}veU1O$xMyQ_F+IAwtg?cEXi z;Dnn`zSyOLyHoco6sXV_rGu{5XSol=^pr}>+K`)HTjn57po*T#55eXfVvYR0{5e>( z)R7XOjA}r#yy@*hH;z&r>|n&YQ`+nW=^LAVw+5;#1S`d*~*mBK%>M55$pm1-GWEmWvE48Bo)DFc;hT^ z6Qh&s@-r+Kib2IIqS`&Aj6h}!WrZ<$PvOQx4^8S#G|o0#c!wDre7M+F%&!c~XAG%4 zCC+lpbvTBz2kZ;sKVK{ylS8AS;Wjnv?Jy()KM4^OG6T-IL$X|Z$c%m6*;3)Mjz@vu zL!+cR$5qFDflhFcizzgfG1pH7V~rCZvgc@pZl+l%O59-z?VcIBh%lp3qDdXtO$ISx zDK*@8MZ}EA)=>b2rp+rX`W28Z!^q+mpF`mQ4K_<5r8HON+5OAD%Eo5Ic@ti7UN~}S zT~V90g0XLCXGWR5aBe>$DEC8^ zE4tX%NquIV=)^2#5y+2Fm~81O$8pm6ttl9_7dlH{rN3owKkir&;sP*^T6b945k^^(XFMi-4F1BkO=t>khIAb;##nE@ex z*EvJ(w_(0qZh(QG>ETfOxdWVWejZPtl}?Bmu_wYBKoAr+s?rw{KU6U#vA4<)CMCWZ zGJ*CHi>qWC;m<@4EV=UvcfskG3nS!9kwT_T3<>m`@67row@wG_layj`R$C+uG`7o| z)AL;~fp&E0>!sF2yCe=Jm6PuU1P+aHMJ+?xMpOK3in4Y`OJ4<0+PgvbOY>FjSJ$8Z z2O!w<@~2>7X+2i+GlD@8zF4Q$!||N9yt#ZY&~68&L@}vEWK*C_pqh~OhG2x#k|=ko znA@YP%0i?4?!%=HyD*;;PJagj!DVU22mZa{FlB4o360?F1Mk^w)Z&g-%eOWOb-?|l zUrXO1n%Ky6cd)=lbVGUOz1B1889YCuv(0P%xtSN7G2)oo;&URjm>N^K9Z51PWggxA~JRhaCFuV}!)*?pf&4kq?lD9og5lE!~iS ztJz;%6i+#V{LTZ6v!@0PueUS1AWPzT#|H?&p5gr_T$Mra`z)jT7mp^1bqX;vVkZPH9bxbs((aik1G=!fSW+AtbudBE z>FbGf=1;nT#O~v{j@v%Gs42ov8|G=`AC?Do=6i2d3p_F4oefXX>q==d-LUOw+(%9F zSuHqMmr-a=B-vg>=pS7>6CuU)&@$`Qq@xtyh){682yBJ>pMBUup4hy(+QfYl?#I_w zx=P}t2!WBGH`zS$6O8EViw%{sO3oEg-+Xy#v^g{H()OUuTX4B$<>%!Vtmom-Ht=U) zrs)XlDFx#ByX9!)07WeB$o5tr<`L0g5~ev;?N=BVf;~pzSnCYiyBQQY>ge*V=3a~r zy-J{nERo`393x!#?X`Vp4hn@Fn)$oVKjlArWgoF1 zD}{`0I7oykxb`{fMO`RN!(cAQfWM9Tbld8V)cv};SlB`4Sj@4BPi7xSQ=p$%00WME z21myX9Y~aHyd<94@I~<^Wcp2ZWBdsVM4jeFl{DIa);^6_QOD8Bv2LqLeIS+^Sg(0u zEZ%s3DN_loaF6P`g*OgF9;>luPvlM~eHsIx=@&%{h|{9IQ*0FK%xSmB-n@|7(_1N@ z;2nM}4_`=!wqj8!`{R6eo)3(AO?ko;r?B+1TI;nt7A`@q7nr3`@R&kGg-jB4;MJ$6 z)FLC305Q+OC;_oi36hF(Zp>$S}Q^y^;0oReqKxW0}ijaof^Mi2-N&^2Deo zQ|RSF#lspViCZsUlBDsHGg)&L+9n-dVkV{6MC^in9 zxIT@S$im1v0$6tthJ9VJKkj-rbf^W9gFsNr87|t8Ga8S$+9;!@fs@zL@odSwTezx4 za2Zx>5j6YTO^XVj6feQiM>(AAbKM{)eIE=%PwOcmSf~9&E)}uIw@sL9QZx*{QvTU` z{xs7wc7hwZ?1`zUQg_a7mhJKQ??pj7rBc>KQTsE_5Ds};ls5{Lo6L^BZ%&xr7y-U8 zaZOU@g0IAHO4*Zd=#7LtCp+N4TrA@F96%yPxhw*lXb9=>&lvTOUqRBp-6Scc4vxYM z?O&zol`zAnmLi2IY?q3b6U5M@P3gE#-cG$xu1 za~pxMJ3nl3Zpk1SFvMB#8)YB!Cu>$6Ik`B|2*^4S4USHr9M@FKu3itpJ8{AVz8g$E z09jl<5of_!hhj?R+;PW6VAyyVZJfjIrH_=!cX9Z!P1{O;3j3YpQ0T4e2- zdj3lybkFZ#_3Z92rfIqQzBc-hY;-veo$mQ?d>|Umja=IUBg{%}ss`P&$PTtrMSJ5! zeD0uF&+pI7j1-D056B|STyf?X1eJNuln?5lz~##`cj18_GP-0*oz=*yCHLw($mKzY zSwNR@9>QnLrStWQHHU%F4%n48Z}whmr&y%IiEc)01;L?yq$YFKa-@k1?!F_u5g+*Z zhPRIW+5+4s{3=ArpqUOg$h659D@nuaKIArRxI^r-A_Iv5{m=eT-z%l{2Bc(MsO^5X z3RL{Oh2$!7!PU2%)VNgvN6+|%J((Pb<)R~%zxz1V3`;iEs$apd)WW*Y)a!Dgqn|_P zR(%rPco!;vt_Fyu_Z}!Qsrq*Rmc>gzdo5B#RgP+oY3qdirrq=6Z7UWNZaH2#!D2*i zqDGz&2+b$hKL%Z>eJjS1sz^?2BN1fA-;na8V_A1beh^rll$!oRwWbv-EeAiG0a`jS z+#S4BY!KKhPvhb$o~EsJ#2VZ4xEthhYiF?P_6{B39u%Wj0EhG;NA5Ah4e42E>tm=p zQ*h33v#`5OlIxNP-GwxoSEDKK#VK{QHJIHUQg};e(fjI`Jm_L&6S%ta%AcG+CPYOC zugwQ1L$(}X#dGl%Am%19I#TuCJ{{A{1*L)6@gr6!`9)$r1!F{;{^t`j%Tfx?vRI9Rypx!B2@Dv^ z8qbQZKRarSgoLhlZ(3rJsWUrqhObBTWv2>rqMI|Mk`FNzR`2Dy_BLQdbKu=C>aw&1 z+;CNLsS{A)VGa3k{@~yh2CBMgV!AZbxiPX5YVI20!01T7yp>Jm?ZGU9$w-I>7amau z76~Cs2EEs5{8)MWO9H?7)s-ng@~H}>>oB?Q@gQjkfT=9sE0Vb%qe?nK5xzqzm1t#d zERw>I+BM{aIZ5bmF-8AKY4#qvusiow3+FV`@T*=z&2_BYwj&Cp`)3`VbL9DePdqE^ zPkp@?Tek?~)h-N!LuUwAl06JNV*sF7KV{Ly(0eU&3;>F8h(lrbE+5rq9G;2LE^|0C zDJ4vL@FhnsW@GN`mntww-kEr&VVBu%5nOW`fw>z#Xipaq3cEh>Ba9aM@>%Roz(`BU zcTF%dcWhJuML9z_7)1Qy2^v}>DIK>4{jot%-uL&=$sbeAb)B~^QNvZsh zj~4ny>q_xxYrE>txOu4uK2@04r!?r{)P4>qAJ(&7GP5LDTxN0Ggj*k&?97QYHDV0yoI$JXhlWBvEqV82WYzufP=LNaZO0dg&RMJ5 zP3|XQjwEaGai(bPR0-fimu=xa(2lDsXcua$%$e<~#WD5)v;nhnE$3j*Kw2I&jP&9y zIX<{;;dg$jfQ#MJd;YJ}$Hh8YAgl*~T5OiYH5xr~a$act@?q_Wq(jG!n?TwYL|Nj! zo3q|;i2%78kYnwGp`D!mm8J3~j-!BVRo8P!;pEcy34V}$moI0o{g!WQ!)E5U3`3JZ(u zg!}Zk0zfHRrVdI5smDXT87dre zjX&7EwA6m#b9EYTU4i$Frnm1gP_;7A8A0`t&5aXp(4R+_sENg}YTFexpyy{}UCE6; zcR(+n*^8+tV__szHI{g0zuA*9Prvb_y1(*3kWQ7{1lQjv)`SR|adRMp+mr)he>8=v zk()+$1VtEq`8!I}a&d;|d2*hF9gn}rd*GrfpfY$&bN-86tW9Ha{Upw;DE#ulYu-j0 zXQ3k<2W$DAVC-J=jL2c7SN7tp=Z@ki;gXn;gZ>%=_Tx2|+qn(zSq98mFEJ%Nu;ZLw zeHtB+zvmevKNGCbGq9S-sS_#5b$R3L3+hMuN6oy!*7P|oeg)zW&pR!}2dc?$PCV5( z=;k=Ol$Qv13%w%0?8F?BCeuSJ$kkH8oI zxLZ|7GC_~zbJoR+K1yK6N-@)*0wNeY1>;a8qQ0DJDhXR7L{T^A$>W{m1_-Zz3L;DI z8vr)?J!F>aT_0L$^Mj3TfNyBO!_4Jrg2;QsC8~Oi$*q^;Z=3*&6=8zl47Ge3k6+n? zL1e@+7f~VFGd&g4yMnDeKD)CSX^k@-*1&NZ2D`4lW#>YK**IQ&ZA?oMRGb%(-S(nm z!p1mpf&9S48uh~(p0>UQSHz7Ms2|A;BtUUOKWcy`(^Me*(%pdS9;0#5BxpmKBXj>)4SDAU`um8>Y>nm|Qx+P4d*nuLvh}?xOY^A!Iwv&N2~9 z{i70E=eDFyM4}O7vPG36$Ma$!y9o^w|A{E08Mf!UuDC_)ehOa*$LY@V313@fa@mX+ zS*wY?)H$m>NL-UBrIlPEHCb=_x?mg|W zM)!ddYA30_iBiyzpf|qFWYkWm68tvDVQ{c=leuAi{c(-^zAJZ_LPqO_M(X_C=T+1i z^K+;=sJ~FgzPbZ(mZ=p=kS+I)`NcbQR^(FIHj>^8;R4-h)tKvq2J~@SBZ5DhEm{LEbsgT1KU^G7Y{SV`C>jELMJ8fdw2ZY;PU``rH=)zCCP37_FYHd?k(Tw|TL zh)Q^W+Z{yfzPU6hwQ4gx7t*IF)Gr3114h?J&(B(&IXWU8YY%r_=hr+|&Ub0(;C|D^ zPy9XC@wS1bu0##@7swX=p1a}APatR*ex(pd11kLak5?>=MRHGXJNfUI9};C_*_KA8 zbM1t%TK3YrK8`kE*^Z9h+(Y%dR!R~q)+K&LD*937;MDAFwQA*Px{iU4?)~F zihYQ`dT*2>Too;7(#oJZiB$lnJQ^CQkk>Y(qQfqQhb*&ML3X#bT2o&DV&ACLM(L-B zTgfc}na$bJe`a_p*w`xCCjJd4p3~|j_JRfpTb@Yle(W*AO}Grv?vza$EQ$YG&e#r2 zuC8OOPf+JpvQvNCn)MAIyQ-zSz1s-uq|oy-YYRj@+uXxV}FG>+(wu!EOC~KaDTBCPaP>vTJGSD*%x68fM zE+p+&GERgswS6>olF-ha6@2_H*SXg6u$+7}i&N@CtjD`pV!^|U7yVRr$?B+3kw$8K zy%;L!FISYfG9MJ)sxoghQc?#lZ5|7y^X3(@t?qg82 zYR)*N!8I&9cX=a{`*Ic)Jrm$iGdADW_2_;dKR!jTAaXD7nBlFEfChu&%)mE=< zq%5G~B4uFOx=4p(2fHy9n))jnw`6Jx(P^jfzOhDkQ7B5d;Z=*lB#LS1gmrGEk)HPP zemMR(D6ipj3{A^9#YgFAJhHQyiUYF*_>{9~e_jkW{HFGShXwBia!6E?8(q}8uUn)K zmYqw<+o%Eq;kYM{-NLs%ZAEK&tS!WaMbqMI7JWe`V)8jvOw!1$k#X*%sUWC~ zXmhKGyN$~9|Fn0OVNrK$+owxV5Rni>KpCYwq@-1pkRhZ)q=r5?w# zkd#n59BPCCap>+Ec-FZ0zV&|h^X>im_`$;iF+o0=cyjQw`)Ti~ zQ=&pY{G5E!?$J*tocwoZ8G)3^dUWSO%@YA{p(J@5&mB!-G%n6x=p1P+C5+xV%Zd|~ z$E8A>FDprm-ZmYL9b&o-%C5B^J_ZD!(UUQPe(Z1#9zOa(*huH=RYx{K^B^o2`eU z>}fcPSJ8wn4cTV|s;`)Kh7}?dgNtBNGo& zM5y!REun6?_z};Aj#T*WoG??NKSmQ=RSWvXC12N@WN&&KTp+(b$KGrGbaX%q8%Nq(wg zxW}BKdYzhw!#Jq98!^<}h%5o!p89n91LbY0$@q#hCFAzOnj|oEsPv`Cgy^)T9Fof^ z*CDF~<{c@B3c2r)3$I?XMosiInWRT)c zhXfS1ol-eD+t)@iZFW(_`@4okowKw@U)!BL5fW2L(*xEb|70n`(F?l*b7y2GdGjoz zi*?g-3gYz|+HvkD6tFV3c5Ff}izny`JU12z%$%$ObA)TE;=aV__m7iLB~6ekA7V_T z*nGZ>+pmbnbf;{jXzeB?;`)rwa{%dU>)6qYl#D~0>}5@e-%cKxmh6T~W47j@5;h37Y%~iEW6q>)F2fh$3d5#DtmAp;V-$?3 zX|Jvuli4jOBY-qy#V~7E|LbV{&!r_hJlG`sayN7sn~ zhpa8Yh7M^4o^d&sL=T&=AG=(6CrdpfBcGx4Mjvw?(!q|(rIH!b5GSE&Q=}MD&Fvwk zpK7N^fy8IOY?TB=HAdtJGyu@Xhe1g#=s~e;=$LaoPuccy2}|!|MSPOoY!aAohFQeM zw=PL#{Gn7+l{0|AV@x~aZ%dk5839CTcsXCJ^;*BQz3xcPS>|FI^=B*7HhQ`{7_9<@D5cYI#N?91_E&^q2p(JV*!FQHxW`T@g&--* zv`J&JDx=Tf-FQ5dvj_RHY%{A;?RUUGKH-jj&3skOkt!J&+ql<(c$4R?Zr6ZjxYndW z5VsgLK>or9-wmLM*FmHtY)U$!fdTG(cvmdXu3hi$CO!Q0qud5!TX%B5U2-=6QGY-t z-U#Z0SdB%Ww{&djS}}T9ktmPD3ul5Q6VMH*pl^JBsaeFrul5$oaU$!l5$7Wa&MQE~ z4%3B8B036qEjbR=kB^-i4rX7{lYsH35CgV>VJ!Uf@uP%OvMrg^9?q@6NN~L5YrHqL ziib*A4|*b34lIqY2k(-ctvjffCJ)rYM|VuARP-FUZBxGk2IiY1Mkr}kAKmn~#UJ3h zIMn!p*TB{PC5|t+q}JX8=`@>B`jnc}Dp29bq39Exf$7w!DfQ!mGceKXLU~-V#GjUi zU-I;`?xhcC)quW}N2a7M*P{joo^yP;XEX0vNG+;9K%&&hy7Z#mqD(Vl&tk%!b!M7J z*nf`BbB@Z3_DcZ!aYqLV=AKiF9e05Sx2&Nh`h z;GApprAW~>;i+mOi{s)XvKe9dZ9^U==ZE9*^9UEMPnT z%ewa;o4!9t_CD_$zV_Q})ZIa(V;UN~WYSqt6b&KN1YO;>yUb5Sv^>|F$sw8r{ky_n>`!M_b_<< zUQoQx5$gO2^mbe1UfTbDix{2wDU)jYE^pyG!I`^XvQ5M3)f2VT9mJ9B0q6)Y&g3yGSZP>?!Ala{N`Q`8CU9qU)()Be}h}xlo>x ziSk)Svzz?5HLue*kdG~%Z{HR7oFjU|RnoJj-I7}_lG%9@sAwj3DEA*fa?a~}Okx6z z$+q+B?2Rdu9{oAn>gIW-)&UKmHO9H>770bhJgQ2^Wz5Xtxe&p0^Nwx&!C*+Fi|?&+ zk$=$*-K?J$Yp=2oc^2eeOQGtMqn?&KKoVR;)gN0WfF|Fwy zUdSJ)m9ZcE*|4*J8^MaEK+~Xj?0*4~(Rd(okQrEM2)*O_elgGsj^0vqHez^bEikUp zx2vgRRMVwx+D@+QGNZ5_ zz{?YMaoM)hS}3W=UB5vKNHCC(*0;_#TepnU+1ZpZ8hn4D&p0}p$9Lg+s+-=sd9GGj ztW$`KPb7lls5(tvtz&b3jxJ7sJT`VoXVSLm^3b4^#8=@?@1miN5_f4V?m8cBniUzx z1LkYPh@+%y`4d$N2Km5pdpMZaSN2ihkSc>aVn1 zNgMX?`E4Ab`gVqCw8(4Y;orwVq>jL?XJt8j9UqjXrOchMVo;-38bh&=oOA~rk4X`W zo03Fm=l};TZFJhh6i>q0#oG26JW$@i`)B4^NLW0NV25myb63C2(1YpcJibXWY>@f5 z=k(X1b-9(L?zF{vTCzJ1O0HLx?gOpO;B2e`CZQuSlfzIm?s`kV$B@UCiO*mtfi9E< zCMjrH>Q%pFdSJsthi@2C@iqpcFf&*n=<`*>2qMf5zBEiZQA_#`l0-2!Gw|)lBZK10 zE3@W~g%w7M3YrcZaTcaKBtS~ZaGp|`)WHVW1?sof?%PhF)T18nK)d`Wzae=sr)dL{%3W9Qp@bfzq8ZnB! zf29y`$DW0dD5WAXVJc42p|L{n5uhp!1g>qOsOyh&?=S$foUa)-`{+ z;PuhQ2k&3E-wZe$O6lEuzNrvIAEIRkRpeH=XP!!p8m>17-gD4p>he|5A*GQ0xi6z&&-^TG+Ns^;NkDA?cx~L!Ck*99ETV&Rk+pfnbO4(7H^WXK^dx z?Y1vU6ryrB{r|;C9?I70Yo4h^TuVtvW#P!#lp|*uT^%kr_$>6JEIOFm+eCuruxyDmA>n`IL$^dTVP-W5?_8HO%0c{~K6Y?loAP zDx;}bfEM-gr+?WQyNg=QHHQRBcBoc9c$>cI*{;6L1{wtgHih|AVC6cdrl&QbTGi$zWTl?iBCKX07oSu`| z&M(XAqvpaEjYZ~xJ$t?TX27M?f{Wy$_OM9Uv#igsP^_DY*m%z=WO`Yd(!2!?C50H8 zjm%5By_yBtioWUfxX}ELR$)#Uz~Q}{w;s`ZdKs*^LU6s)sPUzYkoTjOoucw`+lkp< z#yUwNS4x`zJ9+dhvkD`z(L*zTb=JP0-bS)sz%Tvt=-A-0!eas!II6a?PyVR<#5p`{ z+GB`j=gIL(^B%@Y^*9X?5S#tm7~W(@FH|Bo-r%NC{P%(ImH`p;W_TC$!2%zTKzlco zo%?(1ofwDf<)2_T(m3;6VpsHvef5gg=^=JN&%E!tj}OWeRd)Njrazx@BuVb{aBN-d z8X+KHqP(M`2(4w;>zH{^aDT{i%ZM3f>q~UQjd@seYpwD0q>zB>B(Y@Xe5MU=zJh_4 zEY0v$p8a(M^bIE;)XBzUC5HqwZ$ftv)4=GJIPYDwbTg6GF_MV+x`ih$B5J8UpS(9P z%ho}P2H79HWIO@R$rX2s3=R;BnS3s_( zJCf(Qpx zIA~`U%j1fHst+vU5khw>jDB&HKR^65Y0vhan}vaPW|4n`6(zVZr*{b+k8jc#@zCzx zYFGR2-50N%3SryERx&l@JxHE#EgoNY%lIU;p1Z7DUP<}h% zo_4s7vbc!mHDF4MCUi%{%urpW`_W5ZzYaLcxqO&+I4bEhc3y zIfg78*DK$Hyw;6Ip*Rd7ZZg&T)|5Rq+MpM?UdwX;{6TzHSDnwascRe;S@#nlYdsA- zc(V5z@V-Suq=*ztSNbi&#zu4nC~oX(Kxrb|Q%i~gTd7ddlEltBQ2U;4y%QBIws^qY z^0bvdc)mIU|5&S_@PBd&h|(|`f*CilLuH+*R9Ok}Z%C)fVp;ud5P{+5@f$IXh>&+* zHt%x4V)t|kf3l`LKZr~51ZwitusiP}rervrS~{p*(?9n8+}9c-+cFCVI!AQWe0Di+ zXmf4kCCMU>52>45Pis3(!Ft;~Iv49eo7h-Z9cDFF5|w^g*8C##R2(1axx4^nA&Rr2 zht;r=3rSO3qrdM@Anw)-R#yEKJR8CJ`#HuzI~Ax9{piPFMj{DEpi=bb`x28^>z!h& zD$HgEF(!k+QWKR^a$fPgQUh_HrG>ZCfz!c78o0=uLqpfY^6-eh^JZmO>>T4$Qh4*& zRX-VuZQcM~K>%2se(l1yoIpNW&)EtP&qxpr8h31VogD z;W$C{>8dtse z@M@n%YN*GDc+s>cO49j7wGN1gQ(y37>_^r?7|;i_Z_~FlYVz<|SJT!ZKDM#v^$QXQg!Tj^^SnXV3mXYN3fp)jS>^lZwDfQy7WfC?-WJCcpQxX563K;lX-Q3o zwAu_&N`9n1>=hHB3z+a2(X%avo9OpMQs(S`@zNbhXL0+ab{gfBF)lSFhh4s5zj5vH zIeBaNSj;~4w)s3);enF)BEFvd@iN^$3(O+H!`^m0+!B;b#;9*zdBmV#EBrzjkwrnF z$^frqujFEZKgv@)-<>5`1#Y8Rcp6`0djL4Kb{zMdN6jqg(m8NS^++hCECEodGtDYj zcb^wM|8PVH@c|p{mVpc232A`pH`lfB%XB{DuXgxBhb_4|b$bRMZ*FouLrZ1Tq&b!s zo!2!|Z64}57SK9XlyytsXqW=2+vA79?e-W14l z8z$g*3kRhzH`bT!@^AL03@;z4ka4TBzs+|p5sW}6GLP~{O|<#7J6({Pe;O^4Ws7M& zY~4_s3~!)69qoHSn9#tCO3cv97wNFYdQg${d!;vOnMd%Z2sOzcl6f>^L2s{ObM`Q} z91c%fj=?PXi950L#p+)+&Nzjx&Qy&%q-&+=4g?* zm4*^D-C}_ZaW_8MWG!p``pT2RfBgrEMtN3~C$mW8g3N@wy{@K;>Wm6kH0;M!16lJ) z_rZmCx|%DDx7c~;iERD*?nmrF_5(n`EVM58>z@rGt;imF}qku6q_GNGEyChdY(4 zGjvw7iyYu8R?L*U*hD*basd_ohnbK-!`@b@Cs+NF^Z03}ttOvi6jy?3KVHUe6oOK5w;vv$86h!# zT`Va1<~mkryWYB$HiC~UsLi9JTxwV??U|Gr?bf?0lllnW0ii4W3%$aH>iTd>|oP7f$Ki7ih z%brBDR<_mZ*AH4uh>`4#Nx=TN?p-gL0x2#t*G6N7_kSNkn`kMtot_gfCT8ByTGk$j z3Tv~mSy@D{fLtV8@%bH`W~!^mt0__lSvsdM@&h|=UfpMxlAgOf=%UT*y4q!_X0_=0 z+OGDFZIZV+Et0SG>l6969=v>EArz6?3R)e-ti_(vgPv|l>3S1UT%>W=-RZG z@M`VZ+H;HBW3ID*ttbA>F*EYax#z8*$@8EBa#9lJF@*z|%%TR32}GqiLoSl3t+X0T zLW`y>T=L;~BeT5HqpC$xb7+%Aza-RR>5;D+yQUJ<$7v!Vvw{L8P9~@+A`JlN^&3lF0N`mJ$zQt1n;2XW$kqQ#I83tul|l>EH27; zcKR-Bh**X&JBsySLNnSPF+wjJ(b+F-Iz_Q@Qte0z zf8D7~Alt^{n{kq{UKaX*F@8Z%H31VXDUL%QJ z%rXB3)PPS!epbKW^-IA7%sGsq+g@Gyh0#OpI0_j3u`R)^y7rCsjL4fjjon^!dtD36 zt;_+xK+W0MFy&)59R#=89MdI?*U+A}K*!Oa>sjcON~I_;Uu>X#+Z6HC^L_5Yp6H*+ zAS&u`f>_P9CBeBs9r5o2+o8}ZKahn?R+bBKvh7VA6Fcz7vBbW?s+?nJRoHJn*IUu2 zbUS$MIe{dk0w0X7S?s2~op+WlY<6(1K)Ft$_?2PGXlQPjDNSjWF~<9{v1Sb2`n2eI z&(a(H;Z2_?U@m)y0UAeZ^+p{i@sf!*UnnmU5C+9kOL1oU184{J(aB$3Z|PesG546V z&JDhvlH0h`sWl3M~k?L7Y7RvY=}! z*)c1)g#dt~3?%!(pSdmplCyYE44}4T zg04awrtlqD#>?*GrRfw3FqKK%d3!6q7fN1^HHrM2b9M50pR_dz7NDt3^Bdt8r6862U^T8vS zM&b)Gf3?His$d1Rc-pj5eAL%~v~jUBe^8N}U2IT)U`OZIv@9CVPc6z`a;~;Co2%vR z>oH(&kH$M-|8sFelA3`a8__Al5#b+awKzW_JanR{sK>_CX@`gfRky!9PiKe^Y%MEU z&yJCsd43-)A70eRlsP$p`aV5;vh_#~Pdu7931pN?fb2Kq0?9->!UymoI%6LLdJ87m zY_E0%E6wh={L!CzOMr3a5f$}a@Y0R@+?t7TzmgCT{2mdEKK1oDsZp=k0)Tos1410W zdpYliJ_X0M_rjQ6kZql%|A|C!sbSt5Nw z9BfBGKL2+KD3FNwf*~Hi17IbI_}tY~z}%;CT^$gvQOlU|+trmgQy_17&&c7U596q_ zSzXQ6qC!e?^vMa(-fJ>e>aO=EG%1p^y#v*&Z!WW-#mk2%#CFC45P;|RKApS3BmiFV z^R*@Sf4`v?2nO#pKTHB1D2>S1QovQuL~4wf2f!QW;9&RsV;^}X27Z!j<&qoxA5#GH zFbpJ(@dM~5w}k<=(d5I{0bb2;XezEu;@uQ?xJ$lGbd4 zn^e|ZN&sTAAY|>glMqZFN74>hJmeLCp~ByjC|!nel>aAyORW@GjNcruR6GCiPW{5^ z@dXm)zhZye&M$v6AEuQe%sa950#(7-)H5EH`H$iM`rm*4bqk+fcCzAL#g`LEahKS1*T0h0f@U;Hnhp8t1^{2w~?A4~SX m7S;du-Tz-2HmYg&l>C`V*FJaV#YF<}=Z>nTN|BO9(EkABIW5%y literal 0 HcmV?d00001 diff --git a/apps/docs/public/static/enterprise/forks-copy-resources.png b/apps/docs/public/static/enterprise/forks-copy-resources.png new file mode 100644 index 0000000000000000000000000000000000000000..616b8204a1f66431800e0c17b8ee681baed88c8c GIT binary patch literal 52622 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 Hz5Rax2bctq literal 0 HcmV?d00001 diff --git a/apps/docs/public/static/enterprise/forks-create-modal.png b/apps/docs/public/static/enterprise/forks-create-modal.png new file mode 100644 index 0000000000000000000000000000000000000000..ff20e2c78e717c1430905de834c89cadd075f7cb GIT binary patch literal 83502 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

  • 2{;vm2Kwe-}e!i3d(z}t(hJg-M=pNr)^z%v0|U+ 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�RdQ6kO1c3OqQUesLZ;gZCBCmz<@j-a2hPtN7N8 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

    @@ -142,7 +141,6 @@ export function ContentPostPage({ sizes='(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw' className='object-cover' loading='lazy' - unoptimized />
    diff --git a/apps/sim/app/(landing)/components/hero-cta/hero-cta.tsx b/apps/sim/app/(landing)/components/hero-cta/hero-cta.tsx index 4503e7de9b0..93a4dee3d6e 100644 --- a/apps/sim/app/(landing)/components/hero-cta/hero-cta.tsx +++ b/apps/sim/app/(landing)/components/hero-cta/hero-cta.tsx @@ -29,6 +29,7 @@ export function HeroCta() { Sign up diff --git a/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-platform-loop.tsx b/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-platform-loop.tsx index c154d1beb08..eb3d8b1c72a 100644 --- a/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-platform-loop.tsx +++ b/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-platform-loop.tsx @@ -59,12 +59,12 @@ const CHROME_INTERIOR = { width: 1024, height: 721 } as const * chat|stage divider is covered by this region, so the divider users see is * the live `border-l`, appearing exactly as it does in the product. * - * The chat pane stays `pointer-events-none` (decorative); the workflow pane is - * interactive - blocks are draggable. Remounting the stage per cycle - * (`key={cycleId}`) resets dragged positions and build state. + * Both panes stay `pointer-events-none` (decorative, matching the hero's + * `aria-hidden` frame) - blocks are static. Remounting the stage per cycle + * (`key={cycleId}`) resets build state. * * Under `prefers-reduced-motion` the loop never starts: the finished exchange, - * open stage, and fully-built workflow render statically (still draggable). + * open stage, and fully-built workflow render statically. */ export function HeroPlatformLoop() { const regionRef = useRef(null) diff --git a/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-workflow-stage.tsx b/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-workflow-stage.tsx index cef1ead45e2..3265e49e389 100644 --- a/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-workflow-stage.tsx +++ b/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/hero-workflow-stage.tsx @@ -1,6 +1,6 @@ 'use client' -import { type CSSProperties, useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react' +import { type CSSProperties, useLayoutEffect, useMemo, useRef, useState } from 'react' import { cn } from '@sim/emcn' import { StageBlockCard } from '@/app/(landing)/components/hero/components/hero-platform-loop/stage-block-card' import { @@ -22,43 +22,26 @@ interface HeroWorkflowStageProps { builtCount: number } -type Positions = Record - -const initialPositions = (): Positions => - Object.fromEntries(STAGE_BLOCKS.map((b) => [b.id, { x: b.x, y: b.y }])) - const STAGE_BLOCKS_BY_ID = new Map(STAGE_BLOCKS.map((b) => [b.id, b])) /** * The hero window's live workflow canvas - the right-pane counterpart of the * chat loop. Blocks pop in one by one as `builtCount` advances (staggered - * scale/fade entrances, edges stroke-draw once both endpoints exist), and every - * block is DRAGGABLE: pointer-drag updates its position (scaled to design - * space) and its edges follow live. The edge SVG is `overflow-visible` - - * SVGs clip at their viewport by default, which cut the lines the moment a - * dragged block left the design-canvas bounds while the HTML block cards - * escaped freely. Positions reset when the parent remounts the stage for a - * new loop pass (`key={cycleId}`). + * scale/fade entrances, edges stroke-draw once both endpoints exist) at their + * fixed positions. The edge SVG is `overflow-visible` - SVGs clip + * at their viewport by default, which would cut the lines if a block ever sat + * outside the design-canvas bounds. + * + * Decorative and `aria-hidden` (via the parent frame), so blocks are NOT + * draggable - `pointer-events-none`, matching the rest of the hero animation. * * Blocks reuse the hero-visual's {@link WorkflowBlockContent} (the faithful * icon-tile + rows card body) in a card shell with vertical-flow handle nubs * (top in / bottom out), matching the real editor's vertical layout. */ export function HeroWorkflowStage({ builtCount }: HeroWorkflowStageProps) { - const [positions, setPositions] = useState(initialPositions) const containerRef = useRef(null) const [scale, setScale] = useState(MAX_STAGE_SCALE) - const dragRef = useRef<{ - id: string - pointerId: number - startX: number - startY: number - originX: number - originY: number - /** Total design-px -> visual-px factor for the dragged block (this stage's - * fit scale x the platform loop's design-space scale), captured at grab. */ - visualScale: number - } | null>(null) // Fit the design canvas to the card: scale down when the pane narrows so the // branch blocks never clip, capped at the full-width scale. Measures LAYOUT @@ -86,43 +69,6 @@ export function HeroWorkflowStage({ builtCount }: HeroWorkflowStageProps) { return () => ro.disconnect() }, []) - const onPointerDown = useCallback( - (e: React.PointerEvent, id: string) => { - if (dragRef.current) return - const pos = positions[id] - dragRef.current = { - id, - pointerId: e.pointerId, - startX: e.clientX, - startY: e.clientY, - originX: pos.x, - originY: pos.y, - // Rendered width / design width = the block's total visual scale, all - // ancestor transforms included - no need to thread each factor through. - visualScale: e.currentTarget.getBoundingClientRect().width / BLOCK_WIDTH, - } - e.currentTarget.setPointerCapture(e.pointerId) - }, - [positions] - ) - - const onPointerMove = useCallback((e: React.PointerEvent) => { - const drag = dragRef.current - if (!drag || e.pointerId !== drag.pointerId || drag.visualScale <= 0) return - const dx = (e.clientX - drag.startX) / drag.visualScale - const dy = (e.clientY - drag.startY) / drag.visualScale - setPositions((prev) => ({ - ...prev, - [drag.id]: { x: drag.originX + dx, y: drag.originY + dy }, - })) - }, []) - - const onPointerEnd = useCallback((e: React.PointerEvent) => { - const drag = dragRef.current - if (!drag || e.pointerId !== drag.pointerId) return - dragRef.current = null - }, []) - const builtIds = useMemo( () => new Set(STAGE_BLOCKS.slice(0, builtCount).map((b) => b.id)), [builtCount] @@ -162,8 +108,8 @@ export function HeroWorkflowStage({ builtCount }: HeroWorkflowStageProps) { const target = STAGE_BLOCKS_BY_ID.get(to) if (!source || !target) return null const visible = builtIds.has(from) && builtIds.has(to) - const s = handleAnchors(source, positions[from]).out - const t = handleAnchors(target, positions[to]).in + const s = handleAnchors(source).out + const t = handleAnchors(target).in return ( { const built = builtIds.has(block.id) - const pos = positions[block.id] return (
    onPointerDown(e, block.id)} - onPointerMove={onPointerMove} - onPointerUp={onPointerEnd} - onPointerCancel={onPointerEnd} + style={{ left: block.x, top: block.y, width: BLOCK_WIDTH }} >
    diff --git a/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/stage-data.ts b/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/stage-data.ts index 17db30a2a86..4dbaf430bb0 100644 --- a/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/stage-data.ts +++ b/apps/sim/app/(landing)/components/hero/components/hero-platform-loop/stage-data.ts @@ -120,10 +120,10 @@ export function verticalSmoothStep(sx: number, sy: number, tx: number, ty: numbe ].join(' ') } -/** Handle anchor points for a block at a live position. */ -export function handleAnchors(block: BlockDef, pos: { x: number; y: number }) { +/** Handle anchor points for a block at its fixed position. */ +export function handleAnchors(block: BlockDef) { return { - out: { x: pos.x + BLOCK_WIDTH / 2, y: pos.y + blockHeight(block) }, - in: { x: pos.x + BLOCK_WIDTH / 2, y: pos.y }, + out: { x: block.x + BLOCK_WIDTH / 2, y: block.y + blockHeight(block) }, + in: { x: block.x + BLOCK_WIDTH / 2, y: block.y }, } } diff --git a/apps/sim/app/(landing)/components/hero/components/index.ts b/apps/sim/app/(landing)/components/hero/components/index.ts deleted file mode 100644 index 8085f6b062f..00000000000 --- a/apps/sim/app/(landing)/components/hero/components/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { HeroVisual } from './hero-visual/hero-visual' diff --git a/apps/sim/app/(landing)/components/hero/hero.tsx b/apps/sim/app/(landing)/components/hero/hero.tsx index 0b690055a45..14fb4a10f26 100644 --- a/apps/sim/app/(landing)/components/hero/hero.tsx +++ b/apps/sim/app/(landing)/components/hero/hero.tsx @@ -40,9 +40,9 @@ import { TrustedBy } from '@/app/(landing)/components/trusted-by' * SIDEBAR * remains visible from the shot: the {@link HeroPlatformLoop} island overlays * the container interior (full-width chat that stages the workflow pane in, - * replaying the conversation with the goo ThinkingLoader; blocks stay - * draggable), inset a hair INSIDE the shot's own baked outlines so the visible - * chrome is the real UI's pixels - never re-drawn. + * replaying the conversation with the goo ThinkingLoader), inset a hair INSIDE + * the shot's own baked outlines so the visible chrome is the real UI's pixels + * - never re-drawn. * The frame is `1300/720` and the window `1080/620` at `83.08%` width, centered * - matching cursor.com's hero media proportions, with backdrop showing on all * four sides. Decorative, `aria-hidden`; the `--surface-3` fill remains as the diff --git a/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-workflow/landing-preview-workflow.tsx b/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-workflow/landing-preview-workflow.tsx index b1484c909db..0584ccfb944 100644 --- a/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-workflow/landing-preview-workflow.tsx +++ b/apps/sim/app/(landing)/components/landing-preview/components/landing-preview-workflow/landing-preview-workflow.tsx @@ -117,13 +117,13 @@ function PreviewFlow({ workflow, animate = false }: LandingPreviewWorkflowProps) edgeTypes={EDGE_TYPES} defaultEdgeOptions={{ type: 'previewEdge' }} elementsSelectable={false} - nodesDraggable + nodesDraggable={false} nodesConnectable={false} zoomOnScroll={false} zoomOnDoubleClick={false} panOnScroll={false} zoomOnPinch={false} - panOnDrag + panOnDrag={false} preventScrolling={false} autoPanOnNodeDrag={false} proOptions={PRO_OPTIONS} @@ -136,7 +136,8 @@ function PreviewFlow({ workflow, animate = false }: LandingPreviewWorkflowProps) } /** - * Lightweight ReactFlow canvas displaying an interactive workflow preview. + * Lightweight ReactFlow canvas displaying a static workflow preview - + * decorative, so panning, dragging, zooming, and selecting are all disabled. * The key on workflow.id forces a clean remount on switch - instant fitView, * no timers, no flicker. */ diff --git a/apps/sim/app/(landing)/components/landing-preview/landing-preview-mount.tsx b/apps/sim/app/(landing)/components/landing-preview/landing-preview-mount.tsx index 17031b8799e..b4e120fae45 100644 --- a/apps/sim/app/(landing)/components/landing-preview/landing-preview-mount.tsx +++ b/apps/sim/app/(landing)/components/landing-preview/landing-preview-mount.tsx @@ -1,30 +1,24 @@ 'use client' -import { useEffect, useRef, useState } from 'react' import dynamic from 'next/dynamic' import type { SidebarView } from '@/app/(landing)/components/landing-preview/components/landing-preview-sidebar/landing-preview-sidebar' +import { useLazyMount } from '@/app/(landing)/hooks/use-lazy-mount' /** Dimension-stable placeholder sized to the preview's exact footprint (zero CLS). */ const PLACEHOLDER_CLASS = 'aspect-[1116/615] w-full rounded bg-[var(--surface-1)]' -/** - * Load the preview chunk a little before it scrolls into view so it's ready by - * the time the user reaches it, without paying for it on initial load. - */ -const PRELOAD_ROOT_MARGIN = '400px' - /** * Client mount for the {@link LandingPreview} - the heavy, animated workspace * island (framer-motion + reactflow). Isolated here so the sections that show it * stay Server Components: only this leaf is `'use client'`. * * Loaded with `ssr: false` so the framer-motion/reactflow bundle never ships in - * the server-rendered HTML, and **gated on viewport proximity**: the chunk only - * downloads once an {@link IntersectionObserver} reports the mount is near the - * viewport, so the below-the-fold previews don't pull the heavy bundle into the - * initial homepage load. A dimension-stable placeholder (the preview's exact - * `aspect-[1116/615]` footprint, filled with the canvas surface) holds the space - * before and during load, so there is zero layout shift or flash. + * the server-rendered HTML, and gated on viewport proximity via + * {@link useLazyMount} so the below-the-fold previews don't pull the heavy + * bundle into the initial homepage load. A dimension-stable placeholder (the + * preview's exact `aspect-[1116/615]` footprint, filled with the canvas + * surface) holds the space before and during load, so there is zero layout + * shift or flash. */ const LandingPreview = dynamic( () => @@ -47,28 +41,7 @@ interface LandingPreviewMountProps { } export function LandingPreviewMount({ autoplay, view, workflowId }: LandingPreviewMountProps) { - const ref = useRef(null) - const [inView, setInView] = useState(false) - - useEffect(() => { - if (inView) return - // Graceful degradation: without IntersectionObserver support, load eagerly - // rather than leave the preview stuck on its placeholder. - if (typeof IntersectionObserver === 'undefined') { - setInView(true) - return - } - const el = ref.current - if (!el) return - const observer = new IntersectionObserver( - ([entry]) => { - if (entry.isIntersecting) setInView(true) - }, - { rootMargin: PRELOAD_ROOT_MARGIN } - ) - observer.observe(el) - return () => observer.disconnect() - }, [inView]) + const { ref, inView } = useLazyMount('400px') return (
    diff --git a/apps/sim/app/(landing)/components/navbar/components/mobile-nav/mobile-nav.tsx b/apps/sim/app/(landing)/components/navbar/components/mobile-nav/mobile-nav.tsx index f0750f04fe4..96e5a74d7ca 100644 --- a/apps/sim/app/(landing)/components/navbar/components/mobile-nav/mobile-nav.tsx +++ b/apps/sim/app/(landing)/components/navbar/components/mobile-nav/mobile-nav.tsx @@ -67,7 +67,7 @@ export function MobileNav({ stars }: MobileNavProps) { return (
    - + Sign up
    - Log in + + Log in + Contact sales - + Sign up
    diff --git a/apps/sim/app/(landing)/components/product-demo/components/product-demo-visual-mount/index.ts b/apps/sim/app/(landing)/components/product-demo/components/product-demo-visual-mount/index.ts new file mode 100644 index 00000000000..53304d8970f --- /dev/null +++ b/apps/sim/app/(landing)/components/product-demo/components/product-demo-visual-mount/index.ts @@ -0,0 +1 @@ +export { ProductDemoVisualMount } from './product-demo-visual-mount' diff --git a/apps/sim/app/(landing)/components/product-demo/components/product-demo-visual-mount/product-demo-visual-mount.tsx b/apps/sim/app/(landing)/components/product-demo/components/product-demo-visual-mount/product-demo-visual-mount.tsx new file mode 100644 index 00000000000..b5d3f3a4ca3 --- /dev/null +++ b/apps/sim/app/(landing)/components/product-demo/components/product-demo-visual-mount/product-demo-visual-mount.tsx @@ -0,0 +1,38 @@ +'use client' + +import dynamic from 'next/dynamic' +import { useLazyMount } from '@/app/(landing)/hooks/use-lazy-mount' + +/** + * `ssr: false` so the animation's client bundle never ships in the + * server-rendered HTML for a section that starts below the fold. + */ +const HeroVisual = dynamic( + () => + import('@/app/(landing)/components/hero/components/hero-visual/hero-visual').then( + (mod) => mod.HeroVisual + ), + { ssr: false } +) + +/** + * Client mount for the {@link HeroVisual} island reused in the Product Demo + * section. Isolated here so `ProductDemo` stays a Server Component: only this + * leaf is `'use client'`. + * + * Gated on viewport proximity via {@link useLazyMount} so the below-the-fold + * section doesn't pull the animation's JS - or start its + * `requestAnimationFrame` loop - into the initial homepage load. The parent + * frame (`product-demo.tsx`) already reserves fixed pixel dimensions for this + * slot, so there is no placeholder to size - an empty div holds the spot with + * zero layout shift. + */ +export function ProductDemoVisualMount() { + const { ref, inView } = useLazyMount('400px') + + return ( +
    + {inView && } +
    + ) +} diff --git a/apps/sim/app/(landing)/components/product-demo/product-demo.tsx b/apps/sim/app/(landing)/components/product-demo/product-demo.tsx index 4181163ec2f..5515f151c81 100644 --- a/apps/sim/app/(landing)/components/product-demo/product-demo.tsx +++ b/apps/sim/app/(landing)/components/product-demo/product-demo.tsx @@ -1,5 +1,5 @@ -import { HeroVisual } from '@/app/(landing)/components/hero/components/hero-visual/hero-visual' import { LoaderMarks } from '@/app/(landing)/components/product-demo/components/loader-marks' +import { ProductDemoVisualMount } from '@/app/(landing)/components/product-demo/components/product-demo-visual-mount' /** * Product-demo band - the looping animated platform walkthrough, promoted out of @@ -12,8 +12,10 @@ import { LoaderMarks } from '@/app/(landing)/components/product-demo/components/ * copy column on the right. Below `lg` it stacks media-over-copy like the * cards do. * - * The visual is the same {@link HeroVisual} client island the hero used to - * host (decorative, `aria-hidden`). The section carries the shared + * The visual is the same `HeroVisual` client island the hero used to host + * (decorative, `aria-hidden`), lazy-mounted via {@link ProductDemoVisualMount} + * so its bundle and animation loop only load once this below-the-fold section + * nears the viewport. The section carries the shared * `px-20 max-lg:px-8 max-sm:px-5` gutter and the `max-w-[1460px]` cap so the * card aligns with the hero's media frame above and the feature cards below. */ @@ -29,9 +31,7 @@ export function ProductDemo() { aria-hidden='true' className='relative h-[650px] overflow-hidden rounded-[4px] bg-[var(--surface-5)] max-sm:h-[280px] max-lg:h-[360px]' > -
    - -
    +
    diff --git a/apps/sim/app/(landing)/hooks/use-lazy-mount.ts b/apps/sim/app/(landing)/hooks/use-lazy-mount.ts new file mode 100644 index 00000000000..e7c04cb25f5 --- /dev/null +++ b/apps/sim/app/(landing)/hooks/use-lazy-mount.ts @@ -0,0 +1,37 @@ +'use client' + +import { useEffect, useRef, useState } from 'react' + +/** + * Gates mounting a heavy client island on viewport proximity via + * {@link IntersectionObserver}, so its bundle (and any `requestAnimationFrame` + * loop) only loads once the section nears the viewport instead of on initial + * page load. Falls back to an eager mount when `IntersectionObserver` is + * unavailable, so the section never gets stuck unmounted. + * + * Pair with `next/dynamic(..., { ssr: false })` for the mounted component. + */ +export function useLazyMount(rootMargin: string) { + const ref = useRef(null) + const [inView, setInView] = useState(false) + + useEffect(() => { + if (inView) return + if (typeof IntersectionObserver === 'undefined') { + setInView(true) + return + } + const el = ref.current + if (!el) return + const observer = new IntersectionObserver( + ([entry]) => { + if (entry.isIntersecting) setInView(true) + }, + { rootMargin } + ) + observer.observe(el) + return () => observer.disconnect() + }, [inView, rootMargin]) + + return { ref, inView } +} diff --git a/apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx b/apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx index d0cdedffa71..172e47fa31e 100644 --- a/apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx +++ b/apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx @@ -914,7 +914,6 @@ export default async function IntegrationPage({ params }: { params: Promise<{ sl width={56} height={56} className='shrink-0 rounded-xl' - unoptimized />
    diff --git a/apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx b/apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx index 172e47fa31e..d0cdedffa71 100644 --- a/apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx +++ b/apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx @@ -914,6 +914,7 @@ export default async function IntegrationPage({ params }: { params: Promise<{ sl width={56} height={56} className='shrink-0 rounded-xl' + unoptimized />
    YLy=&*$ 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 z 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 Y1F>Av-nqqSX#fBK07*qoM6N<$f?#&yUH||9 diff --git a/apps/sim/public/authors/waleed.jpg b/apps/sim/public/authors/waleed.jpg index c213dd326ac43b51aa16a9a491473e214efd500e..fe6da74fd726f4d5fca52b7d68d493bbaa0f64e4 100644 GIT binary patch literal 10927 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 literal 26997 zcma&NWl-fz*9CfTcXxMpcO6^~?(XhBFv!7WaCdhY+}+*X2N>L8fVn(h-TVH&E2&h{ zsZ@2PcW1A?R_EW^zdZn|ob)$o02mkmknptu{%rz6zpnlR_}2~r4h{|h3GoF;XvqHn z4Fmmufcbv``+tD@4+#GQ*ndw!KtO%%2(Zww|7-vMee!PrfCdZZ36=l>Mh*Z+1A{;V z`!@vO1pvUnVgBpt{|5+gNB|fVGz=^pJi=Fx0TBNk{s%B{NGNCsn134pLbYaV9AYXi{`EAbWK_=Dz#3BPN(5CLmM=XS!I(sY;Q9j8j*F zaO>&V;nZ$mppF$ryGyLKn}U5IHRViER$)Z_jKl&*vl7-T#kzy;EdBN`(GqzVAWN5eD&E9c)77LW0=)f7s^)}#TT*6n zsb+$ic?*pW2eFej(f8NGw@brc!O1-y=iuMR;0|0>)D-vFAd)Wt*2qAK6W55;J z1QkcpVCoQ6EGjg}^xc@O_B{-N%tz1lMk*8M`PkUCXz<0h^Q}qTmHWnSCa)=J>-cVPSd=$WuRLv{m{bn-VS+$EKH%8+uxcvf0|1UMT_xCE(^ z3d)iiO6n5k;u2c9)Ou3?rGwSje*pa+*2|n=wMvszj&ZFzh1YH+>&={nN;m#@>Mq{~ zkQe7eZfp0p>Yxb6N?lbJf|lLX^v^%{d73_BGtZw5UR|G_(;L@|LN&^I-7t$xlWj9D zjOKE7FysSa)Zj=^vTI7HX6+^BQ9q*f_c2XS*`$wE8mG|A3(V+exedR4)OZK{Ds>py ze4X8$6=Ga9IK3q)Jo*T3eaf5mmB)&^-CaE{HXtxd^To&RV6KYzb2IQF@5okLIt%|E z7(nJf_RRZf{6xX95mXdt@yD%Eu=J0?aPe*x?g+i2bdxTXXf~-6l$<(}@#?+w%7FB|OX{57dP0;r8)3V~v)|htnqRgR*5W<|&jy&ycb0$n0T_N>}bY zla*tgECK~?->hT*{H*WIe&qY>`I2R0ef1`L1`{cC`{LkdIzdSJ=N|y0H!pADI{L?- z%KoL=2p$_Y83E;z_U5tC*53>@Q%1aog%8h{DZ-tXHQm$}*qz?#O@Y1@e8c@!L0Se~3bNo)RRmLoG+R(oz;@w-mKq+X zhQk~Z8&gX~a&8c|>1KKz{r&XPvQZJoYZx!Q{wl!!=Wu)?OS zna;t%%lq5*Cya0YWj#Avbs@^RX?EwD`BP7eI|0sA9a2w@(d zJlNdhUV$?`RR(xhMcE^+UAH^FUHhAiJ`H*VS9MfXyPqn&p%EVj{I?f*=RT=rew7f4`ttri+_6oRE@IrllZF zk%xWE%0B~sN8Bd`x%vooHE&WFwODo&Y7i-B6u0^3rBhWZOa zA`w^2Djb2IFw}S1LTVGo_R^TY{D3~uM29U!7UP?IH8F8dXdu?7NPz5?lGjNbiJ$My z%Om>uJK;pTE6t&=#)uWT)J4v_USB`ugTrl9D0A^+4Xp# z3iAKlCS7=6Kc&g*tq|IX$vNsyUhoMj(%8K3y4;#vYRaa{BSS_2iFX+3DXTGYp-b^Ig8Dd5=34!{6Tf(_vo-i}dX8yYs+YuTDX-B?@ z4qsC%(9M@~ySjmyB$w~%;|PVWLw{D8SfTAUT8JmD-EmURFnW52UQfrij_xeOB6sWc zs8Z+p*|*1H`?YoDr-S?2yP~-@6mkL>a#p%Z%}M{6UN(PdeuGKcHW_-hkXtqtn6enz0mh(vM-CD1uPXglau6fy6Rq{bK?=8-o1+&e$ ztEYba%gMSpA8PFM;(`XkC2>k?%sKg)#WwVDi_ZX87Lp=;wY_f`ouRw65I#RgDl@eCw&PDbgRTRN)rjd9I?CGvln^q~#9(f5^ z`-~)mBZ5ZKQ%gX&{Yizm*~!yYc!G;bv4$hSmQ_# zVauRce|<|n6!frQFAiBuP*{p6q!K_qrwHTWJt^&**e{TWO;k6}Zb!w{8Bt1j=LqJj zto2-dJ9|LyA{winh$PR(Z@jKp2x?1s1K31>G=(wI-+64j}=NQq-QS_CuotXc71n zP5C&xPvO?w`r8IaBSkl=ds@1&N+^nCxl^>aMnUU7n!H8C4nr$e`p8jAoN`o=hp;+Jt%+O-vOPlazv8R9wx(g;gaOi;^R;paBM3!qgQ<-MD}L=8KiXevx%B z5r}_)LHgTlX3%kYM*b7;!8w)0Puf8T-&L_Ss_aE}T3kaygc{)tn z&KcAlUMjK!0WL77m1R_a%bN+8(%dU*kw9ZRwrp8iG#orA=b1#f9rsY->(Ui7ED(k3 z0Y!;5cN$K}ukx|U9=B~9VrhSaM8=*Li8)+lYeqjKU9!nzcDyjQpeOG z2xNOKoM+K?2KTh6-m|pWRT#UOpv!F#{yH%$TAmtR!ja%lORP0)BEt52tQZAaibT*c=bT0!X@rDG* z{5KeINA7bidQvtFB%dr=hcXD&hUk8~SgjV8CRM@K+TU95zk~DybSFae7ohJ|W|MXk z95fjqY)Hh%0WQ%008&iOoQy@D-|gNiYz-K^A9dj9$ugdle^NZV265dJ+a)YZ!Ma-v z%NVXW-!F{uj=dkld9yz%*rA~ESAwQoVb{x*ORQ3-W-1!m!$%9<24^bfEdsqK)-Jx? zm=f!4pb-B9L{DOJp7>C+={44}cN7dI9jLnSCzN!mtV;In53i#dSYR}kW^I)U4|>g& zA+s#={;~W}r(9L_z$VwbuJ>hV4=v}Dwp6Pw3dz0!|El(CpCPXx__i$~T8rloO9=ZZRJ5JYgbOJnaU z*(6I#pWqkC>AKdjIN9Kua$)bds%YMR+MZ3*BCoQ* z5223OD1gE4+=x;sihGxZ$6eGiO~ZI~?L1WPceEb^N@+(FX+bFMnYK^edNsq7g4Yu5 zO?vP?d}c->`}h=5>ILQtczJLm55vHaGqoZ@H6NoHN&uF$QE1ud0PLr2Yz#W9;2Lpv zDwr6hOZ2zLcLKlK6$$TqKH&>r;*FB{Fx6-%*m+S*F;>P(?iV)(dNRIB=@7=2+Q`o8 zrzhnH4Pe8tS5xBWA5YvBq41f1fQ@yXEG7hkTfN-|e9dL`R6f&(9m5vwnv1qDd2Aa@ zegr55AYn2+LM>BU{?J zf&T!%UM)9ZSpAvc5^Lokyr_j5TCRZ0Q@vdBDx)W3)@L&?>n5bShv!-tJA ziQTYbBRXP3xS>&kHlVNB*0 AN0CvdOawrRfbxvf`wZO4SD!vq9*b4H|SWbtm~(I z;hL$`XY+uBVLvPJNSdqIyiHCnG1D(-4irah#v5FBS`>91Gb%Smj1al?(86`fP!j?O zUZIzGsJW;*)_HF#!_#iUkO<(GWkR?usHgZk>MNW#K<>cWR5&nx9pkp(B(n7KlBv=> zFZ|JlcBq4}-O7LfrDsr@ZEJ1rEUlOZN0TI$kRw_66#j>JQDPIP+>Vl-+V$3*mv#UH z?df5e)qv1nYZsFBCBDpy+Q4A3X5JEpCaW0%KGXD~TLl#$_R$;y-Hf`qGP-?1>3Qm} z(KOgAAZ{wLduB0xHa~r-6CD+b2C&_!1f(tGR+L6QIC95&94$)@+LnhPcH>iRv|?#D<(p)Iu*|D&z zUjCtRzCgWwCflgPxoMGNrZk_YBPw#5A4*;cF!!hjW2Nie}1O;#%bf?-c&I zCZ5umMMAUN^HvawBbjKR^-DI0RQ!Cl$5#vvP+>?DYy zOu1PKb2O2ZC1v!XV}ip(U`M-&FhWJbF`yplT9Q~Wb%?t)QH@ z0;?h#8nS0JO>My*0^`0IMwAr<)fB`hor%j8$MT1VFah6 zDq}fXh5sZNB>{Yp8#tCQ&)}5h}HgZi_1RLNCtj zR|fq9lrB~dWp%+AO zvzwbs8*^%xsFnvBMkAUpEwRaD<(56F>aLO`TIiDZno0S!%<-F#StWJ_h zB#>Jtmo&K5<+NOIsE_M{adI2X#A(cPBjz}+A@7!fYE8H@Wk~o+Iq)f`k3xpBA)$zm zmyipHA#q`iB{)AytfkXeAQiz2zBZ5-B`L3_S?QBm#>S#+te|3#^a(g*q@gNLP;yjp zR&lSZS*gz*u8Cw{*k3T6vVcX6BRQD1Y1CxQ*rHN-^QNlcE%nC8Zz;apn0O$Q5Kx*D zwRH5uBhZ%-`{(%nMeNS}(#Jml7ii3xWoP=XV$^Nnc=tL(QY2dzb zu-c|=T5*}k?+AQ?U7t6ViCfcg{nA~r%aL8=K(P`rLEs-?MO&YF#O1p=aV>@0GfC3r zrLgUYoUo*H+EsMTfCga^t6fwXIFOF9D}VACsBP!EzO~GR$a&d>xyTMySy{>6Hhl|G zSW#tz)VV$Y#i^3S5qz!|@EUUw?TUHStm%4fTlg(_~-mz&^6G6~3!Qa#k z2M@^<800~tRBmh8b0AW#AoZ6NkmCxHYE@JJH6i_txG3o!89&#it?16Nvq0bNG)qIU zbjpcK=7)wx?`jrQxC!QieG__P->{lZ~o@j%f<1?$)vps^&l`lv9Lt3}F;%f6(lV4R`QNHC}t!V$FcG=4hc?<<_J2!z7FRG}6$F<_k^VT%- zyFwqc`?$!Y$aF#s-B3IC9Qe50b9zxMPLoP*TGFfZVLO^Es9))mwpMq^Cznnl9q?~8 z$6?7>%dDs`hPpBq;SR$Jn(=6kx4o<<G{xk zum@hV^BSvPa=B%>k6*m|fvU_vcyr%hfpy@udCk<&2pQ4J!5gi$*s_dleu?!-VQe>s zo;j9<2NR^;d22W)Q^6*k9b8HNUVN`w*tk}sW0!1IRr$Gj*!lq_N#S72c}q4o|45|X zZsj0%G{P{lEQ!^7?X!$fVynRPckP~SHMJc^UZ%I5oKVz>V7D@VxSWl8CskD0 zvF9+_>?II&R{u|L5e!$HgHRyzMI0abt2oWb#8{ZQo<$0FtsMM$WzfE0nEWs8P{NDr zjtHlnX{zsmVL?lY820s$8V zx!OwJ(@}%mqi98ZmI5oDt^-dINW)Nto?7o^w^kJ)DOnp4&?uFoEgRohKXP7J{3vYv!}~lKa5udVs1aE}@5h=48XhyV>SRH? z^J5^*+t#qeSjSadof4g+^CsDD+vYIXNQKA(>*cK5jXOR@65FbqP3gm~_y%o5HmPWt z-1I-oWqBphhYz>{LOz{utZv#f^D75eO*7hWtPHzzjjd%CP6#X=P5fbr(G;4h>nI9= zTvYlGNs%_&DgE}Jb28Dxoj=1Z?}(lf*Y8qE~2rCXu_{&{mWV`s=#Zo-6JGO;NsDcy4nZ$daM zs5Pf3i0bG+;EO!;KlqT3O|?VYV)f3;c$g*T5%R+Re$pO$I4Rc^JiP-1Sq{+1ia0u$ z%0?-Ns}$p_EMthljDT2)5-OSgDDy_W1(P>2VIOFxI#5BfzD#;1QS3ip{k0CW!phG( z3NCeI)Bn8aU_a@A=t}q9ZjP@F{C!>^{rMS6YYIkoV-Bc`Py35x=D7sK^9ID!{CE^S zwY-xr)%h6yhIPS|Jl*z&J>F7}*+%u07iKJD?pmH3o^1@fb4BuQKB#6-8!2Ny-5}Hz zt=@$9kQfno+#I#PY$~JXjB^YgN*S;PeTf?Mr~n86IM|on3I63J{-2WwhDOFFhN@~p z>JrQ<`lVsa_wV1_s{BvBVE-G%@)-y3SHWee*J&jQ2(kRR3M-BpO2$tHE7D@3U@(G| zm%tA6ONiN#y9Ph`2MC5*ph*){g`1H{y8jq}k6cg0_pJPkVyXc=8fJ4wKe^5+c0Gf_(o zq|~AE1-FxnHx_-ZG}%D2v4;p_pK70(Rd4W6bNV`pO5I-)H0EQR1}Zlagh5+EWELs9 zz+{>=yV8}P%iMFTX5LKlG^M<}>K~C@!N0y`{tjj`PCMn9Qm=oG?<*B~7k z_wkBfOw8UMa#uN_y)*-r{g@kZ9zZ7Cl8YrG0&R<7xZ8G4S7!>vGj@v-1G@puSGvKj zieetU$JRa`WY)G}KSDobx;{kuzR1^~^RW0rca@#Grb}EUnPPe}Wg}@xt1&BFrjQUy zBlCpCD%A5XlBl70oPM(Ug7#PN0SAlFj|BHFI9-n4gKxI|;4yh5F=%`d!yl5UBvDXD zfup<>rhy%rLueiD7j+{f3tW|lZvh(IQ<{Fnd}|%rA_X*plZkKJQF@pe3=(+>9V&R7 z)jmoM^%bd~N)^c-4g*gJpraS!uittk6P_~7Sg#^YUyfBu`*R1P6JeV&vG$qx6%Vbm z$xF1j?i3kil7#F){?7`6U@H-DbbE_6K3FRjGY^m|3yfeoO$MsE`hM@I%V<4~gs4F@ z$7nD!|5wz~NRq*w8fiKfXWz;p8QaFU>n4FHE#@w8p~TAzB_S#4F8obf{a)>5Ha;iV zgoW{ew|k*)O)K3TwJ96cey~*IXrAD_97^fU{_x`H^h`-~u#`hmepC6C-47HLmvl_* z3qi!?;sNF?`9JF}C}O_Nt?(lxp2Nz9Yf%)$akJ+jjTyNN9I;#Nee=TZkvuJ-3!HY( zjht_@{)}0zT);!bwTO^1WrF%%?3^9ytD_L(7x4}{S${X*gQ-R*6CUxUDY&7?>qqLF zMxBS8`ep|RQ?m&h)gD?Op_*6BmH48P6}wR%CE{Y%lsdJ zoa3bcN-}Sj@=>@xlxD4=g3FVxYzBj>`p8Nes_!C0a!=0yw?R8_w2|x|Ae3v8nxXT^ zmw5QQ%i&m-P!tA%(?BoH4N$WR4xt9+b-}qJ#O65Q4~ZcEbI@s?e5ZMGv5F*92aP+q zOLZ}uM0BVcXMeJ71tMGFxN`8|4@jT`>Jo?AbW!#+#5nxYnx!D^@h+{M>cbSz9WH^> z-(W#|lARNIt{0BHCK-M#-&irs;Gak|U@+3g8y6!*YmR+t^PiH+pQxFJ$EkuM9kE%( zba5Y?b@O8}9zTc3V3oe&yde6tPHiSAavfx4*0`btHCm*hZ97+ne^9d3u^FnbG2KCw zjOi_jZf9S6)RHTIktyy{SDoIiTuD=)94IUD!j?(Y-;s-f&kBwS;)eiXtDBNr4nuX4 zp)V$MU@yWFe!3CfYC;y~>A)I^`6i8^>inF_@QX1R;zlTF!^f6vKA!6v^B3a;GU2bE zCcsM7hacq*lNbkV5Kx3fsU`PxF2jKgf1N8PYjc4Y>@+AH=+#lvRy_%xGG&YtoiMW# z&;0{z6NNCbS3%&FF*@=TxRI~tu>~7m3qy}!;~deXK8Oc!&9enqS&6ju*N##*^K}>9 zHk*%~6{B6poK|-j`CGwRQ{@_00K7BRVS;459eG^HPqWFplE zJ^ujIv2nXErw!X-KW@j|+P~^w!E{+$0VD!jd%IfK@bK2%kZmsHcC{rfl6&4c+OCUL zr}cnu4?l61;w}x3Ot92)!e>_P$(03>Bv2ms>?vMVZ4|fJ-G_4$EH}6AaFvh#va_4o zrrBp6lANBv#(N6+QXB_#yfrYh_O3Z15^!zlIi3LZXbKA)ga>R|x+BgvR-`B@>&P6x zl0IBc-&NH2A+G)>^}0aN>!fX3*IIM;1>IMWV_`8aTXc zVxUG&8*Ca9VL@YZ$y?O}YPVL=E}N0a5+&Z!R#z9^Xgne3W}imBh(A+kg#%Hxud%Y@ zM~JkyoLbZsBpAoHzwRxgLP2AnR&`F*uKXHxUi|iBL^5cg~stGpj zcyc`rCYF9PDx6vHJH5nT8O+wK0g_RleUZlU8)l3>zW~Iegn%4c!zYAA?_fn=1v(4y z{lsK61`EzE0I3YP#eJjFpMkC5u6r< zs`Nu#g7z|;@l!ugvN@ppAE3ALJmWZj^%n_Gt4YSE+1i~_>ZwBps!37b3ufEH%8|a3 zPK5*~bv#W{&u@U3lg0jG2vtBp9AabvDz?8VblFIJB6-Pe;PjtUrc$@Qgkm+;2Y>Q3 zP%k%(EhjJU)E8GkslQt7o#p;#740+)q! zSegPnyxgDdD6Z~O^Lq+v3E2n;g_syI+GZox&BmFAC{(B7123~r_!3lI8FEJC5(a|- zLO;&`1Rg4ReQj=U|Ucsaf+1MY4;LyN`tCA4O1}CUU4`KNB0E_xnZj<2O9JOK{DbA_#G# zE}&yWmk{I%jT*Pg1au)uHI3y_Nzl?I23tT(_U)RD^DB)IOJ#F_pFx`J&)b#arm2-i zZ>6}~`%L2SlqzH&dK2?uEHX=vz^q99Gz(M;gb7MoVGG4~XP6=~?FWsLbETd(yGR!_ zH1#8Hdngt(wlPa%D`XSk<@ye@KCuc#WyED*la2APf;3a5FRTx3Zzu6iCLv5&wdx~r z|3Huq<4F+jkC>a;6`zsFuP}KWZL&5qCU_iWl+_obmoiIIu?wmR#%AFrIA-DXISbDY zivKnV3mYpTI|hDB3j6jGIcY4KXWl#;gO4CX!sF0i@&$I5|-iZE>(UX1Uj2nC$264wJ9DL3SwcfoN<{pM3JR?8~Ju0bOFg>tB ztwe4mGSW%KFGh_|cu+O~2fEC?=z>+kj++B9zBimoG@_5CaN+KDzBKrTiwu^8;y4r3 zTHakaX-9KFgr(6F;{^_zN!rRd@!JIEit*O*%1zP(nDY-Hw=6YZ==A#!Ml~Fu>*jh% zX?hyEZlDp$vtm8aRW90jyO*hM1UJ|ZR}2zOE#G=_scnSO0}C8jjt>r5p^F4=C(dpH zu>Ao|JLAS|7OW7c8i-jqxRG=DuFwbHpBa?#BlT|fE%4Bgu-*UDGy@c04Uv;ph5-)z>+v@_(bQ6|8Fu!(o(9iWd)mnA^Jn{7Lp4-eetyl+`54)} z8z84)n1X_JL;49MX;zcju*W;KRaJFKw9BVxvf2_Kug-4c^Nt%aUK|$`o6aY-@|+;S zrv~@aCMLq?aqZHnJ9w87E2e|PTcL*Lp&!Yg4C8z6+pBxFKTe!CZq3bZ2c{qF&A)!W z2nY?(nlv*{44$Q{U{$Yg|6x{Ut=c%}N;dUiktZKcD;)hAjT8uR^b(0ZQ!D^qbLz^C z*8yc3gmq;cE>YJ&`l!|kD+0FWV}CI9)!*{A?OQA;zPXQ%)FNB zCR5w~5N3zdR_IhHpvc~yF&SF|YshqI*v!Df`{ugNPn(xZV${I>Gi7BnX@QXX&xDaQ2l%?~rM?$^ z?D`K|hE=u9KRas;C{t?b`o?z8gShZ493%(isqvE4VooueH0fRe;9&Y8Q(!MsJdl5n zp9Bto5mx*_^6&G74CK3g^SUYEnknGWrNx)q7G1W3PUXL(yfl05`!u4o*TIEZSXi~l zT1~<~ZC=_M^EJ9ep56SHk?BA4ulxc_T4S(SCt6;cJ zIwFRX2<=8eGTu9JTGtp>P-9g#o7(`yN3EM=j^-#kYLu;SD_W!U7iTFqei5NkETwPs zD3SR#DhnlY3u&{FCgefCxcwie6qV}xonSnech>7@k6FV%cphaCsBw#i6(5NgX6eE; z4F$8k*;eW^H--NJA~g?UR%EX)RrMvx>|n2cp7b6$dZOrm7THKVNt{3e9G5z~-B2F^g9qS~&!f3p+_wG1X) zNkWUcuZH_pJJ4aPbBnNmzSB~%1?$l8DE`CMufs8eiwz->O9{!okLi#ZV-vY%(aGvo zPoMchrS`WiqC;rL)4y7U%Q%nxg6?7H+?HLMYECpJhUNAZ^TI%LLJ?Yc?^BJF0AMt_4%gBS}09XfX$iqRziT{}F=#Cu_5y}wC-hYwCly_v_Kcr^yZz5nMPENE^@YO+6Ipbk@ayNL3HjQ7y}ZZ$ zblAEmUDi!S3g$vMUDQxGwO`$cP?rqYIEIM3OPVRfUQtvxK8>0jU6hsL)bBeQq8O>F%@L1KTtbg^+>gSQ^u@C40PrbYg0 zjo`w3JGExW3bkfn#S$ChQ5F{887QS?uH95DVNm!)P!0vo)5ZRlHJm_Joxu`MWzNCwN5hjP>ZDUhwj^|)rzxiy#}6dD zX6*)dD)bW36o$PTEa+Rbd6lVx=U=VQ%>CMJ6cyTpq7fIP-@zhyFsQtO-M=q_#3RQC zQT26kv=ARgx=NqI@%P1j6|}E-{{hBAZ=f6KB8lL%6{Xoy&{dHbMCZQJg59^@@~K!q zyX9@`?LS<=e?yulD&S1rkUD2*`Wbx=f3MQw`IU~1w2fRWaoNE3RDUujVGfDW>|}nW ziO{zWQ!+-7o^=@&O|vF(pOmZk53odDBEFDW$d-y7WfKd=phmA5^#ZJ+*KP}F?kyMH zPJ|xv_A(Qcw{sY|fyzaHtu6mWpPJs0HdfHpmhQ&14J;L7F*&`5B(sd}sxS%md;16Q z9|a;ijs3YNVCvlaFp%*ac#GnmV7LqiK^VmJY-3@_FU;eqYTaOgqb6Hh%YD75pZWK2 zUb4fgtKtcgVb{%=QjW=q<@6`yFi#Z!j2m30yO6kL#8IbJpOLT?@ zY}=5bhC$bHiMzgmSUAuSxWyvIyQROGFmISG9~p=fKT63;-Nt|{SYeGcj^k*ipuhRkgKmFz^d?sH*_#q0;0sA9{vlC4U<=SVjLbrQjeA%Y1-T2J$hH6Hg}lve+!2Pp;6Mvcu; zk|%K1R&|KYhf-=F<73Cds`eG=%rKzFeplqilY)zAvzQ@TBdQTo<;%|WBF53iad#>Q zZo31x@>5`Wf>bPoZc6@ex{d0bg#Yg8UvhcXW{N481n}R}{q-;*YxIZ^j=tbbdFce} z9o`|z#;K~!c-6ygzHQA&w*2Az2yOaOvCo(jFLi8ZW#7K&FE z4A5gmfr}9RwH$I(rKlkU4VlwoIOc2Cy1Vt+{|MrvGZ;$di_D;;oyON6@=ov zDb}ytxoHGW<>tskX1D5i;8+PH@QL@5T?r-9M5LF2$_4yon1@O|O%4z%w@J}LQzQ;? z3esd~{jnKM+;!z>TzkhK=juzl{a$$4VZSh2@$LOf(O z;jc)=W8;Gs_|(afZuFRttIp}itj>`@)ydz_S{8R}C_h7xa7`*Jnn5+TB;ZRXfrzly zx)3*HNCvXZ_UaS=0AQ+3OlgQfu$o>Fq(%PmP_uiLL}Y705BmE~j2n{Xy_sd8vx*Zw zsE2QdVwht5DOO@jHv^{mvkZZd;2|AWdQHFP(PdDzXj+2=m4aR~jhRu$u`-38y+j;! zP9;3T7k>!}ygR4MihPoAYwiR_q}#dm*oTF~7QN#x&RQ?0Z!0!|l&$}J=Z%ojM^3F^ z60V0$a~FHDX(|dNr9JWeo4z^^PE+E!CVIKwrU=YckVwhuZ`H3+F0t{|3@(un?f)XV z!C8w|Ilo>lphlXWS;KJSM74|PP2mkyGn!c%R7+~YF|Kabsa$GZ*tg*g?Lht&6>}99 zw+$U}cW0>o0OrrBxD3BlzhbgH6KDnpiA0Y&S5V?VLjaBJI{Dg1cnjHVy0rQ2Re^0_ z-jF|)Zk@Y%4zD4>WVaCr5NXq|LqCc)BV1RsZ~B|osM7BA(MB>j>7r7@bf17|1RDMQ zAHyz@j6{bNrc{}#aYStQg(nhe>tGlo8b8uTh6PI_@0E0<+xPCiZuhpJcX#+3rHXgR z@`|W+nz*Cip1g`s_R4H^qNyfK)v-7!$M6xW;tA%%94{~_0d*tPqpjT@RWiV`_ihw> ziu#fVwiI{wKm;JGz8i2D4RT$TXdjl?rJC|iBifAEWGEIh>mhaL!o5r~%2)&BiouT6rNLY_+N!eR6SO;)Sj7Lh^-JLi?iXoK22<5<1FO!Y}y-ki@@g z22dg=X>gm|S9$8ut(|nM-<8dM&vafeXUcP6?)}}2Qto_nogFrY|HmBU$Ha^J-=L%V zf$X~}A^6gMc2{nK{D!`}fD&r>4fvaop&Kt@qKs}HgMw7P?BuVS9L2o3%UX(AtA9Q^ zUkpM+MnZhqCFX#1F2L&%tH~IXXOic{6k6TCuRbdmgWA-Ly_O=B+$V(1om8~rNne`A zqkMG3jTQ@bE-MuhAhT)Hwf(mxzMK)9QmFms58~M+$iqg6$6{Vvjj9^CIaIP+B(bFcG<)EJqcZqIyra7CwUij7-hr)W0Tz!HM+5NT~b@3uED_Pbk#GdVOYm3ou! zJLt|*EzF)c#F2j6!5dali!PPK>crH%5Iw!$f@%9!8!UlbrlSXqQ*5atCjew_- zS@YFDcXtQW!qZ36S10-iq{)^(Fe=u?ef`7f_2p4Fd=Wct0ILj*_^G}LuPJ0B2#<&Y zuEE~^y{N?|9tOWIr2`7eLR|Zu#h(OFZ$I3JyM-=##`t%<0^0(cwVU{X6{_J8@6bI= z55$`G7RrZ&1Bolk58>1n^6dvskva;q6GrJKfk#iNl3x9PgFyngHPo|1`z~{sE*%ub3*Y-sN~HoTRMWKbmZEGDKrD`eBmPiHXTIrXUoo2uE?cd*=Tj z5M0v!9IBxQD#H3N)9Zlm`1-|E>uDNpmF~k|r=NHn+(QeLU7?^Vpd`odm&^1|kwX4l zf2(-X%A44acgNit&O7-mD*mHKeWSlCmkQ%!ZUJ$|X93VKg=XAhJU3toaRWi%fBT8n zYL7N>g&mQVC88%!6Fa0v;lXq}y5MqS(H}9yx7=HO#gFXu4{+$Sqi3CRX=HzudK7at zPr$=R;m<)8N7cUJ)F>j2O+{Boai& zhRWTPv*_)olYL<5MV<7J9Ykb=H%K>Sc$w8wC-cNp9*9L7)5sG!-o%@eV*$Hoge!f^ z@Cc~R(@7DDAU6I`d{-VY)Wn-&vwaI{T$9<+P9?^{m|!|&-@N1_ZxThmaBl15jlbkZ z)#3o9Tf&>0wPM|3qd7h+k12?x90s)?#TAoJPdU^D2n|~@)sYA#ev<{?V#QZaUxbn> zX^Yn0(H`ern7(GA%PVw8*(gBB7X%D!65!CVA(Ij5ktU%` zSH%0i#!V8eqxJ?nRCsJ~`u$16)|SWEN6=@=6$z#}5>sO9&6NbHu;5EAiKGMiF2c_u ztiKlqmVL~+PZlHNkoJr>^uuL1n0Eba*u!=!91=~-57~98t5Y2nJLO0jOV1gtO;)CM z&E@%H@PdDUR!-mQMV8w14O}fv*znu*U4nN!O@HgB5iZDA(onST}?yU?J{QEv5#z65DL5PgAp~VQVNn=!(Db?7S6k@={~aGHIS<5fU70f6M~ zv;P59Hi1_{I3gR^zqQj%+A`{6FHE%Z7v{Zb)AAvb^nQ0~0CrT&yw|FLkj;9=6(%U{ z<9NG490B`koza#z20zh<+vK=%_sl=(T_^foMNx-mHBQKj(ziCS;cr>co$a07oR)C^ z#@#7KETND_Uemfp3pl}Wf_W=$N3@IL0ux0^xjZ6Uhz}H7gIoRNTT-IEuP ze=_{LlyOP*5puvoP$)z>2YA{H7k}IZS1vG^xRJ{i#91T{dgPWI5Xv9BHnu1^8Xm%P zt}th98N7N~+J4AIl(EGhsPaqmSPV7KsW?t>Y)L6(fcmE9HLc~mv_)QFW`_|g?DHKfNw;4Lv&MFk{Myi>G?TqQWn z!TbLK8iK-o70lh!6{o^Cr8Eg7w}%FvwIxZaC=jUVy~5#kZK7q9#(b#y-cnorBA|Yw zhbyE_pr1^syE`;RN?2ckqm{K(Lz#eC-8oWiPF|IPwN6P->sgej?^_l(GND^$t5 zSrMc^B1v^lZYZ^(@VvxwM;Jj07naF7NBcK=UQ4tWQhu`zaw)nDYAxOnq{Pxa zTQk=^34)X@?7kmuMn;m(*Wf&ed$JKmKB;?PAe;vXOAm>yrQfXNm7pOjaziH)GWe)p z@?-g{ncss&F=dnvTH-$Q-Jx==8&L=D*OKPBeRTv-q%^o%C(F=`PgR!7ntb z`S|Ivw3A_v()5xGxHvX6mBjc$O(%(LFll`p`>r7D5HPqUK|>_P`2B>&ONFKMBMllZ zmxQ+%nvzLLhsxgUh|WssnjYD##iQvqezAI?n`md{!sHIIZcLi}+hTU-TE{e0DcF_> zCgHU@$!wU20$snAPw-Bhw7q_reTRZB;CL}jA#bxk#ztyEkHX1+CapA-NCOm^^J`?j zn1t7tYNW1$U#F+uq;-sv*Q~r^pHCED4d68s6yV8P)PA)d zV`(+Isv>Os;v}AcL?Vefe#z3P`NMgry0*}mZryS#9=1rXFILAM0m2l=OMg?d!Yy+l zMTc6lKvMx`M zHM^lvXxhSsIpkCZeZYdyxJ_-W35^NHS{>x*leqCOOzXMr5s@Z(VQ@K`Fq8y} z(+>D{%gIt=>IN!Ik;4XDSDFnUF(H%0RZGOSsb{mNbVvw{Iq=VGd#;D52Zs)jwT;|j zP%cx1wYas5n!ibREvER==%v!APa${?JPdZ=Q9LUIg(g_EDw`aKS$M0@0j^t&v|;pl zTiDg2~Zff1s&SXV-XiMJUm(U$qg!V7B)Ncq;u4W1^xKC6e(^PDT zb%1$85oZ{EQN3j35@7+8%)x*oCxF3&9x9XTm=5_XzNUTEIoeTP-^3ZoE~z(jvtF!X z=Wau1HtZ}S2*#K!fS(C228i3S3qxlk=3f#Ru^1GTU+IDeqMB$?fls8O>@t@COVx_> z=2b*GR8ig>m4>Skq7ObsY+c~#3vLMIj%Ox3<-RPwCA=7*A#?XUIpQj{ie??9X>E0h zY!wj90~QB0SIl$Wpp4zd6PbCe(7jfI%4zVx@tKqL2?tu1e~5NI7sQh|`{P_$EXd0c18Ii?OFwFCcY9T?xA?-(*oslP$UhuSk>d z{aj(>Xu>2p5}t7{xyB)^q95ToNFHFinWI=UF%lFsPjIW0ZVD}wJ{SZH;$@d}3`(+% z!mvawDb(?=%RZngSfN5UQ93MPB^~T(kvA!&FphRgHkQK6iECPN`OI~4a?90b6)Xyz)U z$RIG{6;7BLOb{b{cN1_PaRJJ*mIE>%vWa2T51=@Qc~d1pz=sHF;L+Ma6K0c9sci<@ zLWa2>_-ACaX_R}8_oxeBPgi}zqA>;rz^V@SGDEdcuM(l4STJ@?#HcI(00gaow`Cnn zj>fRC_2N>+D=HW)vc)O_7D8Emh>ht$6sh}#XRD7$tqX1U)ylSjkbX*Y zogF|jA6bPw)8T-reLz&owKBdTbq7G_sidWXrCsOzz}3OzdD`~F0LmO4Og=Al$pgR~ z0~h}QuuEhe(|~x5fC$p)?0cH5LTGR?b<2h=#~RBkkxorkp(4w^+Yz}y3*zd_8DHNc zdxiz9<(-b<2^d=dVh4o~hY6tCSI?E6DBRikR~d=i=hoE{m4<;fkRE@F;NJpnZ%?Gm-7r$n!FN%uv}!=`Gigju!Clf z+(C=6ewfUHAt*sl&Y3%Ujhqq!3siGW0LHU%KnJB`Ge;XA2fXFP@e?LAnvEKl;%1qa zBW%wRZXpD71muKN;vo_oAxuDAB%)GlQ7}f~e2_fBg3bipusa2!jLL-QrDPq2cTwSD zrTp{oOltr=#9K+`7{#C+!cj2C#MQbO?lEt57&9`fj5w?&=x<2_4!!tgm`YJygmiTguzB!ncff0Ma+gQ;~RST3bS; zp@lH!j%WG)xpz^f8GE84Wac=`Ji|^Q)AbnK+$s7s<|^D+uB8&C-r*ABlLV&b8yNE~ zx4CXlhfJ4=k1&8L_|$iH(NUDCU}7o^bW5IXYtJ4aidbX_)M&*O8irPP-9ZCzRvf9Soo9} zvIg%%R26Qej7(xh#JOt@VTdj}K;~Tu%-c-g5USxq*pMZgoC^UOa8^feutf#uChH&C_dU_i1R4MlzF@e_xJQVNUf7r1a=Oa-jJ zFlO0@IgND}Z!mIzWtEj1VhllX6`jg41boAAmZ?p~8-NA<4KhM9V^b!e8kLDgLIhG~ zG%h+>2B2Z|+xM5vMXcBGL@$e#@tDd+%$4z){lRt{;`FP)dBixo5Cv|y)*om?Nm{BL z2!*DiVo<_3-@yeg1$9xe1&i547I*$GAIvRY&*CcGY01Xv$IKH|9Tx+Ut&v>H!`5xH zu5To~DYBC_&(FxhqR26=k|+6@7?b=HrZQbNP;mV)3Vh^PEce;VlcZl>Cy_0A*i@ER=#U3cH+Z zh`jZx6dXo_SGa*qk1cw)@2Z>R(V6bXFpa9X!YRhm^cuD@Z4+0i5)TRi8cW0CCgvSe zUF*iYOC%}9s^xqI!d}V@k-@c9e8Mj(g~r%o^2Mpo(2R93%R3e67u!zK?>V{dG z%H}CT<%|&MV0aU599JwUgwR+6BTu-Yl7=4mXjSTKvtlwK+FtEwZpkr zmL^+hF+?xKU5d~dr0QWnJT%Z{_>MRcd0b{`py8R{fDThq$pXJ9F=P!SW6@?U8>D&} zl$!i93b(MKH@l3DLxW&IAx-`!UIHB|=4I@@F)}BytQBJOz_dGAidlT-7+S1o3IZ)v zpfJF6wNQmX0F5dG*4CH?$h57cSEq23hZ7wLvr7TQtm@SsGiNXcO?;J@7cYWW%M`v? zLxIe!!aXHZ%uXV3$E0c@5MYf{h=ke$r0ojIj-?XiVskn{m@XZsW+lTA#$y1bCdNIN z`@q={s&>LKv1lV7)FM6XzEum512aA>l`SkdO70^oW#<>fpaB~PIfghCyADZDfwAu4 zU~m*UDg^p5&Nt-ZIK^&>{GL)ZnG`s8#@g;RCK}CA&VhK)vZ)%qL^#Qt?wA))P@#Rw z5(vwVx+K$|y-Y~lk)?-#w3Z{()ngwdQsR0|W$IIi+_F985$!NyD#$Kaw{i4=d1p)^ zlQOs5z>W;WaRH3wR-?*o4B`nTcJ8mF>)0`P+k@e#^r|dpFZ!SbkZ`3BxtNEUdFp7v z*ASCIopC9Et1U%m6t2BX?R4_R5p9V0T&f_zUoZxk+5xJa_C|}%wEKBQK?*P+;X}5K!Ve|aRdky@dHySNNlm*<>F*=1oGIjG=V~qT*AC$^pc*sf%o> znOK!6yQn!pr|8-aE*hs1vZWY+jYm)dmPkHGRnvW)W+o}+>mB*Kx1&ep`;FmQATL@3z%@bV=n?AMZ>OFkonwCGlNpsEMqiRny7E+>HyOM{*|z0 z7@QNXWu|7qEUw}c4a}KxWO|&=X=`LRG2U8fd<1hG#;Lr8s*bqW9jYjLsxPT%7|Y~M z_>D;*HOfj@A>ZyjN}RTX{q-nmE?uu|bZFR$+2T7Z<@pcfmtrR8ykh0Ufe2RZ%~5?v zfeFq|1O1t1M8MQh5V%ON1UiF2Dz{iX!_`zA4Jx}S?9K)`3s?Qk%~zF9LN{(bV$!8E z5>+`SG{sPZQC^{0cQ5860lY>&nk)qB8cHuw9kSO7WrmTDiN(z+B6BG#xHoWCu8;us zn=2Y2S_N1@&!|oot3T~y+-?p;7nHg?V0BckGthX7yp=bK9Q@pH095Ev_lP9U)l(|t zijGcdtV8)4xxO7hR0-G%_>G1bjDbPmOZn*x){tOIg@kBC=1{Sgjeth?9HD|%o_L_Eu2 zA`T@^IftSNxMo){RN7YM^%;3zm=h|6Q@}Vg_5;frl{uo!lg4HlSeM7}NWxlB$k}V= zQfrP&r-G@t?VFu2xV{*E^0)=BEJT6}%|a+$H~5J@sj)_e^<`I5s13p#HcWNq33_#q zj8gBno0K2rFa+iMMH7E?u3wMtJ)9^nRz6#*n0AcW6gvJohv0RVC*c4OxMpuKN^O8L z%gxLR+Z*C?5y^CI+*AaqGA=$LR-D6u1F{8bI`tElBe?G8XDO394mNAIwVys zu-r;49{`DyV8T1(TXn)!5|%QjO$BGc44_~N6fah~J|nfVNp=OJgsti^HkHk2_OnRT zK-F5QI%uysYBeGW%l?!4mbsQgvr?-5oJVA0gua=9=Ia$VNx^1GgBSKu#P-6u^!Xv%z@oS|=bS z^XA7G)ykW_S_}yM+8xRkz*6Fu!mx9VKpEhve?d0R(m8YVR$$^H239ADMztRjnSdu@ z7iTd!osywQ>57`}8U(O{2Lyf}LlXO*;atVM#(q|Y!SU=b#Z9Z&4aV1gHSSYOO_JRO zRr!=yK%u}~U$WTH6^n*Jf#PAh&|>cqzEmX7ppU6mU=82g{hEQq7lN_Lc&>VYfN@2G zO@AI`*(!F(D*CEswU~|@PQ2CZ5;Mg>1Yj*5MKwrgrVf-?S#tRZYuq&i48diU6@d~d z+b=b#Nnb|Jqe9|2BHha~3sBoAU|wN~d59UPmtNsbMk+T^b%>WtNYg6@^D)a^@>Q4b zFi)&KYG%c{$Rk>aoV`J-nqI6Gh=k3>>j2kZm=Fo7qOr*}mKy73P+)m-2#a?L6>WVS zd4wb<3b>T=iXBv^*`8pAFKGAya4&K?71Q5Y-6<)l0Ys6?mv;DW2%{QL1P62{HFEA+ zCAafvi}3@ds9Z>E0>%ZzP~0A%tN>rq_=Y2_%PmAg-eVhc9Y7>=5)6F`yvM}Jb4hg} zfn>$ZykZ_@IgTn~AA~hGMhjOd)K)i z;3Dx{UviHeBBN|@x~O!3C=;Rk>!zT1`wiqfwLxFNUdz}r zH{)Sah>IfF0522=s4LbKumD-hRV!jCK+z5fXNmCO#ueDl$+8qO>bL|R5owKpg&TSm zwuCQ;lZZcYO)(~A1QO8>Qmb=$mBay{p0EyAOi>DGrO|{B_IXu2ji(+nwyk=A8vG4UI2UVbn!30C1NxmT!4 z;gySlbq6t4voK2saq1*+3TgY>(V2k5?0bG22Z(^dWdOji9tcdp?&T5yuMSVNGBcO0nvh3)-X32aC>Ivg+d9rhnm+6E}FmY z;ED$=>-Q?tHn=^CX!FE0A=tMtv?GW(BRTT{0xg*52jK%BLa&CB(av&TZxZLwwC!Vi zoS$$a)zCSozkGO6YHYx!wV0Pi&<>G9a?=KMo>O2woy>-a6UKJ0g?=WP zTvt))5oPM8dzPplyrsfZsc>PqRnwi+p} zHo|N;NM(FV3FOBKMxoR}sQ82C7?*I)*kpmAh`Fwn9eW>u$7On= ztvH_}j)F9)oR=@2h|d-nVStbdSIbcNP^Ek9OjbEyLSLHF6BTS4KF8z|*V1cOd2S>iyWNt&rH~#x%{>@z z_uO4>zuA^mZD{_J%&1|AHU1_YW3n}u;6TwhL$(S7TCyYym8|y;hCRh)U_uJTyK2%s zu;akcBOFmt;5W{Dv&27YSD!0`?(qZe`eHVhGR&tEtdkmr!FYpvhGUU%0ESvQUIAii z)JiQio@ja)60gl?jgHAOuu30tQtm2!q+OF^1keVDQBKMN|hhpzs7rnPuWyttSzzD4Mep zsK)` zrZYNp34ALW(${6M<(pZO{n8}%yz zp?P2hyjhZ%R4aEGZqMH3N?YA^DX1?8GJ=9${l_DS{r$^5Lz8fDbmqfhDO>LhH8aHy zZH53=*)w?VIYC)Y3z9%CMEtVqJs%P@!5!P%n{UBngR~gYpy_X%Q%m_Z&J#ua`m*- zBwc}DGQeG#Zt7O->bU;^$YQ`)HFb59%u`es*vx_8u*?X`o_0hYU*cZtLhP%F3l(;c z5wmwm#H1_aONb|vIEZE{&OZ>%zId-uK#FsUK3Qx8e~6&nloWoUs~1Q65r_q}7|qJk zme7_TmG%u1=x zyF6R~Z^4Y9P++Rh^O;Ulr0CifJtA|8dZB1aSA=+(O zs%_$N0&?{%n9gr;K{?M<-_GZBd_`juD@2KQ(0MP2=2nSisO?vAwr_@65(5~Qum~{j zW>sLgibG-tz9PA>apI+U1!IHaAl$>Atc5~Re5rp>F_-?!i%UAvOW3k?Qk8kqN?hZx z*Thup%a#i)57f6Ir%&!&i&=fk7!EcwbcPlhLv>$qVNFu|hUZM*Jxr^tUx2SXOI0l%P(jGk5&T97Yj;+{Fr0$8|7P$f&GqFK*=+p)kH6 zHgMCz~%sO@of=|76;cP?XOTck>tR5v{Ly@>?scd-|api+6*+w9;3aV57w=USN11 zX>Q$hGDs_iCFEe2Q4q;ZM?_X%$Me-7%VE5Dk9GZEe52A65Ks-`f z(BKQeU?5o|S$IGTEY3fQs0EwfKQh%}psdVba~?fhM{3R4rlke8(9-R=8W$$9pCqXg z{Ei4%27lsQ1(x3(`-3vj^X3xFI`IyQ#cRYJT&@hY`j!>CSa^>^V(U#$eNVhig$)mB zcmTFw26P6bw6<4*jwPP*TX4lU$>wie*Wbk0TU0Z|4Wl4_2qjBSSjMT*$R;HSHj1lO zK!O9X-aUATfriW32Xq4HK|4~^ZDJR`{nTX9D-Wnx3wBcoRSQ_u29mp$yK0B;696NH zMQvgX)->BN1p%-70jiM55tCFa zik+Dr`TMZIl5tTJwU+e?(xYtZXA0?Z_~hr;-eE*gtiGxX%dz_rJ%P+X^V#_b?`5~t z!|X8RDp#L)hwlA?Km%qF{lKsgqv`{qhvAlC<>S#VmQJ{N^Al7BCs8EDmb)OUT5?QD z(eeF7qTJ@3%ckt1e=|@ld(5=87x@z9Ul_k|pc^{)>TnxZY@xSKubF|h0mJ>p>OJtn zX+bzh)K^UNxHKC$qrY$f`{NwIHg#O5nL>?SR&jL!+L!Rl#+G%qqI0ya{{XlLh40kL zD>02*2;VPc4I4!Q29`LvRgvPMsIj{r5Uv*Fq|`EK3jv1fsIiSZg*w$$m>ZYN3{3Dz z%)g_&b$@7ps-o}w#2SL4QH*m5a;Ceo2g+P>=yI#oPFmswT&~elIBlGB92_dY5DCo( z;w6{sGaZ`+Uyu1OmnHL(P_|%3fUiH9P-|+3Bxp#WHeWS}Z9d^y3Q8DNz#eNJeqz#q z9J+&Ig*EdXxm$=0g+CFzE8XrtNp*J%cuZE0aREbpLpblvW2n`-bk>jV1%$`d%z!EX z0DrD;8_itc2I?l}RYs~&o%3JrAS!Iq_+d-oZDow$GhIr}!}ktgOmzar%L;nAg5?Tw z@W87K9=yv+#Xbm(fLdN|H7vEs)kG}gBdy9BXvucKDxs=0qB6z6>C-5)dmQic1;HHG zHxZBl3~<8Ss8#}0c_22$huws%F?q*vO@tq_{K6*K&P@@qY)bVg3oF*V7qFBWtRIORmFQq`98{?7>hI^>q~uer6i6YN|LqFW_noMcHo=`3n5h zBxPxN>H>gN2Nd@U+76E&5s|}p(JV-0Ts_1G75-{8fzYlYcG6G`R1^ZWnZ^rcyni!s zm4gIFRhdIgMceMM{{XSHH;39aw)9VN@dJ}uxH=w&KJl!Xx)=Z}pP5sO$^O(!8v#)9 z8*araK4y9_gToiN8V?0_kbr9Hqf}X(T*b6ly~PJHOV1zXESq&Q;ux6SdpnytfcrE5 z!~io9009I60t5sE1q1^C000000RRF65d;z;1rRYoAR;hP6F^~c1{E@qp+bSN(IYeA z|Jncu0RjO5KLDj(3RI}AD@xLUT^5&ht-WegfbfQrs=A>^phxJ1_3nepG)I^t866M` zknsSk&?ov;b2JYw$P?K(0xWZ-NUBxh(y3Anp=gzBQUont>rn24fmVAaozWC)$4g43 zULMGWm7LhN9arZq2Xdq0k-NH|iZQ(k9C8}ms5ta4lSwKm+VC9HVKqCg{Dx%z01b!T zXXFw|QqJq@nD=%o9J_K&swbkDZnzeEqnJeFiKWwXOj(q{3sJ^&hc5w2_Cju=i24vmv^@*B66*yQv)Z z8YMbMj*B71um+x`WVE(6ZP{a;Oa(d+cPk1I>Bq2Hn9ez(k5C0HJYkOuA#Y*p=Hk0v zwhfmNW~PF;j6K#gHu0=%r{Tg#ZM{b6(YUirrmN|H%45uR?4*$+5>&(YRA)$q}s<6uEJ|gc!&l*++!QgNsdl(T(kx#<)Bh_Uy1Y zba;&+o0Hu9jLg(2PY+@g+M|NB+u6&vbY{&Ul@QL+x`kBmHNkJsc{nK@7SR) zWXb72JhXLLSWG?%XDp0BV|gJEht!3+#3=aF7Y+!xO3%@8rL+JdTQ78fKoGDtsbGd_!b=KQ;CWe$LJrs0B4Uqjr~z6z;0( z`CpqwPu@IwEH;&)paj@}*aaXSVN}~@fQx_@P&;Lh;q987%F*Hp-BIKYFfOpT>=qvD zY@4`JkfaygOLFB-4V108((a29gSnmY`CT5XbU02|&iTYHRTG0+hA`N^5ptmIGkzDS zY8yLsu&2mcrKmc$=&A7tj>XB&4rz7vSmUozampMp#OYomZ&Ibg=BIVtVm(4*4|W2j zrGeHGDR7D>e~jF`Ct{r#d-MU(R^Zai{{R!f3ZJu1zsI-Wn#a>Q(CWA$ zV)rxbi05{Bpw}=v-}G3E3!;06MM)O8z)r*5=lHrPFc`H7T1aqF(itjPJ;Hb`d)(EC zQpr%$-AQBYu2lg*?rDE5m%p?66vawbLSF#-N)URW9`<tDQD(OpM zKBZwbQMV2+bAA#{{(r*6>z`RwB}@9a{{ZLHEASk_%;$$zu*coV>mPqbhe@TxEGnl{ zY)Yw|HI6Mis$65bsL=D_J0R9~h4Fv4o&Nx2V{E0sozr40cIy?I%^_nIkEgk?VXmMU*wrF&l(X;^kKPfZ?~nezhZV^CC|vw1$+ zZSz&K4FtF+REEYHRx4HCO}9X=!+txf@Iu{AvTKV)ilD8~@DD`F>UXzbp{!(JhARA8 z`vlW9W5jIvpGAts*y^6f^cEjX@0IyCK;#t*3#C%i2PZ)I&BozHTVbT0iW=hEfw@%J zRP{~{lfvJrRFsjy9+nFQkI_Ao8SUYBpSbe-fb>>aS!;%$FpM`(r@Ceu*PGc=Ve!TW z%FSTe19jRwMY1`x(VK?#{D0!}=K+<}QaU#WH>#qUsRXD{g zL&YE`+jWR`idlh<9}9k`_{e2ten=b_S65KiPYL@ck@HQ*>wvd;^dG{gt)6#YSCX%o y;5=aymGT>MMnzp+T@r!fva+|PR^(frdFL*?vN;5B5t&1$Amn(5P6L?ezyH~#`;WW; diff --git a/apps/sim/public/blog/copilot/cover.png b/apps/sim/public/blog/copilot/cover.png index ff764b6b121e86ce676c8831e62da33fd0967ec4..1bff6a7a3b1188833d83c032405ce84f4269f0dc 100644 GIT binary patch literal 65330 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ⅇp6g)(iJebhooz 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

    oF(F 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

    )ks`;PKk zxN1&uhdu65qC>44y_G8YDbBHp)T=^6OQ5QFv>ed@x{HHM}Z(UP>WrtrFs%(x_lkWGJ&HQ8Vkw(@MKN!FTSx z{py_{zIe@O^l=KWKJ(LgEPLYBB_-4Q?MeOLyT4>p%Acdiq_YW_5*%cjKD<*Ma)wyz z?OoK$s+b$>0AF4dm6+HWeE7l-DG;+l6dN0E*er?{;u{-u`~ueRLJ=2|cs`Rm&&opr zlpaA;E>vC_ZP3@?Z?890&}wZ;kur2R7;eW}=t8&GDc8}C6H9+Hm&tUZw*St~HzLN; ziQmMQ2J~Yl;ZEFf&y16~TduNk>xV7AW8W1%z*4v0`=Pa_4Nk$V;whF(d2ucbNd--c z*EEOzh>)!@g!^=+qmx;@|N2g~(*y@~PjrWvUN!Hch#3dFaP1PbymebiN8$)ZxJz zwUP$TI-LVBg_b>JqI0y&-{sIB4qP>q-^*uTA~cim74ZfwZJH(fG>4 zsCDvy-v+x_N?HUIP|^jMAhg^n^;p%Xr!Kz#NP$%=o3rB$hKaeHE@Zy#TCd=@?k@|z zwahS^)660N*to`9GMR#{5h5qVrM21*XUezSoP2g>4bD5q0qN zdxUaN7d?}HB15jE%JKK)5@c^E852toF__|0_Wsj$Snfkg#V^ZMq0husKlwNMH2NR4 zzu^bEU9H}TWW{Fhg+3aAP-k@fz|bxRM(uDDE$(i8TCO7e+LH2m#e!EQsBiu~j}QPt zd>^9}4lNHYJgyj3EdEG%Uv*tVW-;CL2>P?E@fitH&Qx?gouyG!Fuv=B2UCj-_EB*dqv`-uT3_g+L(l(} zFSg!jNMw*9+7*Y=mSVQ=0@3m?&7EfnY=* zmI$5dgEVcuns!)#Urs0aFN*W0@WtWJ;8<0MD_@{QEge6s9Rm(toflLkh)%@~;b=Qk ze#9?3+?Fnq`bHHd;5D7S25v#TwfXO#)z4AV=KS2xlzrxl(1Nt@&q3gZ$p{T3$mV45lv}a?yJe2@`Mn;MPm!ABx$*+?N~4YwWYF4TQTEy_(B|*Nk8TY-1kW z;RRcqY>$ar>A|3usAZ;!X0EqfBR0TMC~-sf!$Qa?K33BRXP4he?e7<_OYk<4a9F6$ zJ2j_|Qv1b6U>?p}{DVqy>(h)vs2yjA2KpUrSF6VGY7@>5$Zt)&0frZH?WTIub*}dbl!Yd^)q*`Fjzg1_X

    ZpTJN#ab!?Ll&%`!K>c>cB@F!jstQ8GL@Uftr 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%0AoZHtj-o_B4aCyinZHGGFr{ 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�t_KPRcWU)1^uC!-PHNr60 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 MJEzpX?Ee7&*}&yLg#Z8m literal 111132 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ℑ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 literal 22021 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 diff --git a/apps/sim/public/blog/v0-5/cover.jpg b/apps/sim/public/blog/v0-5/cover.jpg index 0bb79f8dc52f4fb1cadd0a7891ba7762ec98101a..639769bf4f28808f83b4c533fb873ea81c6da0c4 100644 GIT binary patch literal 99601 zcmbrlWmH?=6E1ubT#CCCOM&91=v~H1*AkprF7JF+}u+C4FdXq9;6?@MFkfk)**ms0WdBI0T=Y& zAV2{CU<44Hfd8KmK?q1-WE52RRl@)4!v8ox|E&X<2p|BAgMb77;#ma%|3F&;eWC~> zGD0+Pw?jfks~_r4w!PRRZzsFAtYR5e63cbj7O(L^dk5Q<6Xzh!^e_2580Iy~J*#w0 zgOAvoz8ygJ<+Z2hOm3~{;48M{CUc)tk)5(}JJ$@T&VJb6jma-06`5``$ETYUQ*R@L zYB~lg&*{n%XJG=evP<%VnY$wZ#@7jw%$eBS57+fEUX|PE4W{3m;%qf-y2@7co`R|a> z!VLQ4a)wqXdSLQ;I~4Qg*ujjPxjolzOSwe*H*)llw46>xsm;4`VUkV;&RLzt{5X>f z+L>OdYxyk#0qG<)b;^tlK_RO{uHdTa_v+3=w^o(*wm6j9G&4bW;v4{g7>_3g03c4t z(vp<-(3^x|y>+Dq^#x{J@784gRrjN3>}*x(wDR;0Pk?cKe{BaTL3tmp8TkCBZc+)5 z2Z;xybg=cwGmSFHY^%*bT~ZVll#M5EtG#@L;!*r?`c9sQ)&(1c0=PMa*>(W^DLWo$ zSa^w;M;roB;|7<@U#Is>dltnc_q#vEi+;38wJ*ba6IYvRSl0uU>TQT+eDf`)L23{R0G<*< zi-{WZ-8m(0hPYkYW+2cT{h?>+BVtc`LL&;F&i|tgo;VG~(x~T*EyZlcr&k%@iczbhg#|MwI@G}P zMlM0T-X_-5w4X(TYEI2tU=Th5F4M^goSLwrCL5^p%&h|967`co>wwm`uEr z?X2(qW`&dnih>P%z2J(wMJ#(Aqjy-uTDVx`mXe!7R)APxtcIIwx%uH)vLAI?_U74H zEGQq2zrVpxtmY=2!gLS!xQn{JagR~TnY`MZ+N8a_zKe1UWY%9FJd(CQY{P*oelS5QfkSm1(v^c_`TI z-{z$!WeOatR&C2x+PgQO1-!K_si*|v!Ssz48t5A?1)I0tN>giCfu&Vfwk2aLBYX%+ zS%hv!?1qqweJ||GyFvx^H{?OGqT743>Q2vJ4qutt= zOFK{wz{k^RTI5x}veGYHOAy*iTFz6?$j`JlXe_AKm{WJ9r?2rY^scL0!kg2cMdAk& zE%|$^yB~UgP+Ba1H>6KOA%x02MW5TOl%&OFX#h2>=H^$i0uZA6HqQ*1IxAy^<3nn& z(%kSqWFpg7iUB|f*aiYlJn*ZE>YU^jWn&w&HaZ@`^icy4zhEqSXD#RRGv;qaZyR&r zfMybIdjxLN*YCqWuLI%&5BIhP`sH^116`{{h;oO8tfCccaD61qSn2=*MiB07<7}*q8|1 zQvfP9DYlfA_8<9X=-Fajf`>?}V>8vP`A4K#8qijIwfPX`01cz4KT+S7!hF5(!3T@C z?qf7#v*H}uia|Kc=I$IGAdYTXZ=E^G)J4{#XX0$$?bL{P0PI(GqTlp0YlTao){ZJZ zQizyrKSQGM>Zt z15vFZIZVg60zr6&NgBv zGQ9}A8y+!g02n}vH2j$c;ojCR)xd&nqB}v1CX>>4(e*At7&bMD%#J> zBhcXM04ISl)Tnn9<;PwKy|tjlgnU{%Pw@NA01vtP{C^PXE?lv+dI zCr1Gg>Z@w+0-vk4nwVEaRa@2-12%%y;XW6>X(~a*EvxtdfaIg0btrr=XN@3BiLcz3 z`+%7S7f#H^U2Gx4;Go&7t)}K(-y#U{GainDCF-rcaUqf~K*8qek%lEJii4wc4S~Y> zag=!$y+>4%IcIE%0Yp5EaAxyL3LVv;QMc}5Cm0cpNrI_w2un?HKi2)QjY6e=Be}C})DPn0! zlx{X0^peChhKF2{Z*SAB&!WUi;TFejQ9kRX#2|N-Iql(DuxCgAP zBY8)i9XLgZDq9FEHptVAaVQh$XmxX&5- zh;RDfiOCOHKh4*#5Sy?RYQ_CAmUZ`)`c-Sua$KWTh^O=YjBFNW>urq87A1_LhQ>Wv zW3=RVsM8`}$qD&PDnvR1`}Q>t9)+2Sj*br(C^p2nS~3;~p)5wtMydSTBMNM@HDAo} zfKCEpS+SHAw>K=}GG9RE#-9O#^>m$@U_zgEi&SlLM~-e&Zuua7M6XIID2+^y;06xm z@4*~(Guv~0wWL3CfV=@6uQ7wS@{uSU(IMjD$iZK0{g@UR1z6=Cymd@RoDx>}vu~-9 z-b^UVdJ|=Dt%@PD#oC-misbQBvJ&i2p1cEsK)6$O5Lnm|^LAv4Jl6mmB_zIi6D1Ic znTv33JT!a7O*_YrbH^g$_%NnuO8TZzKCjD7)HqoCNqk9nmc!l5{L(gMJ*m{|W{mQ7 z4i7Qp2b$Y)p^=a7CpBCSB{`{J_-_0o5MG9bP}@-4{&DKoDlWB$n=YZ4iGdUpJRrDO z$B6+dpRtwJfuc|t;cnsSQ4+o>M)r}-yE>{3QSqy{ED=naxZHOlwmRJ>+XawSl5JAD zm)&bsz2a*6_aRp@^&?hLl2$Ey+I0k;MtP=FHr^3FOjI62Kw0MtC1FmE2Y{CpnY&FZlVRW?P&Msi1HqwH#>z4I+zg^PkDLztNim0b5{ zRx*L}jD64g_o)Z)A}eKG)Si7;@}b00EN2 zlj=i5v*cRi6Cq&KDdhpH;kJboQsEGVwiYB#Q7n7Q2}TDzz{AUvHkKv7oXCTHse!SP zHB#%FwV^<#m~J*_Ona=;o8jZw2o$3)Mo@s#17qrmQd_$?Rd>vnn+A`-B7lY4RCKUV zRao|2W#-@L8R^4kR)uILyKFr%__DFIBxm2|j4m0w(G;bY?>D<%mG=D1V0bSMT6ZpM z_JJsGR=%Q(jVkj%XVv1N`Ort4Mt`#jU>-6bHwYCu2+atUOh~(E%s&<+R08x6_>(#v zNMtJMZ}Eekwg20fl%Jy_veP}mKa>Wa<5I|OUbqI%KQ3JBE?}2kzjIq?L=Nu$4|sn( z2GE*Cf|I?erT^x+5O*C3YZh{sa7Q({KMF3?v0p#-*xjb;n*AFPPAH;s-+Xj%jSrG! zZS^|!LMzUEJhRG^HH~vfatkK{3UVvD8Y)LaV8{RCo}Qba(-f9E>wBEZ`YM+zj6|;2 z*m1$!Y@>9<*o4u>lAR;jte^0Db(~kT+2ZcI80ejajJ7Mqe9dcu@GIH0tB0X+p}rzK zxEDyE_9*v88d@U8L_T|O+}P@Qqf!E{vz4yV8XqlTa~~u!?R=H9rVe@Twg#E%!r*wsgCPvo!h)+x#J`t{YBn+_ zGh)HHNEy~1yv$RgxFco&l6A7Dzw#!E2&Z~rt^M4;TnP$-;8F41|Ji(T@t4ZfVSD&C zdReO$&fhBfDSyE2N3q$Dg@e=h(EB1*A9c*7MNVy>Bo9Mmk1Bq7g$J2btmU`)q3!A? zoGtFti95SeKO&sZ`gtGV_2y+%>*9MmUShT#p%%sBaJ}jl1Br$6N z^ssXFNa#N%2172U#i;Tbq@N=0-%5jf&|Auv&gwKh&e68Ci+fRTdqw2vR|v4iCsT^^ z=d?M+mny0GzYbXY&b5+m;1ke(A3^Jxqf~{YEK8@U=?^6W@VkYefnZBpQdSfIaZut? zgQk&VaT@M<$!?$i0~RvhwH{tl$zOe`;?7t;hhXN2Tuz0)R`wrCvfygx!}RB!gsyN2 z@-dJphhi;QVyDSO#H){S{G6YmA7balY{mGIxBpK!u!TG-1HL6r%X9!k)?b0fp13z> zf#1rxn{cfh(2!P*y8baC@T>AH{HW8#wkVX)Ro`y8RllBNx! zR6fFJMWL+i`)FZIsXi6@ir)_f#Y_6Y2MV@z*d7z{wAcOxh*JXq2C?o?pBVsvAoA3t zf@CjNYpNe``p*{5UsKK)?qP|3O8yfrGc)xr)&K;DAPLmC)POh#q8uLK{1npWg8hKV zJfEf=4n|=$vQu)LU|L`GHn(M%4io^CP^7?rjqN2ae2P7$lCh88r&~OHWjI6RX}Cq7 zKqwBVvWtgv0XY5$^4{eFukC*4t_*(A>|ie|PoW^Rw~;!p%`dM>kR`TLKRM2|0*RCNymgB$8YA5GzLBDV1u^BfI`P6jvv1n## ze2E${^O2}i0fr?EpPxHd>|(nY_}w!x`p|GGj7T*-M`ZnBu#JTIas!_86txm%VX?F0 zEn5L)r!aP=I^aO#^b&(HOT{S?{@(y8Rl7nz|x&BnRib6v3C1sxSS9uSSb}i)X>+4CzEi()$SXkK$=tQlVo6S1V`Vr z`*^lQY%Hti{rS4iE^`wZ>(Bj%<4^SWKbSEHkY#;i{HcH${*%cqrAmy;(u8ddFF>H? z7kw-YEhMaF-wgn+K4wi{#(9Hs^0Eq|OLhwt`4B_#7b693FtEM8e|P75GEav!6zTRXw*XRl0tli({5%!nPZbHyU>13 z3*>u`1I|y_c%^Gni*DEW$8j`&;!)+n;O144mBQZ8L*z$s|iJ^YBc|Yll0Q#Q( zEZbliwFO8zYC4B;ZKxM9ldouKs=w65`6WsnGP=I11%ds1{Kw3R%7%V1P=LhQ32TKj ztr%Pa3psR^Hdt7A8Ohr&C=?1;4uBgTz}@5?;~2oo4qceclt%YN0(XZuuA z^&ZJd>v8$tj`*j!(r$R<5S9LI6U7bMM!*1Gb8#?;QVhOEc;X^SQbunNL`%~JZgVXI zFW2_#O6Kj`7~4?QdzG6Y{x$))2M_WZtU?5K*Y8@V0wmx0qx^0y7nv!@uNP&xz<~=w z$F0e)5CPW-Z))}WsPOayb7NG*9%ldJC7Q+I^anwqk`|LO1U|%q4H|rVeo# zGs%sLi^xiI24>WllzDE*ieBMTqGat{_e4zmgiWDWmnrX4gngZ!FN2GKd4Wg;0U|@= zD9^h%F9n9poL~Qp91F_S)My!{O;p^cm0&7uNPQ^72tZATvjbQT!j+vW!twj*09yL~ zg~e5m9#Tz|4Em*@5SADk^!QNz`X!`rKPA9vuj_sJ_jI9;aTBsdi`UyBrNbXo(fxNk z_x#^A?G??<+ zkHObF4b~tAfH+kVxQbp~p=92e_|B2C(jVXQYp^<-TmQC4;qZ|Y1G6!XnIT^DQu81ZSFEdNI4VG{d7?Mt%9v_;iG7&%> ze`p~ei8O4_LfCZ-z=2adbZmKqFZEQK*j?RJGPr|^|KWY=JNxq>No1_2Drb06a1KNb zN5JruL|xxq5t2ar)Cj&{MX=VzftQ43vu@s*+0Nd_DFOJL)bKi+B+ZPrn^8AQst*7X z|HJ^l?6{B~kP%QwXeigMTVrQ9nFQ#X<*jKKyrN%oAE%RB{gsPSes%b%@i%7fk0Mvv z4eIn*m6aMfXYb(;xnt0OTA)`jMA}vCqQ=I`L(kHMO2g4F;^F=cP6(MK=;x~SArkap zvqWNZ&744y(OzyAQsLj}?I$sY+D{qZepNl%#8 zED}!@BZLx=tJUnZ6D80Dt6DP8*-FG?iLC&5sBxe!?)|3@oKOKMLu?2v3fZDl!b0Kc zI*tkwXMY?AdtHxuvt7>1JeRj)8=f&8mmhdJ!xdCA`ReqaKamhqV_{2=N0+~}qLqLE zZ-r|F1sgl%p>z`upEyj91MfCX(T$}O+s0Dt^K7admvSnIdgbxZo59M`bneQf88^AM zizMvKYoD||G?&B8JK^;Nw*DU=deuPra(u8$!7u+E=_7?2$$3(83je)npTOUzPH^i1 zi!o_R&OF)-IkTd{{tCtjj+VvFX@RP4;T%GzrK_&T?--K zdB1pF1=_j{TsWRArE0Yw2JX~d)n}PDm#y5q!`NAbV?U)}<;wUeOk4;O@w^ELf_UBQ zzCxM8%YjP`9?Er`z5kID7;`N1&{>h(#!GSC5I|drz^{U7T+3Z%ugs6Agg6-W>(n;q zwnuR>gSRcCG0lxTdEFKscfqh@5^8S2TxACrwU%A%_s5*k-((L(Np|9IU!-ncY!~h| z*X8h};+60zJ}3UeC{O@#Fnh5-Y-`C*P0R2TB^0g=oN&Yd05O5^3V$p3Fo=grsPy>$ zC{uAml!UAb$tYrz+y5DR zL05(byxlXaI74)QHceywB^82 z_$-@x3rt=ehz*3XF_At(*ebLD z0`j<}4^BVLFD9r`ss1VS{@ATm3^>Xg^G=pM!Z3<9KG&Rj$Y#Z#Q&0(U9!qc8$))HP z<(>|xeS50FsOpGx-t z+eL?Biwl>AP+gCGsi=7dX;X9VZN2)yD2KlBGfc1Huwk^zG$03aQr^_FZ*9a3t{N^L zE@7X@t=iloj+_|$Gk`BLMuV8Z0QoG3uge9mUx+~A8>@su@p)xwP}^I&D0oJH@b?b& zjv$@9Z;{&47UBJl?4it`uALI5GZ@(M9ISNS?bK+k^%HNUZx!hd+~RT0L!E$h8#*3P zm4;yvAadBElCPYMyxS-xufN4@2UsZwk;CW33!FLL#@He9f3LqkwZnQ6`1?XA5*X)6 zR&KDX4>rgZvw18sOcTPd6!*y5%g5qr!%saG`42Fl%;Aq-9l*HZ&~zu~cLiR?Ky8*^2fr=lC9~ zl5+bkROC^AwA1<}%0tnpTUiZh1DQ~@ zia7{B!itotggZtOGM9Ojn#G4(Rgk8NKoF0Yn1PV3}<($?|y)(NIo zrPj6jytK9`Cr<6Ys%6-TW(=c-Hb~ z(r#X{T9p=>J<&ASyDwUk(z+X(+aIJiCrNUgzT{{wAD~aDxjP5SjJTLk(TEdghpkWO)vRV~|;RlJi^EG9PmiM3thDj)O9 zeXBAHpC>Em7{>$Q~YS;@qxhy98e zmh0(!%@W+xucf@?rAv87%$b&tj>!oRwzn)hR#ncvPg?Mi*|h&5*&COa2qp6^rWbU zS4N3<2I0vZ@Wx{OyeY&iGB$!CG2*gc^CX1DFnA~(bLC--*_ZcP3Q!(IhM8S&y!g(O z=Gcvy$ZQKthijHPVnuc00brHBaECo|9?crdmWwyP)%2CTtn3@JWl9iAA~{&4mkD_d z25yx@UftxmEz#qDN)NWd1GEI=buSE0a#Z1nKirDx4imQ_o+^R_DW!y#AMW;AaKS;Hu{N8 zjWfo!f(o+PX^8xZ9(#NEULF9)RjhLV_72H9a=mZJ7m1HB+0^0SSEU7MPndWeQh=sh zJT~XaQ)?N7Iy>kSnP8_(HXZ>0LL6euF`8kp`!z@eV>%KZoPG2 zPs}(!#5(L>kKVvKFp-#26|omU_SwfnUDU#DZD_oA6{Ovqy`ek^D3vAHx`L;A6&BJc zPmOX6KD+T9en60u1h4S+4UkUfKoL&;1EO=P===Z>J#6T(!=LIX z&!F^#Gt-%5iSw3e{SmQjNl!BeG0Ze~cuyz9LJV%;_6#-q@G>MSb&0dyH{rZFZl~7; zPgf&?$AHMU;_HvG^mO2+u7R332P?cbj+cmpupnx-l1IV+Cq zvIO&N*<;ihQo)aq{cO#gp;KZ*CA=VCL^g}>;Y?MhE~v2~SvCcuu_69gZO4MKAsv*V zAdEE8k63qTog!lp1y#!BwoZYMP~#dVQl_TE5(Hk>Ou8?eRn;1hV&5YDt`Qim7yw4A zsElZVz%d_0@F*9({UnJ$hG2N^6XTl3Yau9r&79XLnQpK;pj$Pkn}3}J{xuNN-!_ zH}IHEacw5G;Ewni4+MgxmB)Typ*+X;u#l(KaQvCl3(p^C;b#l$MCjYzBW`LXDK;u8 zg2U%|zj=%>`1@somESz+n*+EIC_s>^y@Gh{{8hLmp23QT`BSDQ`sRpiN-bJn#Tll^A z$^qK4s{IQQYW5Q}ZYE0oS`AyW_Z2+?X|KpEd~`qoDmV%t0%ixn=XJnlJQ@HM`BMmn zI~X$xD1h#Oz}g$bh%ShLFbf*$g|mZ{p)9NL_gZR=HY#|p&pR9d3<4t}fe{fwjP#@*$WmcU;O5 z@)QqarB{HpqrrLtAKu_c5mrjdS2WE_F%CY2Jiaj_T`^fGoaCV&yy&l%-}Xmr{@v3a z#3k2H-oBgNiLS2<8U7=Uj?{sn&UckpwQXDhkYPc>i0ONq;&xfMUep7OerL(>OeWr) zyXXdG5GnGWdo~3qHVYRyW~_p)OP(#IVl0T%&9nH!5P==f;s1bQ>t|n9XMTp;gr-YZ zr#zrw;Ka4t;e8t-Wk=Ci*3LV{hc6QU0TU8j-VXjLJnEi14F1lvG4Xo#26_kU%${1W z;@pWHvA?7^sSYY!sQzgSV8XifQDqgQUX3eeBQ>#S^tYcXv% z#?%5hZn(mcR3>sXu}U@jsaRx9i03F2;|bWRDg1dExNp10KL=MD7|EX4eaDT1pNYh3 zfcXA?Dvv1n<p;Qy0AvZz%vaqQz;exxy}i~M~jeFLuA+=8j97nl=l{$l%K>} zd~f^ymQc6(_()B1D`eE?aM&^ZQ#qk$&aAHl)7zNXz%F+2rEs(U-p0RngoNzQf1A?U zqK!U-LWONT1AEC@QKS>s!c63zYEIFv;?&3HTTH+0iX`bIvrQDggi!$g7+82zS*BRG zoCN*5QGeZ@VHg3q=W%!#EsQBrrlSc(QYlNddbN_cdY)J2KRC}@+Y=h~8aO+S#rgQX znY4J#uYCtc+U%GnKCGGy+z_UGO4g-8F5^o3s1xH=)vvlY@rK1}bh5^tpdBOttg z@M0Z6aA4?mOrLSb=_a*`iS_wLY_~KT{j?NsSG~TJaLehVWi9JmwdwtS9olT$6Txm= z;msdd+|}|tyi;u36YM?CZ|ONXRe-S^X)%1kvghSIZO=oev-G+;**K!IF$-{{rAF3Z znpga0fus$;RrKDQehE~D^r5BwjRSX!k$Bk}zeqw8O^(<#Wd8GY*>2>McDF*VPYA3?z_T_uPJT2&N zP6~n{b;rQ_(!gi(BrR*Y>`*ean>Yo%oGPRBQ>3AASn#+TZV}9xV&lLA_-{ zkB7`hH<%qz?PQD~1lBRVG+|UviuvrJ2=W#8mnDdc5kWJuov>W}pnzML-8-phkVjG4 z)V)}1wxSY>e8-votXKaBtP%eqq}SZ2o)^jQuF%`U@=(-bPrF)d zH%)YP$Fqrgb1x?PJo3`W|t4#M!_FKS|bI zw!+EW`zWn^M_lnr?g}eST}NoQ56n zdDOoGCXZL%bI~upy1c`w`)01fJVURI^d*=YEI-@s+$kI9Q9bOcJY3j3)z_#nq}j8q z?XR93T`@p!ZO9nKyc(RR*6F&y(lQyrE&nBY2vI%fV9CQ&t)igUt=_mfPZGOkvW!jH z_uJp7&qcjgr}ED0 zfjxxB%HFL=k82%tzf4F>Nn=D3J<(-Tzg)A%S7nB|rUDl1~pH9c#(mR>=*5`Mu# z(PISium1t%)4CG8Uz)6}8@=9##&QO<#df{_{kO_tUO{d}{rQ+fg#Nd|m!-i4oPzy1 ze^V(^ME5G+mM7{LQTh8*(4z@`n0eg!$pG=)mHXHE)I9CDUzdkJFsht_+8TpP4r=eG z&*r~30>sDYtC-N}ZAm%kIcTZLevpD|b}A%sA8K$NtNVaGxUzt7L? znNI$XK#~qoa}#rk@glKtO)rOYoAuj0mE9qRv%X?A4_Kqe+HLwV&#Vruj*Oy{&<H(=J5Fo#Df`k-5Bvoa1gkWIT0x-hNYbw?XjKbCwz|W(uzDBD3VA zUO(v1`jEax6RwCO`yX(~ezE_9znE3lEFKwwZRePGdN>jtjX`2^<*5RLFCKY?6ytlvaEZ~`=ngP({q}V{Sqm?{e832)5ztwnyo7zU?|3Fre)YQi|KQLM^Z5U zUT|`K!ttZ}*Ln$V*VQ~EB80M;-0$RMdNrO#N$X!X4_FUoCy7>e=-%gU1WDZSk!80o zOUkGotkNIUygiUI*+BXk|5zq>kw<3uIG6aN4qAT{{mz;fzmfRh4a8ixcyu>^PL8rY>hN-l z-IXR-F2xww`*zutCBSG`-Nvc#BcC~nqnWcl;$^KN|IYcrU|@sJrW_igzo~C|V046G zPL{qlyTGSwOF$#fGVhxq=#S;Wb%%!A$f?h=Yqd>Lj((PJJ!Q>mmn+k@U84rg*|a7t zaTgB-WKo~}Pk(haHm%7cAU)OVC=s8$BJBMSV9|CWu8Xas|J8cD5&QOlU546s&kwu9 zg_Si{i!@!_GgmV`E2oJh*b2}b_V2r#P{{Wo=>MMQqUoWs8k|W?VQofG`;F&HZAW~w zV*B7CkC73}j!^Ugk0NqOAYESX%lLXBOeXrl!)R zpV8(%Cy$W*-dl)uZM!{=p@ge~n)u){@-j0enyoW8gI@3E%A=OGy*VD_OWW*v4j{O| z{sCt2f55l0!A2`&7>f_!xJC2q*!+HMTVpWThUP=fU@F?foLS53=LISYmW0(DgDHmG zD4sfUuT+d~c}8(xr#whQ?9bGw3Mf+<0LNLYp2dS%=3$8xT$0TbPYf3VvVYQh7%U~t z2hfgL0j1Sc9qOtq6jD_pLmcsD>V3uWr}Wy^+*EFSTmFE_mhPK9kz%KiKfwxLI^w}1 zDCsU@gJ27ggZ?tN>lE1mSr)t(q|~p($2QJ08Q~LyUr};G7B7pBQmKLW1VaKZUOpGM zgNcNf%p9HLp`}q#MED^NrB_Gwn0mfwQ=MM8rDbx?4ZPC}IhTHWDT?ygJKq9iXi)c{ zNL`j-nB|S!ZvO-mS9=i`m%WM_e=n}*`WzMXw={c;B#wmv^hYLR32AkyDD6YRo%AY9 z!-jD`#}S{FO-=e3I`H`B7A0U%I>)!3`!K|*e}`|782);+vF>Bi>5#&JNdK3I<6NT*q+1)Gd6lK9c)*#Ah6_6xot8GQA+~hTC^^it zV_1KH^YERvq=zCe%r&pMi9#Nuz2@+x7eIn8oXKx$Gf6fqC}4)kG;xzZ&PSJpw1@Yy zLY!%kJ1rs9EPL#gS-Azh_CFy|4$aM{)Fk~;5z2WUwsY{|phdUv00oZp7mfPrj(7NX z^8M^xL%$%5?YuVeAzmsZ?9Ea6x12@_;VV0wrmRIvuc!jPDk0ohc;m_zw|#fvE_1oV z9aRfQ)ygh-+)nu1mTLY(>26_%?Zb}2lfWNvB1bmqxks>1^Ng?iSk~lD`InRSMyuW5 zmGILnM4Pv$4oR4X8HqLuPw+FIr$W>4wEuwArN6fS0SBTVUn{?N2#Dp41j80#DJ2-N>Qbx=2c?U^-7A?AXI8^q?n>7E%jhj)k&?B8FsRkaB?OwzzW0&s4nU|%o zE1rVmF{X;V1{hYNM2I{hupz^dP^b!9~ z-7Vtd28{Q^g}B(_so(C)GJ5C?{sJVxSg)EYU?>O{%eF^QzwWJ1sgi2AYU=sP1yh?a zeHFFT#L`x$vn=*4nQ%FWr>Hz>NSGMBO=PG`8u9g$e#rXGuV+&7Ly z<&^62+ciwLW?ppVo2<2MM~#ArOnXBGnjU`aRZntoM`XSV{axQBw0ZaqbJ-Wbld?La z`KC20T_V28H42TQM0EX|zBlu5{3R+X zO5i5QxG~O$a8mV@)f4{#X0-THFqZ+U6HKp^KXf%2DEjB{d1k2ZMd2O!?ZiE>0$6tI zQuDFR@;Em|>(cFaF*8X(MklWKP}}>%#;2moa>vY{L00FQ)P@j8wMvw)qLy(XI+O$s zi}j7J>%|!Q7M3Y=S}Q)MT$=~cHW2Ge&x{m2C8w4; z0a3BEaqFo+9;XkFf5ZJ9O-w_W1OXpqa^ru!)ZPH#nD>V6>iy6zn>QH)|_=!B|9Z|qsv}- z`c6b?Z72AWHs_s_9#gFjQ6z!2hl<*H31*auF+pbs3aNWyi-Y+lwuW%*gT8-v0 z2=Ak+YS@^RQ?o4fYFk=K(VjE_X$6x$6T)#!mhoy%hh!FgbapR?JPbTPk!>0l6UH?e zWqV6>PnS*Z!(Vwwm%{1vtwLY(1t`vWPw#f3H#bOujd^B4{{VZuo?7C2JRf6odPf=>lSCoRsF}HB$mbQu$A*IqHFsnq1^vx$2Uk z11E{GF$lxJmvaFwM)GB<8R7-{h{J+;#xv~iH$J=w-5QMLf%ATz93`<6;osTNlK!*`Z4N98p*)0_icazYrNQ!GqhXfC{ArG|2 zTn7%M@3XiZsg!bx>E2P&Hf3aotvV7Ohi@BHjG7Qlkw7_A@&?65o z*b@n}_7}NP1L_bIxJ>qtMwMNL4|CW+ujTp{arqGS7MnX&ksDA{8Mn1}9#Uk}}U=LxZt-%UX&?WI>$b;cm4s3qq{aJP6I z(fBKB@hwa#KNLXVv6E%3S)>(;E<D28! zL$NiRO`wQ{dTniK=xM68y0bDnm+^3-OjkMDVv&QOzjVZ8Nv}qov$Tc!Xk>z`My&|* zh)sUgZ=W{)=b|V({gPMi$wVaWRqRH?L39RM7@qAVZXF*EY_DhGKSLaV`S5*mK{)6! zotV43I(VU)n@4+pW)>K}yQAK(=gGPtD|Sv;C@8%zgnFTnx|sE~;HpB;WwQ9$vbgE8 zj+nJ2SY79i?3WNmW+&e|knifc`Fj3qD(?gZzmMp0qU#c&y2ib<&9^X+v#*G1t%f7) zvlkxnt&Q`e7=QsPCcabmpy@=3KXkAtcRABa1kd6-nya4wIw?e~cSE`~p5RK%C)SNP zpjFh9D3X5eHRBMEo(B=>ihPa;JlG z2USTS-*Uz(5a`F-=y-8p0XoSsr(Z<#wccDTZjePE2%_!wa!}863h}3r;#x~Y^MuRr z$Es=`TbR(0qp76JlgWjD;^1oTF7HyVpt~-9eh1^qV;KaD4^S8;q?B55VQO`7=r(cb zEn=0U_IWGhv8D8^F>GP8+}T>RYnXw>Q65Kwv@^R7c_X{^>eR1Ku#u4Y52s^Rti?6~ z!KjTGzOUA^Wi zJ2V(-HzUcCj6xTl3oTNbev`ZQ*Fw4OZ&dGdE`B)ie}H2t>0MjY>!t7;{Nks=auH<< zQKdIVkLVK*r}oV{;N(N#7YlM$BHM?~SjGEW=kgl+lnmNpcrKagpD2vrv1Z`io;cy6 zhLLP-T+{UGKVZYoGfFgPVowSg5!dan8U$0T%Sr7N0u)uOJ4y9z&C_H@L|EJY6m>f7 z_%KRYrD(zzLt{TrN@$(w!(_;M^u|tPxqKOBmloLPDATexiME} zK7XXm^mv3iQY}WZjk2B=_4NI2SXN@r6~|orY2Hy?-u%>eE+(mjbKV$Hi4H=ubxO3z zr2mhGvkYp3jka}gDDLi3iaW*K-GdX{DO%j!U0d8eIK|y5?o!;f6ql3l-gEvi88Tsp z^Z2>4EG}l`hit(j#hn^kmcClR;mi`fKYbDtc|u zB`p;Tw?qE~AAh`v6OwAoS+dHIT>F~Fy>WPNXuEZ!F((Uo>sfyLc2!mtAbrCXZ-?%@ zkqjve`IgkahVtO>Kh}^^2`n6B^R^n zmpELnB=P$2<_R}5|9M=XnmrG3IQqQneEf@`3<~S|z}!}~=8I-`H&#)SIl`B+G;G&O zb`E)xjYF&JX4c0CjNJW=yJURt#@6&e$lYwNeONkClyeT0h;g;`O7%`_fwwL?*;9oe znF^zu%ZRX)g(vp*nxy+(odBBW1Z+$yN^x^&ImhnZ(kgV7@t3bO Yu%zUI&#yeN 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�HEphh3nF7=!O{IKlUXbWM0{IEAs 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⪋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 diff --git a/apps/sim/public/library/ai-agent-ideas/cover.jpg b/apps/sim/public/library/ai-agent-ideas/cover.jpg index 2ee0dee6323378243f0d277392a6a9748c2dd6bc..03349a7716ae14c6f7736e173cfa1428ab4794cd 100644 GIT binary patch literal 107385 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°$aMS_aT) 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

    c#1@iuB6&oY8?=a)yw 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 diff --git a/apps/sim/public/library/how-to-create-an-ai-agent/cover.jpg b/apps/sim/public/library/how-to-create-an-ai-agent/cover.jpg index 286be5fcd94e3a270273796f2c1ff99c7d3fe1e5..55c9ead55c426e33e67972a29cf30835821d8731 100644 GIT binary patch literal 40106 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 z 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 literal 55996 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%0D?fd5UL>jyfWcKt!uhjpHp9t18 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 literal 133418 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 Oui*ZFUa Date: Wed, 8 Jul 2026 19:33:14 -0700 Subject: [PATCH 23/27] fix(triggers): validate 10 more webhook/polling triggers against live API docs (#5530) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(slack): guard webhook handlers against null/non-object bodies handleSlackChallenge, extractIdempotencyId, and formatInput cast the webhook body to Record without checking for null first. handleProviderChallenges runs Slack's handleChallenge unconditionally on every webhook path before the webhook row is looked up, so a POST with a literal JSON `null` body crashed with a TypeError instead of degrading gracefully, unlike sibling providers (e.g. monday.ts) that already guard this case. Switch all three to isRecordLike, matching the pattern used by other providers. * fix(stripe): guard extractIdempotencyId against non-object bodies Bring the Stripe webhook provider in line with the isRecordLike convention used by other providers (linear, sendblue, instantly) so a null/non-object body degrades gracefully instead of throwing on property access. In practice the only caller already guards against non-object bodies, so this is defense-in-depth, not a live crash fix. Adds a colocated stripe.test.ts covering signature verification (valid/invalid/wrong-secret), event-type filtering, formatInput pass-through, and extractIdempotencyId including the null-body case. * fix(github): fix workflow_run event matching and formatInput/output-schema mismatch isGitHubEventMatch's eventMap was missing an entry for github_workflow_run, so unknown-trigger fallthrough caused that trigger to fire on every GitHub event type, not just workflow_run. The provider's formatInput did a raw passthrough of the webhook body, but the trigger output schemas rename GitHub's reserved `type` field (a TriggerOutput meta-key) to `user_type`/`owner_type`, and `description` to `repo_description` for the repository object. Since formatInput never performed those renames, the declared output fields never matched real delivered data. Added alias renaming (keeping the raw keys for back-compat, matching the existing GitLab work_item_type precedent) plus null-body guards in formatInput/matchEvent and a content-based extractIdempotencyId fallback. * fix(jira): dedupe trigger-type dropdown, guard against null webhook bodies - All 15 Jira trigger files hand-rolled their own selectedTriggerId dropdown subBlock instead of using the shared buildTriggerSubBlocks helper. Since blocks/blocks/jira.ts merges every trigger's subBlocks into one array, the Jira block ended up with 15 duplicate, unconditional selectedTriggerId dropdowns. Refactored every trigger to use buildTriggerSubBlocks, with includeDropdown only on the primary jira_issue_created trigger (matches the jsm sibling module's pattern). - Removed the dead, unused fieldFilters subBlock on issue_updated (never read by matchEvent/formatInput and has no analog in Jira's own webhook admin UI, unlike jqlFilter). - Guarded all `body as Record` casts in the provider handler (matchEvent, formatInput, extractIdempotencyId) and in triggers/jira/utils.ts's extract* helpers with isRecordLike, so a malformed/scalar JSON body (e.g. literal `null`) degrades gracefully instead of throwing. - jira_webhook (generic, all-events) trigger's output schema was missing sprint/project/version keys that its formatInput branch already returns, and duplicated comment/worklog shapes that drifted from the shared builders (e.g. comment.body typed as plain string instead of ADF json). Now composed from the same buildXOutputs() helpers used by the dedicated triggers. Verified against live Atlassian webhook docs: X-Hub-Signature HMAC signing and the X-Atlassian-Webhook-Identifier header (stable across retries) are both real and already correctly implemented/allowlisted; no changes needed there. * fix(salesforce): correct setup instructions for Flow HTTP Callout auth Salesforce Flow's HTTP Callout action requires a Named Credential (and an External Credential for auth headers) pointing at the target URL — it cannot call an arbitrary URL with inline headers as the previous instructions implied. Update both the generic and per-event setup instructions to walk through creating the External/Named Credential first, and drop the inaccurate "connectivity checks" claim. * fix(hubspot): cap advanced filters to stay within HubSpot's per-group limit HubSpot's Search API rejects any filterGroup with more than 6 filters. buildUserFilters combines pipeline/stage/owner shortcuts with user-supplied JSON filters and spread them into both filter groups uncapped; Group B reserves 2 slots for the timestamp/id tie-break, so as few as 3 shortcuts plus 2 advanced filters silently broke every poll with an opaque 400 from HubSpot. Cap combined filters at 4 and warn when truncating. Added hubspot.test.ts covering buildUserFilters (shortcuts, JSON parsing, invalid-operator drop, malformed JSON, and the new cap) since the file had no prior test coverage. * test(zendesk): add handler tests for webhook trigger signature/idempotency/format-input Audited the Zendesk webhook trigger (signature verification, event matching, output-schema mapping, idempotency) against live Zendesk webhook docs and the repo's trigger conventions. No bugs found — the existing implementation already correctly uses base64 HMAC-SHA256 over timestamp+body (not hex), safeCompare, fail-closed auth, the native event-subscription payload shape (not the admin-configurable Trigger/Automation payload), and null-safe body handling. Added colocated tests to lock in this behavior, matching the gitlab/linear test pattern. * fix(microsoft-teams): persist subscription expiration, close auth/idempotency gaps - createSubscription never wrote subscriptionExpiration into providerConfig, so the renewal cron's `if (!expirationStr) continue` guard permanently skipped every Teams chat subscription — they silently expired after ~3 days (Graph's chatMessage max lifetime) and were never renewed. Persist it on both initial creation and the existing-subscription reuse path. - verifyAuth only checked HMAC when providerConfig.hmacSecret happened to be present, silently accepting unauthenticated requests for outgoing webhook triggers if it was ever missing. Fail closed instead. - extractIdempotencyId/enrichHeaders only handled Graph notification payloads (the `value` array shape), so outgoing webhook channel messages never got a stable idempotency key and fell back to a random one on every delivery. Extend to key off the Bot Framework Activity `id`, and guard the parsing with isRecordLike instead of an unchecked cast. - formatInput declared channelData.teamsTeamId/teamsChannelId in the trigger's output schema but never populated them (Teams doesn't send those as literal wire keys). Compute them from channelData.team.id / channelData.channel.id. - The block's triggers.available list only listed microsoftteams_webhook, hiding the chat subscription trigger from Copilot's block metadata tool and other consumers of that list. Add it, matching the Jira/Linear pattern for multi-trigger blocks. * fix(sentry): guard webhook handler against null/non-object body matchEvent cast body to Record without a null check, so a validly-signed webhook delivery with a null (or non-object) JSON body threw inside the shared webhook loop, aborting processing for any other webhooks sharing the same path. formatInput/extractIdempotencyId already tolerated null via `|| {}`/optional chaining but didn't match the isRecordLike convention used by sibling providers (linear, sendblue, instantly). Aligned all three methods on isRecordLike and added regression tests for a null body. * fix(twilio): guard SMS and Voice webhook handlers against non-object body matchEvent, extractIdempotencyId, and formatInput cast body directly to Record without checking it was actually an object, so a malformed or non-form-encoded request (e.g. JSON body "null") would throw instead of degrading gracefully. Use isRecordLike, matching the pattern already used in linear.ts/sendblue.ts/instantly.ts. * chore(slack): convert inline rationale comments to TSDoc Adversarial re-audit of the null-body-guard fix: no correctness issues found, backwards compatibility confirmed strictly additive. Per repo convention, converts non-TSDoc inline // comments in slack.ts to TSDoc blocks on the relevant declarations (formatSlackInteractive, extractIdempotencyId, formatInput) and drops two low-value inline comments in slack.test.ts that just restated adjacent assertions. * test(github): add negative alias test, remove extraneous inline comments Adversarial re-audit of the workflow_run/formatInput fix: eventMap now covers all 11 GitHub trigger IDs (verified exhaustively against every file in triggers/github/), and withGitHubUserTypeAliases only augments objects shaped like a GitHub user (login+type strings) rather than renaming every `type` key in the tree. Added a test proving an unrelated nested `type` field (e.g. an issue label) is left untouched. Removed inline // comments that only restated the code; folded the two genuinely non-obvious GitHub semantics (issue_comment firing for both issues and PRs, closed vs merged pull requests) into the function's TSDoc. * chore(jira): drop extraneous inline comments from second-pass re-audit Removed self-evident line comments in isJiraEventMatch() and the jira_webhook output-schema composition — the code (variable/function names) already says what these restated. * fix(salesforce): add missing permission-set and async-path steps to Flow setup instructions Re-verified the Named Credential setup instructions against live Salesforce docs. Two required steps were still missing: (1) the Flow's running user (Automated Process user for record-triggered flows) needs a permission set granting External Credential Principal Access, or the callout fails auth even with a correctly configured Named Credential; (2) record-triggered flows can only perform callouts on the Run Asynchronously path. * fix(hubspot): fail loudly instead of silently truncating over-limit filters Filters within a HubSpot Search API filterGroup are AND-combined, so silently dropping the last N filters when the combined shortcut + advanced-filter count exceeded MAX_USER_FILTERS widened the match set instead of narrowing it — a poll could start matching records the user's config meant to exclude, firing the workflow on unintended records with no visible error. That's worse than the original hard-400 bug, which was at least loud. buildUserFilters now throws when the combined count exceeds the limit, which pollWebhook's existing catch turns into a visible markWebhookFailed, matching how every other misconfiguration in this file (missing objectType, invalid eventType, corrupt watermark) is already handled. Re-derived the cap arithmetic against HubSpot's live docs (developers.hubspot.com/docs/api/crm/search): max 6 filters per filterGroup, 5 groups, 18 total. Group B reserves 2 slots (filterProperty EQ + hs_object_id GT tie-break), so MAX_USER_FILTERS = 4 is exact — not off by one in either direction. * fix(zendesk): validate subdomain as a bare hostname label createSubscription/deleteSubscription interpolate the user-supplied subdomain directly into the Zendesk API URL (`https://${subdomain}.zendesk.com`). An unvalidated value containing a '/' (e.g. "evil.example.com/x") escapes the host portion of the URL, redirecting the request — and its Basic-auth admin credentials — to an attacker-controlled host. Unlike the equivalent pattern in apps/sim/tools/zendesk (invoked only when a user explicitly runs a block with their own credentials), this fires automatically on deploy and undeploy using admin-scoped API tokens, making it the more acute instance of the pattern. Reject anything but letters, digits, and internal hyphens. Also drops a few restated-in-code inline comments per repo convention. * fix(triggers): restore jira fieldFilters as a real feature, fix twilio-voice status collision jira: the second-pass audit removed the `fieldFilters` subBlock on issue_updated as "dead code, never read" — true, but that meant the feature was already non-functional before removal (a UI control promising field-level filtering that did nothing), and removing it silently dropped an already-visible control from the merged block UI (flagged independently by both Greptile and Cursor). Rather than either reinstating a broken control or leaving it removed, implement the feature for real: matchEvent now checks the comma-separated field list against Jira's changelog.items[].field on issue_updated deliveries, matching Jira's actual webhook payload shape. twilio-voice: extractIdempotencyId keyed on CallSid alone, so every status callback for a call (ringing/in-progress/completed/etc) shared one idempotency key and only the first was ever processed — later CallStatus transitions were silently dropped as duplicates. Fixed to include CallStatus in the key, matching the SMS handler's existing SID:status pattern. Also converted an inline rationale comment in the SMS handler to TSDoc for consistency with the rest of this cleanup. * fix(twilio-voice): key idempotency on all callback discriminators, not just status CallStatus/RecordingStatus/TranscriptionStatus share overlapping values (e.g. 'completed'), and Gather turns / recording events fan out multiple distinct deliveries under one CallSid while CallStatus itself stays unchanged. Build the key from field=value pairs across every known discriminator (CallStatus, Digits, SpeechResult, RecordingSid, RecordingStatus, TranscriptionSid, TranscriptionStatus) so callback kinds can never collide on a shared value, while identical retries still dedupe. * chore(github-trigger): remove extraneous inline comment Round 3 re-audit: verified push event handling (commits[].author/ committer, head_commit, pusher) is correctly excluded from the GitHub-user type-alias walk since those objects lack login+type, so no output-schema drift. No functional issues found. Removed a leftover inline // comment in the generic webhook trigger's output schema per repo comment conventions. * fix(stripe-trigger): add missing 2025 event types to eventTypes allowlist invoice.payment_attempt_required and balance_settings.updated shipped in Stripe's 2025-10-29 API update but were missing from the trigger's curated eventTypes dropdown despite their categories (Invoices, Balance) already being represented. * fix(salesforce-trigger): document required Allow Formulas in HTTP Header checkbox Setup instructions told admins to add a Named Credential custom header using a $Credential formula, but never mentioned that the "Allow Formulas in HTTP Header" checkbox must be checked when adding that header. Left unchecked, Salesforce sends the literal "{!\$Credential...}" text instead of evaluating it, so the shared-secret auth silently fails. * fix(slack): skip block_suggestion payloads instead of wastefully executing workflows block_suggestion (external select option loading) requires Slack to receive a synchronous JSON options response within 3 seconds, which this trigger's async fire-and-forget webhook execution model can never provide. It was previously routed through the generic interactivity handler like block_actions/shortcut/view_submission, meaning every keystroke in an external-select typeahead would silently trigger a full (useless) workflow execution. Now explicitly skipped via the existing skip mechanism. * fix(microsoftteams): recreate Teams subscription when renewal PATCH 404s If every renewal attempt in a subscription's 48h renewal window failed (revoked consent, prolonged Graph outage), the subscription actually expired on Microsoft's side and the cron kept PATCHing a deleted subscription forever, always 404ing, with the webhook silently dead. Now a 404/410 from the renewal PATCH triggers a POST to recreate the subscription from the stored chatId, closing the same "never comes back" failure mode the original bug had, for the narrower case where renewal itself keeps failing. Also dedupes getCredentialOwner onto the shared provider-subscription-utils helper instead of a local copy, and drops a couple of restated-in-code comments. --- .../app/api/cron/renew-subscriptions/route.ts | 118 +++++-- apps/sim/blocks/blocks/microsoft_teams.ts | 2 +- apps/sim/lib/webhooks/polling/hubspot.test.ts | 95 ++++++ apps/sim/lib/webhooks/polling/hubspot.ts | 20 +- .../sim/lib/webhooks/providers/github.test.ts | 246 ++++++++++++++ apps/sim/lib/webhooks/providers/github.ts | 104 +++++- apps/sim/lib/webhooks/providers/jira.test.ts | 196 ++++++++++++ apps/sim/lib/webhooks/providers/jira.ts | 41 ++- .../providers/microsoft-teams.test.ts | 106 ++++++- .../lib/webhooks/providers/microsoft-teams.ts | 92 ++++-- .../sim/lib/webhooks/providers/sentry.test.ts | 38 +++ apps/sim/lib/webhooks/providers/sentry.ts | 29 +- apps/sim/lib/webhooks/providers/slack.test.ts | 53 +++- apps/sim/lib/webhooks/providers/slack.ts | 73 +++-- .../sim/lib/webhooks/providers/stripe.test.ts | 151 +++++++++ apps/sim/lib/webhooks/providers/stripe.ts | 14 +- .../webhooks/providers/twilio-voice.test.ts | 119 +++++++ .../lib/webhooks/providers/twilio-voice.ts | 40 ++- .../sim/lib/webhooks/providers/twilio.test.ts | 20 ++ apps/sim/lib/webhooks/providers/twilio.ts | 19 +- .../lib/webhooks/providers/zendesk.test.ts | 299 ++++++++++++++++++ apps/sim/lib/webhooks/providers/zendesk.ts | 26 +- apps/sim/triggers/github/utils.ts | 38 ++- apps/sim/triggers/github/webhook.ts | 1 - apps/sim/triggers/jira/comment_deleted.ts | 72 +---- apps/sim/triggers/jira/comment_updated.ts | 72 +---- apps/sim/triggers/jira/issue_commented.ts | 72 +---- apps/sim/triggers/jira/issue_created.ts | 84 ++--- apps/sim/triggers/jira/issue_deleted.ts | 72 +---- apps/sim/triggers/jira/issue_updated.ts | 86 +---- apps/sim/triggers/jira/project_created.ts | 56 +--- apps/sim/triggers/jira/sprint_closed.ts | 56 +--- apps/sim/triggers/jira/sprint_created.ts | 56 +--- apps/sim/triggers/jira/sprint_started.ts | 56 +--- apps/sim/triggers/jira/utils.ts | 78 ++++- apps/sim/triggers/jira/version_released.ts | 56 +--- apps/sim/triggers/jira/webhook.ts | 147 ++------- apps/sim/triggers/jira/worklog_created.ts | 72 +---- apps/sim/triggers/jira/worklog_deleted.ts | 72 +---- apps/sim/triggers/jira/worklog_updated.ts | 72 +---- apps/sim/triggers/salesforce/utils.ts | 16 +- apps/sim/triggers/stripe/webhook.ts | 5 + 42 files changed, 2116 insertions(+), 1024 deletions(-) create mode 100644 apps/sim/lib/webhooks/polling/hubspot.test.ts create mode 100644 apps/sim/lib/webhooks/providers/github.test.ts create mode 100644 apps/sim/lib/webhooks/providers/jira.test.ts create mode 100644 apps/sim/lib/webhooks/providers/stripe.test.ts create mode 100644 apps/sim/lib/webhooks/providers/zendesk.test.ts diff --git a/apps/sim/app/api/cron/renew-subscriptions/route.ts b/apps/sim/app/api/cron/renew-subscriptions/route.ts index 9dcc8375623..4728f0fd666 100644 --- a/apps/sim/app/api/cron/renew-subscriptions/route.ts +++ b/apps/sim/app/api/cron/renew-subscriptions/route.ts @@ -1,5 +1,5 @@ import { db } from '@sim/db' -import { account, webhook as webhookTable } from '@sim/db/schema' +import { webhook as webhookTable } from '@sim/db/schema' import { createLogger } from '@sim/logger' import { generateShortId } from '@sim/utils/id' import { and, eq, or } from 'drizzle-orm' @@ -8,7 +8,8 @@ import { verifyCronAuth } from '@/lib/auth/internal' import { acquireLock, releaseLock } from '@/lib/core/config/redis' import { runDetached } from '@/lib/core/utils/background' import { withRouteHandler } from '@/lib/core/utils/with-route-handler' -import { refreshAccessTokenIfNeeded, resolveOAuthAccountId } from '@/app/api/auth/oauth/utils' +import { getCredentialOwner, getNotificationUrl } from '@/lib/webhooks/provider-subscription-utils' +import { refreshAccessTokenIfNeeded } from '@/app/api/auth/oauth/utils' const logger = createLogger('TeamsSubscriptionRenewal') @@ -16,23 +17,58 @@ const LOCK_KEY = 'teams-subscription-renewal-lock' /** Lock TTL in seconds — generous enough to cover the Graph API renewal loop. */ const LOCK_TTL_SECONDS = 300 -async function getCredentialOwner( - credentialId: string -): Promise<{ userId: string; accountId: string } | null> { - const resolved = await resolveOAuthAccountId(credentialId) - if (!resolved) { - logger.error(`Failed to resolve OAuth account for credential ${credentialId}`) +/** Microsoft Graph subscriptions are hard-capped at ~3 days. */ +const MAX_LIFETIME_MINUTES = 4230 + +/** + * Recreate a Teams chat subscription from scratch after the existing one has + * actually expired on Microsoft's side (PATCH returns 404/410). Without this, + * a subscription that expires while every renewal attempt in its 48h window + * failed (revoked consent, prolonged Graph outage, etc.) would stay dead + * forever — the webhook remains `isActive` but never receives events again. + */ +async function recreateSubscription( + webhook: Record, + config: Record, + accessToken: string +): Promise<{ id: string; expirationDateTime: string } | null> { + const chatId = config.chatId as string | undefined + if (!chatId) { + logger.error(`Missing chatId for webhook ${webhook.id}, cannot recreate subscription`) + return null + } + + const notificationUrl = getNotificationUrl(webhook) + const expirationDateTime = new Date(Date.now() + MAX_LIFETIME_MINUTES * 60 * 1000).toISOString() + + const res = await fetch('https://graph.microsoft.com/v1.0/subscriptions', { + method: 'POST', + headers: { + Authorization: `Bearer ${accessToken}`, + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + changeType: 'created,updated', + notificationUrl, + lifecycleNotificationUrl: notificationUrl, + resource: `/chats/${chatId}/messages`, + includeResourceData: false, + expirationDateTime, + clientState: webhook.id, + }), + }) + + if (!res.ok) { + const error = await res.json() + logger.error(`Failed to recreate Teams subscription for webhook ${webhook.id}`, { + status: res.status, + error: error.error, + }) return null } - const [credentialRecord] = await db - .select({ userId: account.userId }) - .from(account) - .where(eq(account.id, resolved.accountId)) - .limit(1) - - return credentialRecord - ? { userId: credentialRecord.userId, accountId: resolved.accountId } - : null + + const payload = await res.json() + return { id: payload.id as string, expirationDateTime: payload.expirationDateTime as string } } /** @@ -53,7 +89,6 @@ async function renewExpiringSubscriptions(): Promise<{ let totalFailed = 0 let totalChecked = 0 - // Get all active Microsoft Teams webhooks const webhooksWithWorkflows = await db .select({ webhook: webhookTable, @@ -73,22 +108,22 @@ async function renewExpiringSubscriptions(): Promise<{ `Found ${webhooksWithWorkflows.length} active Teams webhooks, checking for expiring subscriptions` ) - // Renewal threshold: 48 hours before expiration + /** Renew any subscription expiring within the next 48 hours. */ const renewalThreshold = new Date(Date.now() + 48 * 60 * 60 * 1000) for (const { webhook } of webhooksWithWorkflows) { const config = (webhook.providerConfig as Record) || {} - // Check if this is a Teams chat subscription that needs renewal if (config.triggerId !== 'microsoftteams_chat_subscription') continue const expirationStr = config.subscriptionExpiration as string | undefined if (!expirationStr) continue const expiresAt = new Date(expirationStr) - if (expiresAt > renewalThreshold) continue // Not expiring soon + if (expiresAt > renewalThreshold) continue totalChecked++ + const requestId = `renewal-${webhook.id}` try { logger.info( @@ -104,18 +139,17 @@ async function renewExpiringSubscriptions(): Promise<{ continue } - const credentialOwner = await getCredentialOwner(credentialId) + const credentialOwner = await getCredentialOwner(credentialId, requestId) if (!credentialOwner) { logger.error(`Credential owner not found for credential ${credentialId}`) totalFailed++ continue } - // Get fresh access token const accessToken = await refreshAccessTokenIfNeeded( credentialOwner.accountId, credentialOwner.userId, - `renewal-${webhook.id}` + requestId ) if (!accessToken) { @@ -124,10 +158,8 @@ async function renewExpiringSubscriptions(): Promise<{ continue } - // Extend subscription to maximum lifetime (4230 minutes = ~3 days) - const maxLifetimeMinutes = 4230 const newExpirationDateTime = new Date( - Date.now() + maxLifetimeMinutes * 60 * 1000 + Date.now() + MAX_LIFETIME_MINUTES * 60 * 1000 ).toISOString() const res = await fetch( @@ -142,22 +174,40 @@ async function renewExpiringSubscriptions(): Promise<{ } ) + let newSubscriptionId: string | undefined + let newExpiration: string | undefined + if (!res.ok) { const error = await res.json() logger.error( `Failed to renew Teams subscription ${externalSubscriptionId} for webhook ${webhook.id}`, { status: res.status, error: error.error } ) - totalFailed++ - continue - } - const payload = await res.json() + if (res.status === 404 || res.status === 410) { + const recreated = await recreateSubscription(webhook, config, accessToken) + if (!recreated) { + totalFailed++ + continue + } + newSubscriptionId = recreated.id + newExpiration = recreated.expirationDateTime + logger.info( + `Recreated Teams subscription for webhook ${webhook.id} after the previous one expired (new id: ${newSubscriptionId})` + ) + } else { + totalFailed++ + continue + } + } else { + const payload = await res.json() + newExpiration = payload.expirationDateTime as string + } - // Update webhook config with new expiration const updatedConfig = { ...config, - subscriptionExpiration: payload.expirationDateTime, + ...(newSubscriptionId ? { externalSubscriptionId: newSubscriptionId } : {}), + subscriptionExpiration: newExpiration, } await db @@ -166,7 +216,7 @@ async function renewExpiringSubscriptions(): Promise<{ .where(eq(webhookTable.id, webhook.id)) logger.info( - `Successfully renewed Teams subscription for webhook ${webhook.id}. New expiration: ${payload.expirationDateTime}` + `Successfully renewed Teams subscription for webhook ${webhook.id}. New expiration: ${newExpiration}` ) totalRenewed++ } catch (error) { diff --git a/apps/sim/blocks/blocks/microsoft_teams.ts b/apps/sim/blocks/blocks/microsoft_teams.ts index 81e6462cb8d..1b4b093b817 100644 --- a/apps/sim/blocks/blocks/microsoft_teams.ts +++ b/apps/sim/blocks/blocks/microsoft_teams.ts @@ -532,7 +532,7 @@ export const MicrosoftTeamsBlock: BlockConfig = { }, triggers: { enabled: true, - available: ['microsoftteams_webhook'], + available: ['microsoftteams_webhook', 'microsoftteams_chat_subscription'], }, } diff --git a/apps/sim/lib/webhooks/polling/hubspot.test.ts b/apps/sim/lib/webhooks/polling/hubspot.test.ts new file mode 100644 index 00000000000..286fedc98a0 --- /dev/null +++ b/apps/sim/lib/webhooks/polling/hubspot.test.ts @@ -0,0 +1,95 @@ +/** + * @vitest-environment node + */ +import { describe, expect, it } from 'vitest' +import { buildUserFilters } from '@/lib/webhooks/polling/hubspot' + +describe('buildUserFilters', () => { + it('translates pipeline/stage/owner shortcuts into EQ filters', () => { + const filters = buildUserFilters({ + objectType: 'deal', + pipelineId: 'pipeline-1', + stageId: 'stage-1', + ownerId: 'owner-1', + }) + + expect(filters).toEqual([ + { propertyName: 'pipeline', operator: 'EQ', value: 'pipeline-1' }, + { propertyName: 'dealstage', operator: 'EQ', value: 'stage-1' }, + { propertyName: 'hubspot_owner_id', operator: 'EQ', value: 'owner-1' }, + ]) + }) + + it('uses ticket-specific pipeline/stage property names', () => { + const filters = buildUserFilters({ + objectType: 'ticket', + pipelineId: 'pipeline-1', + stageId: 'stage-1', + }) + + expect(filters).toEqual([ + { propertyName: 'hs_pipeline', operator: 'EQ', value: 'pipeline-1' }, + { propertyName: 'hs_pipeline_stage', operator: 'EQ', value: 'stage-1' }, + ]) + }) + + it('parses advanced JSON filters and preserves values arrays', () => { + const filters = buildUserFilters({ + filters: JSON.stringify([ + { propertyName: 'lifecyclestage', operator: 'EQ', value: 'customer' }, + { propertyName: 'dealstage', operator: 'IN', values: ['a', 'b'] }, + ]), + }) + + expect(filters).toEqual([ + { propertyName: 'lifecyclestage', operator: 'EQ', value: 'customer' }, + { propertyName: 'dealstage', operator: 'IN', values: ['a', 'b'] }, + ]) + }) + + it('drops filter entries with an unrecognized operator', () => { + const filters = buildUserFilters({ + filters: JSON.stringify([ + { propertyName: 'amount', operator: 'STARTS_WITH', value: '1' }, + { propertyName: 'amount', operator: 'GT', value: '1' }, + ]), + }) + + expect(filters).toEqual([{ propertyName: 'amount', operator: 'GT', value: '1' }]) + }) + + it('ignores malformed JSON filters without throwing', () => { + expect(() => buildUserFilters({ filters: 'not json' })).not.toThrow() + expect(buildUserFilters({ filters: 'not json' })).toEqual([]) + }) + + it('allows exactly the HubSpot per-group limit of combined filters', () => { + const filters = buildUserFilters({ + objectType: 'deal', + pipelineId: 'pipeline-1', + stageId: 'stage-1', + ownerId: 'owner-1', + filters: JSON.stringify([{ propertyName: 'amount', operator: 'GT', value: '1000' }]), + }) + + // 3 shortcuts + 1 advanced = 4, exactly MAX_USER_FILTERS. + expect(filters).toHaveLength(4) + }) + + it('throws rather than silently dropping filters when the combined count exceeds the limit', () => { + // Filters within a filterGroup are AND-combined, so silently dropping one would widen + // the match set instead of narrowing it — throwing surfaces the misconfiguration loudly. + expect(() => + buildUserFilters({ + objectType: 'deal', + pipelineId: 'pipeline-1', + stageId: 'stage-1', + ownerId: 'owner-1', + filters: JSON.stringify([ + { propertyName: 'amount', operator: 'GT', value: '1000' }, + { propertyName: 'lifecyclestage', operator: 'EQ', value: 'customer' }, + ]), + }) + ).toThrow(/exceeding the 4-filter limit/) + }) +}) diff --git a/apps/sim/lib/webhooks/polling/hubspot.ts b/apps/sim/lib/webhooks/polling/hubspot.ts index 65c64ecffa7..a854f28511b 100644 --- a/apps/sim/lib/webhooks/polling/hubspot.ts +++ b/apps/sim/lib/webhooks/polling/hubspot.ts @@ -101,6 +101,13 @@ const MAX_MAX_RECORDS = 1000 const MAX_PAGES_PER_POLL = 10 /** Cap on property-change snapshot size to bound providerConfig payload. */ const MAX_SNAPSHOT_SIZE = 1000 +/** + * HubSpot Search API caps each filterGroup at 6 filters (developers.hubspot.com/docs/api/crm/search). + * `buildBody` reserves 2 slots in Group B (filterProperty EQ + hs_object_id GT), so + * user-supplied filters (pipeline/stage/owner shortcuts plus advanced JSON filters) must + * leave room for those — cap at 4 so Group B never exceeds 6. + */ +const MAX_USER_FILTERS = 4 const BUILT_IN_PATH: Record = { contact: 'contacts', @@ -530,14 +537,13 @@ function resolveRequestedProperties( return [...requested] } -function buildUserFilters( +export function buildUserFilters( config: HubSpotWebhookConfig, logger?: Logger, requestId?: string ): FilterClause[] { const filters: FilterClause[] = [] - // Shortcut fields translate to common HubSpot filter conditions. if (config.pipelineId?.trim()) { const property = config.objectType === 'ticket' ? 'hs_pipeline' : 'pipeline' filters.push({ propertyName: property, operator: 'EQ', value: config.pipelineId.trim() }) @@ -577,6 +583,16 @@ function buildUserFilters( } } + // Filters within a filterGroup are AND-combined, so dropping any of them would silently + // widen the match set (matching records the user's config meant to exclude) rather than + // just failing the request — a worse outcome than a loud poll failure. Throw instead so + // the webhook is marked failed and the user can trim their filter configuration. + if (filters.length > MAX_USER_FILTERS) { + throw new Error( + `[${requestId ?? ''}] HubSpot webhook has ${filters.length} combined filters (pipeline/stage/owner shortcuts + advanced filters), exceeding the ${MAX_USER_FILTERS}-filter limit HubSpot's Search API allows alongside the reserved cursor filters. Reduce the number of filters.` + ) + } + return filters } diff --git a/apps/sim/lib/webhooks/providers/github.test.ts b/apps/sim/lib/webhooks/providers/github.test.ts new file mode 100644 index 00000000000..b7d8978d077 --- /dev/null +++ b/apps/sim/lib/webhooks/providers/github.test.ts @@ -0,0 +1,246 @@ +/** + * @vitest-environment node + */ +import { NextRequest } from 'next/server' +import { describe, expect, it } from 'vitest' +import { githubHandler } from '@/lib/webhooks/providers/github' +import { isGitHubEventMatch } from '@/triggers/github/utils' + +function reqWithHeaders(headers: Record): NextRequest { + return new NextRequest('http://localhost/test', { headers }) +} + +describe('GitHub webhook provider', () => { + it('verifyAuth allows unsigned requests when no webhookSecret is configured', () => { + const res = githubHandler.verifyAuth!({ + request: reqWithHeaders({}), + rawBody: '{}', + requestId: 't1', + providerConfig: {}, + webhook: {}, + workflow: {}, + }) + expect(res).toBeNull() + }) + + it('verifyAuth rejects when the signature header is missing but a secret is configured', () => { + const res = githubHandler.verifyAuth!({ + request: reqWithHeaders({}), + rawBody: '{}', + requestId: 't2', + providerConfig: { webhookSecret: 'my-secret' }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('verifyAuth rejects an invalid X-Hub-Signature-256', () => { + const res = githubHandler.verifyAuth!({ + request: reqWithHeaders({ 'X-Hub-Signature-256': 'sha256=deadbeef' }), + rawBody: '{}', + requestId: 't3', + providerConfig: { webhookSecret: 'my-secret' }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('verifyAuth accepts a valid X-Hub-Signature-256', async () => { + const crypto = await import('crypto') + const body = '{"action":"opened"}' + const secret = 'my-secret' + const signature = `sha256=${crypto.createHmac('sha256', secret).update(body, 'utf8').digest('hex')}` + const res = githubHandler.verifyAuth!({ + request: reqWithHeaders({ 'X-Hub-Signature-256': signature }), + rawBody: body, + requestId: 't4', + providerConfig: { webhookSecret: secret }, + webhook: {}, + workflow: {}, + }) + expect(res).toBeNull() + }) + + it('isGitHubEventMatch matches workflow_run events to the workflow_run trigger only', () => { + expect(isGitHubEventMatch('github_workflow_run', 'workflow_run')).toBe(true) + expect(isGitHubEventMatch('github_workflow_run', 'push')).toBe(false) + expect(isGitHubEventMatch('github_workflow_run', 'issues')).toBe(false) + }) + + it('isGitHubEventMatch distinguishes issue comments from PR comments', () => { + expect( + isGitHubEventMatch('github_issue_comment', 'issue_comment', undefined, { issue: {} }) + ).toBe(true) + expect( + isGitHubEventMatch('github_issue_comment', 'issue_comment', undefined, { + issue: { pull_request: { url: 'x' } }, + }) + ).toBe(false) + expect( + isGitHubEventMatch('github_pr_comment', 'issue_comment', undefined, { + issue: { pull_request: { url: 'x' } }, + }) + ).toBe(true) + }) + + it('matchEvent passes through all events for the generic webhook trigger', async () => { + const result = await githubHandler.matchEvent!({ + body: { action: 'opened' }, + requestId: 't5', + providerConfig: { triggerId: 'github_webhook' }, + webhook: {}, + workflow: {}, + request: reqWithHeaders({ 'x-github-event': 'push' }), + }) + expect(result).toBe(true) + }) + + it('matchEvent filters events that do not match the configured trigger', async () => { + const result = await githubHandler.matchEvent!({ + body: { action: 'opened' }, + requestId: 't6', + providerConfig: { triggerId: 'github_workflow_run' }, + webhook: {}, + workflow: {}, + request: reqWithHeaders({ 'x-github-event': 'push' }), + }) + expect(result).toBe(false) + }) + + it('matchEvent does not throw when the body is null', async () => { + await expect( + githubHandler.matchEvent!({ + body: null, + requestId: 't7', + providerConfig: { triggerId: 'github_pr_comment' }, + webhook: {}, + workflow: {}, + request: reqWithHeaders({ 'x-github-event': 'issue_comment' }), + }) + ).resolves.toBe(false) + }) + + it('formatInput does not throw when the body is null', async () => { + const { input } = await githubHandler.formatInput!({ + body: null, + headers: { 'x-github-event': 'push' }, + requestId: 't8', + webhook: {}, + workflow: { id: 'w', userId: 'u' }, + }) + const i = input as Record + expect(i.event_type).toBe('push') + expect(i.action).toBe('') + }) + + it('formatInput exposes user.type as user_type, keeping the raw type key too', async () => { + const { input } = await githubHandler.formatInput!({ + body: { + action: 'opened', + issue: { id: 1, user: { login: 'octocat', type: 'User' } }, + }, + headers: { 'x-github-event': 'issues' }, + requestId: 't9', + webhook: {}, + workflow: { id: 'w', userId: 'u' }, + }) + const i = input as Record + const issue = i.issue as Record + const user = issue.user as Record + expect(user.user_type).toBe('User') + expect(user.type).toBe('User') + }) + + it('formatInput exposes repository.owner.type as owner_type', async () => { + const { input } = await githubHandler.formatInput!({ + body: { + action: 'opened', + repository: { full_name: 'octocat/hello', owner: { login: 'octocat', type: 'User' } }, + }, + headers: { 'x-github-event': 'issues' }, + requestId: 't10', + webhook: {}, + workflow: { id: 'w', userId: 'u' }, + }) + const i = input as Record + const repository = i.repository as Record + const owner = repository.owner as Record + expect(owner.owner_type).toBe('User') + expect(owner.user_type).toBe('User') + }) + + it('formatInput exposes repository.description as repo_description, keeping the raw description key too', async () => { + const { input } = await githubHandler.formatInput!({ + body: { + action: 'opened', + repository: { full_name: 'octocat/hello', description: 'A test repo' }, + }, + headers: { 'x-github-event': 'issues' }, + requestId: 't11', + webhook: {}, + workflow: { id: 'w', userId: 'u' }, + }) + const i = input as Record + const repository = i.repository as Record + expect(repository.repo_description).toBe('A test repo') + expect(repository.description).toBe('A test repo') + }) + + it('formatInput does not alias a nested `type` field on objects that are not user-like', async () => { + const { input } = await githubHandler.formatInput!({ + body: { + action: 'labeled', + issue: { + id: 1, + label: { name: 'bug', color: 'ff0000', type: 'default' }, + }, + }, + headers: { 'x-github-event': 'issues' }, + requestId: 't13', + webhook: {}, + workflow: { id: 'w', userId: 'u' }, + }) + const i = input as Record + const issue = i.issue as Record + const label = issue.label as Record + expect(label.type).toBe('default') + expect(label.user_type).toBeUndefined() + expect(label.owner_type).toBeUndefined() + }) + + it('formatInput derives branch from ref', async () => { + const { input } = await githubHandler.formatInput!({ + body: { ref: 'refs/heads/main', action: '' }, + headers: { 'x-github-event': 'push' }, + requestId: 't12', + webhook: {}, + workflow: { id: 'w', userId: 'u' }, + }) + const i = input as Record + expect(i.branch).toBe('main') + }) + + it('extractIdempotencyId derives a stable key from the most specific nested entity', () => { + const body = { action: 'created', comment: { id: 5, updated_at: '2026-01-01T00:00:00Z' } } + const first = githubHandler.extractIdempotencyId!(body) + const second = githubHandler.extractIdempotencyId!({ ...body }) + expect(first).toBe(second) + expect(first).toContain('5') + }) + + it('extractIdempotencyId falls back to ref+after for push events', () => { + const id = githubHandler.extractIdempotencyId!({ + ref: 'refs/heads/main', + before: 'a', + after: 'b', + }) + expect(id).toBe('github:push:refs/heads/main:b') + }) + + it('extractIdempotencyId returns null when there is no stable identifier', () => { + expect(githubHandler.extractIdempotencyId!({})).toBeNull() + expect(githubHandler.extractIdempotencyId!(null)).toBeNull() + }) +}) diff --git a/apps/sim/lib/webhooks/providers/github.ts b/apps/sim/lib/webhooks/providers/github.ts index 28c0a782e16..4a94d395bed 100644 --- a/apps/sim/lib/webhooks/providers/github.ts +++ b/apps/sim/lib/webhooks/providers/github.ts @@ -1,6 +1,7 @@ import crypto from 'crypto' import { createLogger } from '@sim/logger' import { safeCompare } from '@sim/security/compare' +import { isRecordLike } from '@sim/utils/object' import { NextResponse } from 'next/server' import type { AuthContext, @@ -12,6 +13,49 @@ import type { const logger = createLogger('WebhookProvider:GitHub') +/** + * GitHub's "simple user" shape (issue.user, pull_request.merged_by, + * repository.owner, sender, ...) always carries `login` alongside `type`. + */ +function isGitHubUserLike(value: unknown): value is Record & { type: string } { + return isRecordLike(value) && typeof value.login === 'string' && typeof value.type === 'string' +} + +/** + * GitHub embeds a `type` field (User/Bot/Organization) on every user-like + * object. `type` is a reserved TriggerOutput meta-key, so the trigger output + * schemas expose it under `user_type` (or `owner_type` for repository.owner) + * instead. This walks the payload adding both aliases next to the raw `type` + * key, so the delivered data matches whichever name a given trigger's output + * schema declares. The raw `type` key is kept alongside the aliases (this is + * plain passthrough data, not schema-constrained) so a workflow already + * referencing the undocumented raw path keeps working. + */ +function withGitHubUserTypeAliases(value: unknown): unknown { + if (Array.isArray(value)) { + return value.map(withGitHubUserTypeAliases) + } + if (!isRecordLike(value)) { + return value + } + + const result: Record = {} + for (const [key, nested] of Object.entries(value)) { + result[key] = withGitHubUserTypeAliases(nested) + } + if (isGitHubUserLike(value)) { + result.user_type = value.type + result.owner_type = value.type + } + return result +} + +/** + * Not built on the shared `createHmacVerifier` factory: GitHub supports two + * signature headers (`X-Hub-Signature-256` primary, legacy `X-Hub-Signature` + * sha1 fallback) and picks the algorithm from the header value itself, which + * the single-header/single-algorithm factory doesn't model. + */ function validateGitHubSignature(secret: string, signature: string, body: string): boolean { try { if (!secret || !signature || !body) { @@ -69,12 +113,27 @@ export const githubHandler: WebhookProviderHandler = { }, async formatInput({ body, headers }: FormatInputContext): Promise { - const b = body as Record const eventType = headers['x-github-event'] || 'unknown' - const ref = (b?.ref as string) || '' + if (!isRecordLike(body)) { + return { input: { event_type: eventType, action: '', branch: '' } } + } + + const ref = typeof body.ref === 'string' ? body.ref : '' const branch = ref.replace('refs/heads/', '') + const aliased = withGitHubUserTypeAliases(body) as Record + + const repository = aliased.repository + if (isRecordLike(repository) && typeof repository.description === 'string') { + aliased.repository = { ...repository, repo_description: repository.description } + } + return { - input: { ...b, event_type: eventType, action: (b?.action || '') as string, branch }, + input: { + ...aliased, + event_type: eventType, + action: typeof body.action === 'string' ? body.action : '', + branch, + }, } }, @@ -87,11 +146,11 @@ export const githubHandler: WebhookProviderHandler = { providerConfig, }: EventMatchContext) { const triggerId = providerConfig.triggerId as string | undefined - const obj = body as Record + const obj = isRecordLike(body) ? body : {} if (triggerId && triggerId !== 'github_webhook') { const eventType = request.headers.get('x-github-event') - const action = obj.action as string | undefined + const action = typeof obj.action === 'string' ? obj.action : undefined const { isGitHubEventMatch } = await import('@/triggers/github/utils') if (!isGitHubEventMatch(triggerId, eventType || '', action, obj)) { @@ -111,4 +170,39 @@ export const githubHandler: WebhookProviderHandler = { return true }, + + /** + * GitHub always sends `X-GitHub-Delivery`, which is already checked ahead + * of this method by the shared idempotency header allowlist. This is a + * content-derived fallback for the rare case that header is stripped in + * transit (e.g. by an intermediary proxy). Prefers the most specific + * nested entity so distinct sub-resources (a comment vs. its parent issue) + * on the same delivery don't collide, and includes `updated_at` where + * available so re-deliveries of the same entity version dedupe while a + * later edit of that same entity is treated as a new key. + */ + extractIdempotencyId(body: unknown): string | null { + if (!isRecordLike(body)) return null + + const action = typeof body.action === 'string' ? body.action : '' + const entity = + (isRecordLike(body.comment) && body.comment) || + (isRecordLike(body.review) && body.review) || + (isRecordLike(body.pull_request) && body.pull_request) || + (isRecordLike(body.issue) && body.issue) || + (isRecordLike(body.release) && body.release) || + (isRecordLike(body.workflow_run) && body.workflow_run) || + null + + if (entity && entity.id != null) { + const version = typeof entity.updated_at === 'string' ? `:${entity.updated_at}` : '' + return `github:${action}:${entity.id}${version}` + } + + if (typeof body.ref === 'string' && typeof body.after === 'string') { + return `github:push:${body.ref}:${body.after}` + } + + return null + }, } diff --git a/apps/sim/lib/webhooks/providers/jira.test.ts b/apps/sim/lib/webhooks/providers/jira.test.ts new file mode 100644 index 00000000000..615f5b6ce7b --- /dev/null +++ b/apps/sim/lib/webhooks/providers/jira.test.ts @@ -0,0 +1,196 @@ +/** + * @vitest-environment node + */ +import { NextRequest } from 'next/server' +import { describe, expect, it } from 'vitest' +import { jiraHandler } from '@/lib/webhooks/providers/jira' +import { isJiraEventMatch } from '@/triggers/jira/utils' + +function reqWithHeaders(headers: Record): NextRequest { + return new NextRequest('http://localhost/test', { headers }) +} + +describe('Jira webhook provider', () => { + it('verifyAuth skips verification when no webhookSecret is configured (optional secret)', async () => { + const res = await jiraHandler.verifyAuth!({ + request: reqWithHeaders({}), + rawBody: '{}', + requestId: 't1', + providerConfig: {}, + webhook: {}, + workflow: {}, + }) + expect(res).toBeNull() + }) + + it('verifyAuth rejects when a secret is configured but X-Hub-Signature is missing', async () => { + const res = await jiraHandler.verifyAuth!({ + request: reqWithHeaders({}), + rawBody: '{}', + requestId: 't2', + providerConfig: { webhookSecret: 'my-secret' }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('verifyAuth rejects when the signature does not match', async () => { + const res = await jiraHandler.verifyAuth!({ + request: reqWithHeaders({ 'X-Hub-Signature': 'sha256=wrong' }), + rawBody: '{"a":1}', + requestId: 't3', + providerConfig: { webhookSecret: 'my-secret' }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('isJiraEventMatch maps trigger ids to their real webhookEvent values', () => { + expect(isJiraEventMatch('jira_issue_created', 'jira:issue_created')).toBe(true) + expect(isJiraEventMatch('jira_issue_created', 'comment_created')).toBe(false) + expect(isJiraEventMatch('jira_issue_commented', 'comment_created')).toBe(true) + expect(isJiraEventMatch('jira_webhook', 'anything')).toBe(true) + }) + + it('matchEvent filters events that do not match the configured trigger', async () => { + const result = await jiraHandler.matchEvent!({ + body: { webhookEvent: 'comment_created' }, + requestId: 't4', + providerConfig: { triggerId: 'jira_issue_created' }, + webhook: {}, + workflow: {}, + request: reqWithHeaders({}), + }) + expect(result).toBe(false) + }) + + it('matchEvent passes through all events for the generic webhook trigger', async () => { + const result = await jiraHandler.matchEvent!({ + body: { webhookEvent: 'anything' }, + requestId: 't5', + providerConfig: { triggerId: 'jira_webhook' }, + webhook: {}, + workflow: {}, + request: reqWithHeaders({}), + }) + expect(result).toBe(true) + }) + + it('matchEvent degrades gracefully instead of throwing when body is null', async () => { + const result = await jiraHandler.matchEvent!({ + body: null, + requestId: 't6', + providerConfig: { triggerId: 'jira_issue_created' }, + webhook: {}, + workflow: {}, + request: reqWithHeaders({}), + }) + expect(result).toBe(false) + }) + + it('matchEvent applies fieldFilters on issue_updated, matching a changed field', async () => { + const result = await jiraHandler.matchEvent!({ + body: { + webhookEvent: 'jira:issue_updated', + changelog: { items: [{ field: 'status', from: 'Open', to: 'Done' }] }, + }, + requestId: 't7', + providerConfig: { triggerId: 'jira_issue_updated', fieldFilters: 'status, assignee' }, + webhook: {}, + workflow: {}, + request: reqWithHeaders({}), + }) + expect(result).toBe(true) + }) + + it('matchEvent applies fieldFilters on issue_updated, skipping when no filtered field changed', async () => { + const result = await jiraHandler.matchEvent!({ + body: { + webhookEvent: 'jira:issue_updated', + changelog: { items: [{ field: 'description', from: 'a', to: 'b' }] }, + }, + requestId: 't8', + providerConfig: { triggerId: 'jira_issue_updated', fieldFilters: 'status, assignee' }, + webhook: {}, + workflow: {}, + request: reqWithHeaders({}), + }) + expect(result).toBe(false) + }) + + it('matchEvent ignores fieldFilters for other trigger types', async () => { + const result = await jiraHandler.matchEvent!({ + body: { webhookEvent: 'jira:issue_created' }, + requestId: 't9', + providerConfig: { triggerId: 'jira_issue_created', fieldFilters: 'status' }, + webhook: {}, + workflow: {}, + request: reqWithHeaders({}), + }) + expect(result).toBe(true) + }) + + it('matchEvent matches any field change when fieldFilters is empty', async () => { + const result = await jiraHandler.matchEvent!({ + body: { + webhookEvent: 'jira:issue_updated', + changelog: { items: [{ field: 'description', from: 'a', to: 'b' }] }, + }, + requestId: 't10', + providerConfig: { triggerId: 'jira_issue_updated' }, + webhook: {}, + workflow: {}, + request: reqWithHeaders({}), + }) + expect(result).toBe(true) + }) + + it('formatInput extracts issue data for the issue_created trigger', async () => { + const { input } = await jiraHandler.formatInput!({ + body: { + webhookEvent: 'jira:issue_created', + timestamp: 123, + issue: { id: '10001', key: 'PROJ-1' }, + }, + headers: {}, + requestId: 't7', + webhook: { providerConfig: { triggerId: 'jira_issue_created' } }, + workflow: { id: 'w', userId: 'u' }, + }) + const i = input as Record + expect(i.webhookEvent).toBe('jira:issue_created') + const issue = i.issue as Record + expect(issue.key).toBe('PROJ-1') + }) + + it('formatInput does not throw and degrades gracefully when body is null', async () => { + const { input } = await jiraHandler.formatInput!({ + body: null, + headers: {}, + requestId: 't8', + webhook: { providerConfig: { triggerId: 'jira_webhook' } }, + workflow: { id: 'w', userId: 'u' }, + }) + const i = input as Record + expect(i.webhookEvent).toBeUndefined() + expect(i.issue).toEqual({}) + }) + + it('extractIdempotencyId derives a stable key from webhookEvent + entity id', () => { + const body = { webhookEvent: 'jira:issue_created', timestamp: 123, issue: { id: '10001' } } + const first = jiraHandler.extractIdempotencyId!(body) + const second = jiraHandler.extractIdempotencyId!({ ...body }) + expect(first).toBe(second) + expect(first).toContain('10001') + }) + + it('extractIdempotencyId returns null when there is no stable identifier', () => { + expect(jiraHandler.extractIdempotencyId!({ webhookEvent: 'jira:issue_created' })).toBeNull() + }) + + it('extractIdempotencyId does not throw when body is null', () => { + expect(jiraHandler.extractIdempotencyId!(null)).toBeNull() + }) +}) diff --git a/apps/sim/lib/webhooks/providers/jira.ts b/apps/sim/lib/webhooks/providers/jira.ts index 0feeecb5a5f..3e7d850ab76 100644 --- a/apps/sim/lib/webhooks/providers/jira.ts +++ b/apps/sim/lib/webhooks/providers/jira.ts @@ -1,6 +1,7 @@ import { createLogger } from '@sim/logger' import { safeCompare } from '@sim/security/compare' import { hmacSha256Hex } from '@sim/security/hmac' +import { isRecordLike } from '@sim/utils/object' import type { EventMatchContext, FormatInputContext, @@ -11,6 +12,27 @@ import { createHmacVerifier } from '@/lib/webhooks/providers/utils' const logger = createLogger('WebhookProvider:Jira') +/** + * `changelog.items[].field` lists the Jira field names that changed in this + * update (only present on issue_updated deliveries). Empty filter list means + * no restriction — match on any field change. + */ +function matchesFieldFilters(body: Record, fieldFilters: string): boolean { + const wanted = fieldFilters + .split(',') + .map((f) => f.trim().toLowerCase()) + .filter(Boolean) + if (wanted.length === 0) return true + + const changelog = body.changelog as Record | undefined + const items = Array.isArray(changelog?.items) ? changelog.items : [] + const changedFields = items + .map((item) => (isRecordLike(item) && typeof item.field === 'string' ? item.field : '')) + .map((f) => f.toLowerCase()) + + return wanted.some((field) => changedFields.includes(field)) +} + export function validateJiraSignature(secret: string, signature: string, body: string): boolean { try { if (!secret || !signature || !body) { @@ -89,7 +111,7 @@ export const jiraHandler: WebhookProviderHandler = { } if (!triggerId || triggerId === 'jira_webhook') { - const obj = body as Record + const obj = isRecordLike(body) ? body : {} return { input: { webhookEvent: obj.webhookEvent, @@ -112,7 +134,7 @@ export const jiraHandler: WebhookProviderHandler = { async matchEvent({ webhook, workflow, body, requestId, providerConfig }: EventMatchContext) { const triggerId = providerConfig.triggerId as string | undefined - const obj = body as Record + const obj = isRecordLike(body) ? body : {} if (triggerId && triggerId !== 'jira_webhook') { const webhookEvent = obj.webhookEvent as string | undefined @@ -131,13 +153,26 @@ export const jiraHandler: WebhookProviderHandler = { ) return false } + + const fieldFilters = providerConfig.fieldFilters as string | undefined + if ( + triggerId === 'jira_issue_updated' && + fieldFilters && + !matchesFieldFilters(obj, fieldFilters) + ) { + logger.debug( + `[${requestId}] Jira issue_updated field filter did not match for trigger ${triggerId}. Skipping execution.`, + { webhookId: webhook.id, workflowId: workflow.id, fieldFilters } + ) + return false + } } return true }, extractIdempotencyId(body: unknown) { - const obj = body as Record + const obj = isRecordLike(body) ? body : {} const issue = obj.issue as Record | undefined const comment = obj.comment as Record | undefined const worklog = obj.worklog as Record | undefined diff --git a/apps/sim/lib/webhooks/providers/microsoft-teams.test.ts b/apps/sim/lib/webhooks/providers/microsoft-teams.test.ts index bb3e2c141e3..d209d33695a 100644 --- a/apps/sim/lib/webhooks/providers/microsoft-teams.test.ts +++ b/apps/sim/lib/webhooks/providers/microsoft-teams.test.ts @@ -1,6 +1,7 @@ /** * @vitest-environment node */ +import { hmacSha256Base64 } from '@sim/security/hmac' import { authOAuthUtilsMock, inputValidationMock } from '@sim/testing' import { NextRequest } from 'next/server' import { beforeEach, describe, expect, it, vi } from 'vitest' @@ -112,9 +113,110 @@ describe('microsoftTeamsHandler verifyAuth (chat subscription clientState)', () }) expect(res?.status).toBe(401) }) +}) + +describe('microsoftTeamsHandler verifyAuth (outgoing webhook HMAC)', () => { + const secretBase64 = Buffer.from('super-secret').toString('base64') + const outgoingWebhookConfig = { triggerId: 'microsoftteams_webhook', hmacSecret: secretBase64 } + + beforeEach(() => { + vi.clearAllMocks() + }) - it('does not require clientState for non-subscription trigger types', async () => { - const res = await runVerifyAuth(JSON.stringify({ type: 'message', text: 'hi' }), {}) + function signedRequest(rawBody: string): NextRequest { + const signature = hmacSha256Base64(rawBody, Buffer.from(secretBase64, 'base64')) + return new NextRequest('https://app.example.com/api/webhooks/trigger/abc', { + method: 'POST', + body: rawBody, + headers: { 'Content-Type': 'application/json', Authorization: `HMAC ${signature}` }, + }) + } + + it('accepts a request with a valid HMAC signature', async () => { + const rawBody = JSON.stringify({ type: 'message', text: 'hi' }) + const res = await microsoftTeamsHandler.verifyAuth!({ + webhook: { id: WEBHOOK_ID }, + workflow: {}, + request: signedRequest(rawBody), + rawBody, + requestId: 'test-req', + providerConfig: outgoingWebhookConfig, + }) expect(res).toBeNull() }) + + it('rejects a request with an invalid HMAC signature', async () => { + const rawBody = JSON.stringify({ type: 'message', text: 'hi' }) + const res = await microsoftTeamsHandler.verifyAuth!({ + webhook: { id: WEBHOOK_ID }, + workflow: {}, + request: makeRequest(rawBody), + rawBody, + requestId: 'test-req', + providerConfig: { ...outgoingWebhookConfig, hmacSecret: undefined }, + }) + expect(res?.status).toBe(401) + }) + + it('fails closed when no HMAC secret is configured for an outgoing webhook trigger', async () => { + const rawBody = JSON.stringify({ type: 'message', text: 'hi' }) + const res = await runVerifyAuth(rawBody, { triggerId: 'microsoftteams_webhook' }) + expect(res?.status).toBe(401) + }) +}) + +describe('microsoftTeamsHandler extractIdempotencyId', () => { + it('derives a key from subscriptionId + messageId for Graph change notifications', () => { + const body = JSON.parse(makeNotificationBody(WEBHOOK_ID)) as unknown + expect(microsoftTeamsHandler.extractIdempotencyId!(body)).toBe(`sub-1:1700000000000`) + }) + + it('derives a key from the Activity id for outgoing webhook messages', () => { + const body = { id: 'activity-123', type: 'message', text: 'hi' } + expect(microsoftTeamsHandler.extractIdempotencyId!(body)).toBe('activity-123') + }) + + it('returns null when neither shape yields a stable identifier', () => { + expect(microsoftTeamsHandler.extractIdempotencyId!({ type: 'message' })).toBeNull() + }) + + it('returns null instead of throwing when body is null', () => { + expect(microsoftTeamsHandler.extractIdempotencyId!(null)).toBeNull() + }) + + it('returns null instead of throwing when body is a primitive', () => { + expect(microsoftTeamsHandler.extractIdempotencyId!('not-an-object')).toBeNull() + }) +}) + +describe('microsoftTeamsHandler formatInput (outgoing webhook channelData)', () => { + it('populates teamsTeamId/teamsChannelId from nested team/channel ids', async () => { + const body = { + id: 'activity-123', + type: 'message', + text: 'hello', + channelData: { + team: { id: 'team-1' }, + channel: { id: 'channel-1' }, + tenant: { id: 'tenant-1' }, + }, + } + const result = await microsoftTeamsHandler.formatInput!({ + body, + webhook: {}, + workflow: { id: 'wf-1', userId: 'user-1' }, + headers: {}, + requestId: 'test-req', + }) + const input = result.input as { + message: { raw: { channelData: Record } } + } + expect(input.message.raw.channelData).toEqual({ + team: { id: 'team-1' }, + tenant: { id: 'tenant-1' }, + channel: { id: 'channel-1' }, + teamsTeamId: 'team-1', + teamsChannelId: 'channel-1', + }) + }) }) diff --git a/apps/sim/lib/webhooks/providers/microsoft-teams.ts b/apps/sim/lib/webhooks/providers/microsoft-teams.ts index e073f25f184..eabb0cb656c 100644 --- a/apps/sim/lib/webhooks/providers/microsoft-teams.ts +++ b/apps/sim/lib/webhooks/providers/microsoft-teams.ts @@ -4,6 +4,7 @@ import { createLogger } from '@sim/logger' import { safeCompare } from '@sim/security/compare' import { hmacSha256Base64 } from '@sim/security/hmac' import { toError } from '@sim/utils/errors' +import { isRecordLike } from '@sim/utils/object' import { eq } from 'drizzle-orm' import { type NextRequest, NextResponse } from 'next/server' import { isMicrosoftContentUrl } from '@/lib/core/security/input-validation' @@ -54,24 +55,37 @@ function validateMicrosoftTeamsSignature( } } -function parseFirstNotification( - body: unknown -): { subscriptionId: string; messageId: string } | null { - const obj = body as Record - const value = obj.value as unknown[] | undefined - if (!Array.isArray(value) || value.length === 0) { +/** + * Derive a stable per-delivery identifier from a Teams webhook body. + * + * Graph change notifications (chat subscriptions) are keyed by + * `subscriptionId:messageId`. Outgoing webhook activities (channel + * @mentions) carry no `value` array — they're keyed by the Bot Framework + * Activity's own unique `id` instead. + */ +function extractNotificationKey(body: unknown): string | null { + if (!isRecordLike(body)) { return null } - const notification = value[0] as Record - const subscriptionId = notification.subscriptionId as string | undefined - const resourceData = notification.resourceData as Record | undefined - const messageId = resourceData?.id as string | undefined + const value = body.value + if (Array.isArray(value) && value.length > 0) { + const notification = value[0] + if (!isRecordLike(notification)) { + return null + } + const subscriptionId = notification.subscriptionId + const resourceData = notification.resourceData + const messageId = isRecordLike(resourceData) ? resourceData.id : undefined - if (subscriptionId && messageId) { - return { subscriptionId, messageId } + if (typeof subscriptionId === 'string' && typeof messageId === 'string') { + return `${subscriptionId}:${messageId}` + } + return null } - return null + + const activityId = body.id + return typeof activityId === 'string' && activityId ? activityId : null } async function fetchWithDNSPinning( @@ -478,7 +492,17 @@ export const microsoftTeamsHandler: WebhookProviderHandler = { }, verifyAuth({ webhook, request, rawBody, requestId, providerConfig }: AuthContext) { - if (providerConfig.hmacSecret) { + if (providerConfig.triggerId !== 'microsoftteams_chat_subscription') { + const hmacSecret = providerConfig.hmacSecret as string | undefined + if (!hmacSecret) { + logger.error( + `[${requestId}] Microsoft Teams outgoing webhook missing configured HMAC secret` + ) + return new NextResponse('Unauthorized - Missing HMAC secret configuration', { + status: 401, + }) + } + const authHeader = request.headers.get('authorization') if (!authHeader || !authHeader.startsWith('HMAC ')) { @@ -488,9 +512,7 @@ export const microsoftTeamsHandler: WebhookProviderHandler = { return new NextResponse('Unauthorized - Missing HMAC signature', { status: 401 }) } - if ( - !validateMicrosoftTeamsSignature(providerConfig.hmacSecret as string, authHeader, rawBody) - ) { + if (!validateMicrosoftTeamsSignature(hmacSecret, authHeader, rawBody)) { logger.warn(`[${requestId}] Microsoft Teams HMAC signature verification failed`) return new NextResponse('Unauthorized - Invalid HMAC signature', { status: 401 }) } @@ -541,15 +563,14 @@ export const microsoftTeamsHandler: WebhookProviderHandler = { }, enrichHeaders({ body }: EventFilterContext, headers: Record) { - const parsed = parseFirstNotification(body) - if (parsed) { - headers['x-teams-notification-id'] = `${parsed.subscriptionId}:${parsed.messageId}` + const key = extractNotificationKey(body) + if (key) { + headers['x-teams-notification-id'] = key } }, extractIdempotencyId(body: unknown) { - const parsed = parseFirstNotification(body) - return parsed ? `${parsed.subscriptionId}:${parsed.messageId}` : null + return extractNotificationKey(body) }, formatSuccessResponse(providerConfig: Record) { @@ -620,10 +641,16 @@ export const microsoftTeamsHandler: WebhookProviderHandler = { { method: 'GET', headers: { Authorization: `Bearer ${accessToken}` } } ) if (checkRes.ok) { + const existingPayload = await checkRes.json() logger.info( `[${requestId}] Teams subscription ${existingSubscriptionId} already exists for webhook ${webhook.id}` ) - return { providerConfigUpdates: { externalSubscriptionId: existingSubscriptionId } } + return { + providerConfigUpdates: { + externalSubscriptionId: existingSubscriptionId, + subscriptionExpiration: existingPayload.expirationDateTime, + }, + } } } catch { logger.debug(`[${requestId}] Existing subscription check failed, will create new one`) @@ -685,7 +712,12 @@ export const microsoftTeamsHandler: WebhookProviderHandler = { logger.info( `[${requestId}] Successfully created Teams subscription ${payload.id} for webhook ${webhook.id}` ) - return { providerConfigUpdates: { externalSubscriptionId: payload.id as string } } + return { + providerConfigUpdates: { + externalSubscriptionId: payload.id as string, + subscriptionExpiration: payload.expirationDateTime as string, + }, + } } catch (error: unknown) { if ( error instanceof Error && @@ -793,6 +825,10 @@ export const microsoftTeamsHandler: WebhookProviderHandler = { const timestamp = (b?.timestamp as string) || (b?.localTimestamp as string) || '' const from = (b?.from || {}) as Record const conversation = (b?.conversation || {}) as Record + const channelData = (b?.channelData || {}) as Record + const channelDataTeam = (channelData.team || {}) as Record + const channelDataChannel = (channelData.channel || {}) as Record + const channelDataTenant = (channelData.tenant || {}) as Record return { input: { @@ -804,7 +840,13 @@ export const microsoftTeamsHandler: WebhookProviderHandler = { message: { raw: { attachments: b?.attachments || [], - channelData: b?.channelData || {}, + channelData: { + team: { id: (channelDataTeam.id || '') as string }, + tenant: { id: (channelDataTenant.id || '') as string }, + channel: { id: (channelDataChannel.id || '') as string }, + teamsTeamId: (channelData.teamsTeamId || channelDataTeam.id || '') as string, + teamsChannelId: (channelData.teamsChannelId || channelDataChannel.id || '') as string, + }, conversation: b?.conversation || {}, text: messageText, messageType: (b?.type || 'message') as string, diff --git a/apps/sim/lib/webhooks/providers/sentry.test.ts b/apps/sim/lib/webhooks/providers/sentry.test.ts index 00da0c3d75e..e79bd3741f4 100644 --- a/apps/sim/lib/webhooks/providers/sentry.test.ts +++ b/apps/sim/lib/webhooks/providers/sentry.test.ts @@ -182,4 +182,42 @@ describe('Sentry webhook provider', () => { }) expect(id).toBe('sentry:issue:42:created') }) + + it('does not match when the body is null', async () => { + const request = new NextRequest('http://localhost/test', { + headers: { 'Sentry-Hook-Resource': 'issue' }, + }) + + const matched = await sentryHandler.matchEvent!({ + body: null, + request, + requestId: 'sentry-t8', + providerConfig: { triggerId: 'sentry_issue_created' }, + webhook: {}, + workflow: {}, + }) + + expect(matched).toBe(false) + }) + + it('formats input with an empty envelope when the body is null', async () => { + const result = await sentryHandler.formatInput!({ + body: null, + headers: { 'sentry-hook-resource': 'issue' }, + webhook: {}, + workflow: { id: 'wf-1', userId: 'user-1' }, + requestId: 'sentry-t9', + }) + + expect(result.input).toEqual({ + action: '', + installation: null, + actor: null, + issue: null, + }) + }) + + it('returns null idempotency id when the body is null', () => { + expect(sentryHandler.extractIdempotencyId!(null)).toBeNull() + }) }) diff --git a/apps/sim/lib/webhooks/providers/sentry.ts b/apps/sim/lib/webhooks/providers/sentry.ts index 746147d1097..b16feb0ad40 100644 --- a/apps/sim/lib/webhooks/providers/sentry.ts +++ b/apps/sim/lib/webhooks/providers/sentry.ts @@ -1,6 +1,7 @@ import { createLogger } from '@sim/logger' import { safeCompare } from '@sim/security/compare' import { hmacSha256Hex } from '@sim/security/hmac' +import { isRecordLike } from '@sim/utils/object' import type { EventMatchContext, FormatInputContext, @@ -40,9 +41,8 @@ const SENTRY_RESOURCE_HEADER = 'sentry-hook-resource' * tag dropdown (the original `type` is preserved on the passthrough object). */ function aliasEventType(entity: unknown): Record | null { - if (!entity || typeof entity !== 'object') return null - const obj = entity as Record - return { ...obj, eventType: obj.type ?? null } + if (!isRecordLike(entity)) return null + return { ...entity, eventType: entity.type ?? null } } export const sentryHandler: WebhookProviderHandler = { @@ -58,8 +58,8 @@ export const sentryHandler: WebhookProviderHandler = { const triggerId = providerConfig.triggerId as string | undefined if (triggerId) { const resource = request.headers.get(SENTRY_RESOURCE_HEADER) - const obj = body as Record - const action = obj.action as string | undefined + const obj = isRecordLike(body) ? body : {} + const action = typeof obj.action === 'string' ? obj.action : undefined const { isSentryEventMatch } = await import('@/triggers/sentry/utils') if (!isSentryEventMatch(triggerId, resource, action)) { @@ -73,8 +73,8 @@ export const sentryHandler: WebhookProviderHandler = { }, async formatInput({ body, headers }: FormatInputContext): Promise { - const b = (body as Record) || {} - const data = (b.data as Record) || {} + const b = isRecordLike(body) ? body : {} + const data = isRecordLike(b.data) ? b.data : {} const resource = headers[SENTRY_RESOURCE_HEADER] || '' const envelope = { @@ -113,26 +113,27 @@ export const sentryHandler: WebhookProviderHandler = { }, extractIdempotencyId(body: unknown): string | null { - const obj = body as Record - const data = (obj?.data as Record) || {} - const action = typeof obj?.action === 'string' ? obj.action : '' + if (!isRecordLike(body)) return null - const issue = data.issue as Record | undefined + const data = isRecordLike(body.data) ? body.data : {} + const action = typeof body.action === 'string' ? body.action : '' + + const issue = isRecordLike(data.issue) ? data.issue : undefined if (issue?.id) { return `sentry:issue:${issue.id}:${action}` } - const error = data.error as Record | undefined + const error = isRecordLike(data.error) ? data.error : undefined if (error?.event_id) { return `sentry:error:${error.event_id}` } - const event = data.event as Record | undefined + const event = isRecordLike(data.event) ? data.event : undefined if (event?.event_id) { return `sentry:event_alert:${event.event_id}` } - const metricAlert = data.metric_alert as Record | undefined + const metricAlert = isRecordLike(data.metric_alert) ? data.metric_alert : undefined if (metricAlert?.id) { return `sentry:metric_alert:${metricAlert.id}:${action}` } diff --git a/apps/sim/lib/webhooks/providers/slack.test.ts b/apps/sim/lib/webhooks/providers/slack.test.ts index 1c261ba3ec3..e2105b0dce5 100644 --- a/apps/sim/lib/webhooks/providers/slack.test.ts +++ b/apps/sim/lib/webhooks/providers/slack.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest' -import { slackHandler } from '@/lib/webhooks/providers/slack' +import { handleSlackChallenge, slackHandler } from '@/lib/webhooks/providers/slack' const ctx = (body: unknown) => ({ webhook: {}, @@ -37,7 +37,6 @@ describe('slackHandler formatInput - Events API', () => { expect(event.thread_ts).toBe('111.000') expect(event.team_id).toBe('T1') expect(event.event_id).toBe('Ev1') - // Interactivity-only fields stay empty for Events API payloads. expect(event.command).toBe('') expect(event.action_value).toBe('') expect(event.actions).toEqual([]) @@ -153,12 +152,28 @@ describe('slackHandler formatInput - interactivity (block_actions)', () => { ) const event = eventOf(input) expect(event.action_value).toBe('opt_b') - // No message text on the payload -> text falls back to the action value. expect(event.text).toBe('opt_b') expect(event.user_name).toBe('bob') }) }) +describe('slackHandler formatInput - block_suggestion', () => { + it('skips execution instead of triggering the workflow', async () => { + const { input, skip } = await slackHandler.formatInput!( + ctx({ + type: 'block_suggestion', + action_id: 'external_select', + block_id: 'b1', + value: 'sea', + team: { id: 'T1' }, + user: { id: 'U1' }, + }) + ) + expect(input).toBeNull() + expect(skip?.message).toBeTruthy() + }) +}) + describe('slackHandler formatInput - slash commands', () => { it('maps flat slash-command form fields', async () => { const { input } = await slackHandler.formatInput!( @@ -207,4 +222,36 @@ describe('slackHandler extractIdempotencyId', () => { it('returns null when no identifier is present', () => { expect(slackHandler.extractIdempotencyId!({})).toBeNull() }) + + it('degrades gracefully instead of throwing for a null or non-object body', () => { + expect(slackHandler.extractIdempotencyId!(null)).toBeNull() + expect(slackHandler.extractIdempotencyId!(undefined)).toBeNull() + expect(slackHandler.extractIdempotencyId!('not-an-object')).toBeNull() + }) +}) + +describe('handleSlackChallenge', () => { + it('echoes the challenge for a url_verification payload', () => { + const response = handleSlackChallenge({ type: 'url_verification', challenge: 'abc123' }) + expect(response).not.toBeNull() + }) + + it('returns null for non-challenge payloads', () => { + expect(handleSlackChallenge({ type: 'event_callback' })).toBeNull() + }) + + it('degrades gracefully instead of throwing for a null or non-object body', () => { + expect(handleSlackChallenge(null)).toBeNull() + expect(handleSlackChallenge(undefined)).toBeNull() + expect(handleSlackChallenge('not-an-object')).toBeNull() + expect(handleSlackChallenge([1, 2, 3])).toBeNull() + }) +}) + +describe('slackHandler formatInput - null/non-object body', () => { + it('degrades gracefully instead of throwing', async () => { + const { input } = await slackHandler.formatInput!(ctx(null)) + const event = eventOf(input) + expect(event.event_type).toBe('unknown') + }) }) diff --git a/apps/sim/lib/webhooks/providers/slack.ts b/apps/sim/lib/webhooks/providers/slack.ts index 2d83b196dd1..cf212a00fc8 100644 --- a/apps/sim/lib/webhooks/providers/slack.ts +++ b/apps/sim/lib/webhooks/providers/slack.ts @@ -2,6 +2,7 @@ import { createLogger } from '@sim/logger' import { safeCompare } from '@sim/security/compare' import { hmacSha256Hex } from '@sim/security/hmac' import { toError } from '@sim/utils/errors' +import { isRecordLike } from '@sim/utils/object' import { NextResponse } from 'next/server' import { secureFetchWithPinnedIP, @@ -16,7 +17,8 @@ import type { const logger = createLogger('WebhookProvider:Slack') -const SLACK_MAX_FILE_SIZE = 50 * 1024 * 1024 // 50 MB +/** 50 MB */ +const SLACK_MAX_FILE_SIZE = 50 * 1024 * 1024 const SLACK_MAX_FILES = 15 const SLACK_REACTION_EVENTS = new Set(['reaction_added', 'reaction_removed']) @@ -26,6 +28,11 @@ const SLACK_REACTION_EVENTS = new Set(['reaction_added', 'reaction_removed']) * `payload` field (button clicks, selects, shortcuts, modal submits). These have * no Events-API `event` envelope, so they need their own mapping. * See https://api.slack.com/interactivity/handling#payloads + * + * `block_suggestion` (external select option loading) is deliberately excluded: + * Slack requires a synchronous JSON `options` response within 3 seconds, which + * this trigger's fire-and-forget webhook execution model cannot provide — it is + * skipped explicitly in `formatInput` instead of being routed here. */ const SLACK_INTERACTIVE_TYPES = new Set([ 'block_actions', @@ -34,7 +41,6 @@ const SLACK_INTERACTIVE_TYPES = new Set([ 'shortcut', 'view_submission', 'view_closed', - 'block_suggestion', ]) interface SlackDownloadedFile { @@ -198,6 +204,8 @@ function formatSlackSlashCommand(b: Record): SlackTriggerEvent * Interactivity payloads (button clicks, selects, shortcuts, modal submits). * The actionable data lives in `actions[]` / `view`, plus `response_url` and * `trigger_id` which are needed to respond to or follow up on the interaction. + * `text` prefers the source message text, falling back to the triggering + * action's value so a blocks-only message still surfaces something useful. */ function formatSlackInteractive(b: Record): SlackTriggerEvent { const event = createSlackEvent() @@ -225,8 +233,6 @@ function formatSlackInteractive(b: Record): SlackTriggerEvent { event.message_ts = asString(message?.ts) || asString(container?.message_ts) event.timestamp = event.message_ts || asString(firstAction?.action_ts) event.thread_ts = asString(message?.thread_ts) - // Prefer the source message text; fall back to the triggering action's value - // so a blocks-only message still surfaces something useful in `text`. event.text = asString(message?.text) || event.action_value event.message = message ?? null @@ -440,9 +446,12 @@ function validateSlackSignature( * Handle Slack verification challenges */ export function handleSlackChallenge(body: unknown): NextResponse | null { - const obj = body as Record - if (obj.type === 'url_verification' && obj.challenge) { - return NextResponse.json({ challenge: obj.challenge }) + if (!isRecordLike(body)) { + return null + } + + if (body.type === 'url_verification' && body.challenge) { + return NextResponse.json({ challenge: body.challenge }) } return null @@ -491,21 +500,28 @@ export const slackHandler: WebhookProviderHandler = { return handleSlackChallenge(body) }, + /** + * `event_id` (Events API) and `team_id:event.ts` are the primary keys. + * `trigger_id` is the fallback for interactivity and slash-command payloads, + * which carry no `event_id` but reuse the same `trigger_id` across Slack's + * retries of a given interaction. + */ extractIdempotencyId(body: unknown) { - const obj = body as Record - if (obj.event_id) { - return String(obj.event_id) + if (!isRecordLike(body)) { + return null } - const event = obj.event as Record | undefined - if (event?.ts && obj.team_id) { - return `${obj.team_id}:${event.ts}` + if (body.event_id) { + return String(body.event_id) } - // Interactivity and slash-command payloads carry a unique `trigger_id` - // per interaction, which Slack reuses across retries of the same payload. - if (obj.trigger_id) { - return String(obj.trigger_id) + const event = isRecordLike(body.event) ? body.event : undefined + if (event?.ts && body.team_id) { + return `${body.team_id}:${event.ts}` + } + + if (body.trigger_id) { + return String(body.trigger_id) } return null @@ -519,19 +535,33 @@ export const slackHandler: WebhookProviderHandler = { return new NextResponse(null, { status: 200 }) }, + /** + * Routes across Slack's three distinct payload families, each identified by + * a different shape: slash commands (flat form fields with a leading-slash + * `command`), interactivity (a JSON `payload` with an interactive `type` or + * `actions[]` and no Events-API `event` envelope), and the Events API + * (app_mention, message, reaction_added, ... nested under `event`). + */ async formatInput({ body, webhook }: FormatInputContext): Promise { - const b = body as Record + const b = isRecordLike(body) ? body : {} const providerConfig = (webhook.providerConfig as Record) || {} const botToken = providerConfig.botToken as string | undefined const includeFiles = Boolean(providerConfig.includeFiles) - // Slash commands: flat form fields identified by a leading-slash `command`. if (typeof b?.command === 'string' && b.command.startsWith('/')) { return { input: { event: formatSlackSlashCommand(b) } } } - // Interactivity (button clicks, selects, shortcuts, modal submits): a JSON - // `payload` with an interactive `type` and no Events-API `event` envelope. + if (b?.type === 'block_suggestion') { + return { + input: null, + skip: { + message: + 'Slack block_suggestion payloads require a synchronous options response and cannot be served by an async workflow trigger', + }, + } + } + if ( !b?.event && ((typeof b?.type === 'string' && SLACK_INTERACTIVE_TYPES.has(b.type)) || @@ -540,7 +570,6 @@ export const slackHandler: WebhookProviderHandler = { return { input: { event: formatSlackInteractive(b) } } } - // Events API (app_mention, message, reaction_added, ...). const rawEvent = b?.event as Record | undefined if (!rawEvent) { diff --git a/apps/sim/lib/webhooks/providers/stripe.test.ts b/apps/sim/lib/webhooks/providers/stripe.test.ts new file mode 100644 index 00000000000..4a8384720a9 --- /dev/null +++ b/apps/sim/lib/webhooks/providers/stripe.test.ts @@ -0,0 +1,151 @@ +/** + * @vitest-environment node + */ +import { NextRequest } from 'next/server' +import Stripe from 'stripe' +import { describe, expect, it } from 'vitest' +import { stripeHandler } from '@/lib/webhooks/providers/stripe' + +function reqWithHeaders(headers: Record): NextRequest { + return new NextRequest('http://localhost/test', { headers }) +} + +const WEBHOOK_SECRET = 'whsec_test_secret' + +function signedRequest(rawBody: string, secret = WEBHOOK_SECRET) { + const header = Stripe.webhooks.generateTestHeaderString({ + payload: rawBody, + secret, + }) + return reqWithHeaders({ 'stripe-signature': header }) +} + +describe('Stripe webhook provider', () => { + it('verifyAuth rejects when webhookSecret is not configured', async () => { + const res = await stripeHandler.verifyAuth!({ + request: reqWithHeaders({}), + rawBody: '{}', + requestId: 't1', + providerConfig: {}, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('verifyAuth rejects when the Stripe-Signature header is missing', async () => { + const res = await stripeHandler.verifyAuth!({ + request: reqWithHeaders({}), + rawBody: '{}', + requestId: 't2', + providerConfig: { webhookSecret: WEBHOOK_SECRET }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('verifyAuth rejects an invalid signature', async () => { + const rawBody = JSON.stringify({ id: 'evt_1', object: 'event', type: 'customer.created' }) + const res = await stripeHandler.verifyAuth!({ + request: reqWithHeaders({ 'stripe-signature': 't=1,v1=bad' }), + rawBody, + requestId: 't3', + providerConfig: { webhookSecret: WEBHOOK_SECRET }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('verifyAuth accepts a validly signed payload', async () => { + const rawBody = JSON.stringify({ id: 'evt_1', object: 'event', type: 'customer.created' }) + const res = await stripeHandler.verifyAuth!({ + request: signedRequest(rawBody), + rawBody, + requestId: 't4', + providerConfig: { webhookSecret: WEBHOOK_SECRET }, + webhook: {}, + workflow: {}, + }) + expect(res).toBeNull() + }) + + it('verifyAuth rejects a signature signed with the wrong secret', async () => { + const rawBody = JSON.stringify({ id: 'evt_1', object: 'event', type: 'customer.created' }) + const res = await stripeHandler.verifyAuth!({ + request: signedRequest(rawBody, 'whsec_other_secret'), + rawBody, + requestId: 't5', + providerConfig: { webhookSecret: WEBHOOK_SECRET }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('shouldSkipEvent filters events outside the configured eventTypes allowlist', () => { + const skip = stripeHandler.shouldSkipEvent!({ + webhook: { id: 'w1' }, + body: { type: 'invoice.paid' }, + requestId: 't6', + providerConfig: { eventTypes: ['customer.created'] }, + }) + expect(skip).toBe(true) + }) + + it('shouldSkipEvent passes through matching events', () => { + const skip = stripeHandler.shouldSkipEvent!({ + webhook: { id: 'w1' }, + body: { type: 'customer.created' }, + requestId: 't7', + providerConfig: { eventTypes: ['customer.created'] }, + }) + expect(skip).toBe(false) + }) + + it('shouldSkipEvent passes through everything when no allowlist is configured', () => { + const skip = stripeHandler.shouldSkipEvent!({ + webhook: { id: 'w1' }, + body: { type: 'invoice.paid' }, + requestId: 't8', + providerConfig: {}, + }) + expect(skip).toBe(false) + }) + + it('formatInput passes the raw Stripe event body through unchanged', async () => { + const body = { id: 'evt_1', object: 'event', type: 'customer.created', data: { object: {} } } + const { input } = await stripeHandler.formatInput!({ + body, + headers: {}, + requestId: 't9', + webhook: {}, + workflow: { id: 'w', userId: 'u' }, + }) + expect(input).toEqual(body) + }) + + it('extractIdempotencyId returns the Stripe event id for event objects', () => { + const id = stripeHandler.extractIdempotencyId!({ id: 'evt_123', object: 'event' }) + expect(id).toBe('evt_123') + }) + + it('extractIdempotencyId is stable across retried deliveries of the same event', () => { + const body = { id: 'evt_123', object: 'event', type: 'customer.created' } + const first = stripeHandler.extractIdempotencyId!(body) + const second = stripeHandler.extractIdempotencyId!({ ...body }) + expect(first).toBe(second) + }) + + it('extractIdempotencyId returns null for non-event objects', () => { + expect(stripeHandler.extractIdempotencyId!({ id: 'obj_1', object: 'customer' })).toBeNull() + }) + + it('extractIdempotencyId degrades gracefully for null or non-object bodies', () => { + expect(stripeHandler.extractIdempotencyId!(null)).toBeNull() + expect(stripeHandler.extractIdempotencyId!(undefined)).toBeNull() + expect(stripeHandler.extractIdempotencyId!('not-an-object')).toBeNull() + expect(stripeHandler.extractIdempotencyId!(['array'])).toBeNull() + }) +}) diff --git a/apps/sim/lib/webhooks/providers/stripe.ts b/apps/sim/lib/webhooks/providers/stripe.ts index ee35e7df12a..fb488a23999 100644 --- a/apps/sim/lib/webhooks/providers/stripe.ts +++ b/apps/sim/lib/webhooks/providers/stripe.ts @@ -1,5 +1,6 @@ import { createLogger } from '@sim/logger' import { getErrorMessage } from '@sim/utils/errors' +import { isRecordLike } from '@sim/utils/object' import { NextResponse } from 'next/server' import Stripe from 'stripe' import type { @@ -49,10 +50,15 @@ export const stripeHandler: WebhookProviderHandler = { return skipByEventTypes(ctx, 'Stripe', logger) }, - extractIdempotencyId(body: unknown) { - const obj = body as Record - if (obj.id && obj.object === 'event') { - return String(obj.id) + /** + * Stripe event ids (evt_...) are globally unique and stable across retries — + * Stripe resends the same event id on delivery retries, so keying on it + * directly is sufficient without a content-derived fallback. + */ + extractIdempotencyId(body: unknown): string | null { + if (!isRecordLike(body)) return null + if (body.id && body.object === 'event') { + return String(body.id) } return null }, diff --git a/apps/sim/lib/webhooks/providers/twilio-voice.test.ts b/apps/sim/lib/webhooks/providers/twilio-voice.test.ts index f01d1333986..528674c89ac 100644 --- a/apps/sim/lib/webhooks/providers/twilio-voice.test.ts +++ b/apps/sim/lib/webhooks/providers/twilio-voice.test.ts @@ -81,5 +81,124 @@ describe('twilioVoiceHandler', () => { expect(twilioVoiceHandler.extractIdempotencyId!({ CallSid: 'CA1' })).toBe('CA1') expect(twilioVoiceHandler.extractIdempotencyId!({})).toBeNull() }) + + it('returns null instead of throwing when body is not a record', () => { + expect(twilioVoiceHandler.extractIdempotencyId!(null)).toBeNull() + expect(twilioVoiceHandler.extractIdempotencyId!(undefined)).toBeNull() + expect(twilioVoiceHandler.extractIdempotencyId!('not-an-object')).toBeNull() + expect(twilioVoiceHandler.extractIdempotencyId!([1, 2, 3])).toBeNull() + }) + + it('distinguishes each CallStatus transition for the same CallSid', () => { + const ringing = twilioVoiceHandler.extractIdempotencyId!({ + CallSid: 'CA1', + CallStatus: 'ringing', + }) + const inProgress = twilioVoiceHandler.extractIdempotencyId!({ + CallSid: 'CA1', + CallStatus: 'in-progress', + }) + const completed = twilioVoiceHandler.extractIdempotencyId!({ + CallSid: 'CA1', + CallStatus: 'completed', + }) + expect(ringing).not.toBeNull() + expect(ringing).not.toBe(inProgress) + expect(inProgress).not.toBe(completed) + }) + + it('dedupes a retried delivery of the same CallStatus transition', () => { + const first = twilioVoiceHandler.extractIdempotencyId!({ + CallSid: 'CA1', + CallStatus: 'completed', + }) + const retry = twilioVoiceHandler.extractIdempotencyId!({ + CallSid: 'CA1', + CallStatus: 'completed', + }) + expect(first).toBe(retry) + }) + + it('distinguishes recording and transcription status callbacks from CallStatus callbacks on the same CallSid', () => { + const callCompleted = twilioVoiceHandler.extractIdempotencyId!({ + CallSid: 'CA1', + CallStatus: 'completed', + }) + const recordingCompleted = twilioVoiceHandler.extractIdempotencyId!({ + CallSid: 'CA1', + RecordingStatus: 'completed', + }) + const transcriptionCompleted = twilioVoiceHandler.extractIdempotencyId!({ + CallSid: 'CA1', + TranscriptionStatus: 'completed', + }) + expect(callCompleted).not.toBeNull() + expect(recordingCompleted).not.toBeNull() + expect(transcriptionCompleted).not.toBeNull() + expect(callCompleted).not.toBe(recordingCompleted) + expect(recordingCompleted).not.toBe(transcriptionCompleted) + }) + + it('distinguishes multiple Gather turns that share the same CallSid and CallStatus', () => { + const firstDigits = twilioVoiceHandler.extractIdempotencyId!({ + CallSid: 'CA1', + CallStatus: 'in-progress', + Digits: '1', + }) + const secondDigits = twilioVoiceHandler.extractIdempotencyId!({ + CallSid: 'CA1', + CallStatus: 'in-progress', + Digits: '2', + }) + const speech = twilioVoiceHandler.extractIdempotencyId!({ + CallSid: 'CA1', + CallStatus: 'in-progress', + SpeechResult: 'sales', + }) + expect(firstDigits).not.toBe(secondDigits) + expect(firstDigits).not.toBe(speech) + expect(secondDigits).not.toBe(speech) + }) + + it('distinguishes recording status callbacks by RecordingSid for the same CallSid', () => { + const recordingOne = twilioVoiceHandler.extractIdempotencyId!({ + CallSid: 'CA1', + RecordingSid: 'RE1', + }) + const recordingTwo = twilioVoiceHandler.extractIdempotencyId!({ + CallSid: 'CA1', + RecordingSid: 'RE2', + }) + expect(recordingOne).not.toBe(recordingTwo) + }) + + it('dedupes a retried delivery of the same Gather turn', () => { + const first = twilioVoiceHandler.extractIdempotencyId!({ + CallSid: 'CA1', + CallStatus: 'in-progress', + Digits: '1', + }) + const retry = twilioVoiceHandler.extractIdempotencyId!({ + CallSid: 'CA1', + CallStatus: 'in-progress', + Digits: '1', + }) + expect(first).toBe(retry) + }) + }) + + describe('formatInput', () => { + it('degrades to empty output instead of throwing when body is not a record', async () => { + const { input } = await twilioVoiceHandler.formatInput!({ + webhook: {}, + workflow: { id: 'wf1', userId: 'u1' }, + body: null, + headers: {}, + requestId: 'r1', + }) + const i = input as Record + expect(i.callSid).toBeUndefined() + expect(i.raw).toBe('{}') + }) }) }) diff --git a/apps/sim/lib/webhooks/providers/twilio-voice.ts b/apps/sim/lib/webhooks/providers/twilio-voice.ts index c00208307b5..f6dd8308322 100644 --- a/apps/sim/lib/webhooks/providers/twilio-voice.ts +++ b/apps/sim/lib/webhooks/providers/twilio-voice.ts @@ -1,3 +1,4 @@ +import { isRecordLike } from '@sim/utils/object' import { NextResponse } from 'next/server' import { verifyTwilioAuth } from '@/lib/webhooks/providers/twilio-signature' import type { @@ -13,9 +14,42 @@ export const twilioVoiceHandler: WebhookProviderHandler = { return verifyTwilioAuth(ctx, 'Twilio Voice') }, + /** + * A call fires many independent callbacks against the same CallSid as it + * progresses: CallStatus transitions (queued -> ringing -> in-progress -> + * completed/...), repeated Gather turns while CallStatus stays + * "in-progress" (differentiated only by Digits or SpeechResult), and + * separate recording/transcription completions via RecordingStatus/ + * TranscriptionStatus. The discriminator is built from field=value pairs + * (not bare values) so callbacks of different kinds can never collide even + * when they share a value — e.g. CallStatus=completed vs + * RecordingStatus=completed are distinct strings — while a retried + * delivery of the identical payload still produces the identical key. + */ extractIdempotencyId(body: unknown) { - const obj = body as Record - return (obj.MessageSid as string) || (obj.CallSid as string) || null + if (!isRecordLike(body)) return null + const sid = (body.MessageSid as string) || (body.CallSid as string) + if (!sid) return null + + const discriminatorFields = [ + 'CallStatus', + 'Digits', + 'SpeechResult', + 'RecordingSid', + 'RecordingStatus', + 'TranscriptionSid', + 'TranscriptionStatus', + ] as const + + const discriminator = discriminatorFields + .map((field) => { + const value = body[field] + return typeof value === 'string' && value ? `${field}=${value.toLowerCase()}` : null + }) + .filter(Boolean) + .join('&') + + return discriminator ? `${sid}:${discriminator}` : sid }, formatSuccessResponse(providerConfig: Record) { @@ -46,7 +80,7 @@ export const twilioVoiceHandler: WebhookProviderHandler = { }, async formatInput({ body }: FormatInputContext): Promise { - const b = body as Record + const b = isRecordLike(body) ? body : {} return { input: { callSid: b.CallSid, diff --git a/apps/sim/lib/webhooks/providers/twilio.test.ts b/apps/sim/lib/webhooks/providers/twilio.test.ts index 6b7d3916b07..7793e6be8f6 100644 --- a/apps/sim/lib/webhooks/providers/twilio.test.ts +++ b/apps/sim/lib/webhooks/providers/twilio.test.ts @@ -135,6 +135,13 @@ describe('twilioHandler', () => { expect(twilioHandler.extractIdempotencyId!({})).toBeNull() }) + it('returns null instead of throwing when body is not a record', () => { + expect(twilioHandler.extractIdempotencyId!(null)).toBeNull() + expect(twilioHandler.extractIdempotencyId!(undefined)).toBeNull() + expect(twilioHandler.extractIdempotencyId!('not-an-object')).toBeNull() + expect(twilioHandler.extractIdempotencyId!([1, 2, 3])).toBeNull() + }) + it('keys status callbacks by SID + status so each delivery state is distinct', () => { const sent = twilioHandler.extractIdempotencyId!({ MessageSid: 'SM1', MessageStatus: 'sent' }) const delivered = twilioHandler.extractIdempotencyId!({ @@ -181,6 +188,11 @@ describe('twilioHandler', () => { expect(match('twilio_sms_received', ambiguous)).toBe(false) expect(match('twilio_sms_status', ambiguous)).toBe(false) }) + + it('matches neither trigger instead of throwing when body is not a record', () => { + expect(match('twilio_sms_received', null as never)).toBe(false) + expect(match('twilio_sms_status', null as never)).toBe(false) + }) }) describe('formatInput', () => { @@ -252,5 +264,13 @@ describe('twilioHandler', () => { expect(i.errorCode).toBe('30008') expect(i.media).toEqual([]) }) + + it('degrades to empty output instead of throwing when body is not a record', async () => { + const { input } = await twilioHandler.formatInput!(ctx(null as never)) + const i = input as Record + expect(i.messageSid).toBeUndefined() + expect(i.media).toEqual([]) + expect(i.raw).toBe('{}') + }) }) }) diff --git a/apps/sim/lib/webhooks/providers/twilio.ts b/apps/sim/lib/webhooks/providers/twilio.ts index f501f32c590..3ac6d1f3136 100644 --- a/apps/sim/lib/webhooks/providers/twilio.ts +++ b/apps/sim/lib/webhooks/providers/twilio.ts @@ -1,3 +1,4 @@ +import { isRecordLike } from '@sim/utils/object' import { verifyTwilioAuth } from '@/lib/webhooks/providers/twilio-signature' import type { AuthContext, @@ -36,7 +37,7 @@ export const twilioHandler: WebhookProviderHandler = { matchEvent({ body, providerConfig }: EventMatchContext) { const triggerId = providerConfig.triggerId as string | undefined if (!triggerId) return true - const b = body as Record + const b = isRecordLike(body) ? body : {} const messageStatus = ((b.MessageStatus as string) ?? '').toLowerCase() const smsStatus = ((b.SmsStatus as string) ?? '').toLowerCase() const isInbound = smsStatus === 'received' || messageStatus === 'received' @@ -46,14 +47,18 @@ export const twilioHandler: WebhookProviderHandler = { return true }, + /** + * Status callbacks repeat for the same SID as the message progresses + * (sent -> delivered -> ...), so the delivery status is part of the key to + * keep each distinct callback (while still deduping Twilio's retries of + * the same status). Inbound messages fire once (SmsStatus 'received'), + * keyed by SID alone. + */ extractIdempotencyId(body: unknown) { - const obj = body as Record + if (!isRecordLike(body)) return null + const obj = body const sid = (obj.MessageSid as string) || (obj.CallSid as string) if (!sid) return null - // Status callbacks repeat for the same SID as the message progresses - // (sent -> delivered -> ...), so the delivery status is part of the key to - // keep each distinct callback (while still deduping Twilio's retries of the - // same status). Inbound messages fire once (SmsStatus 'received'), keyed by SID. const status = ( ((obj.MessageStatus as string) || (obj.SmsStatus as string)) ?? '' @@ -62,7 +67,7 @@ export const twilioHandler: WebhookProviderHandler = { }, async formatInput({ body }: FormatInputContext): Promise { - const b = body as Record + const b = isRecordLike(body) ? body : {} return { input: { messageSid: b.MessageSid, diff --git a/apps/sim/lib/webhooks/providers/zendesk.test.ts b/apps/sim/lib/webhooks/providers/zendesk.test.ts new file mode 100644 index 00000000000..831c2ceaeea --- /dev/null +++ b/apps/sim/lib/webhooks/providers/zendesk.test.ts @@ -0,0 +1,299 @@ +/** + * @vitest-environment node + */ +import crypto from 'crypto' +import { NextRequest } from 'next/server' +import { describe, expect, it } from 'vitest' +import { zendeskHandler } from '@/lib/webhooks/providers/zendesk' +import { isZendeskEventMatch } from '@/triggers/zendesk/utils' + +const SECRET = 'my-signing-secret' + +function sign(secret: string, timestamp: string, body: string): string { + return crypto + .createHmac('sha256', secret) + .update(timestamp + body, 'utf8') + .digest('base64') +} + +function reqWithHeaders(headers: Record): NextRequest { + return new NextRequest('http://localhost/test', { headers }) +} + +describe('Zendesk webhook provider', () => { + describe('verifyAuth', () => { + it('rejects when webhookSecret is missing', async () => { + const res = await zendeskHandler.verifyAuth!({ + request: reqWithHeaders({}), + rawBody: '{}', + requestId: 't1', + providerConfig: {}, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('rejects when signature headers are missing', async () => { + const res = await zendeskHandler.verifyAuth!({ + request: reqWithHeaders({}), + rawBody: '{}', + requestId: 't2', + providerConfig: { webhookSecret: SECRET }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('rejects a stale timestamp outside the allowed skew window', async () => { + const body = '{}' + const timestamp = new Date(Date.now() - 10 * 60 * 1000).toISOString() + const signature = sign(SECRET, timestamp, body) + const res = await zendeskHandler.verifyAuth!({ + request: reqWithHeaders({ + 'X-Zendesk-Webhook-Signature': signature, + 'X-Zendesk-Webhook-Signature-Timestamp': timestamp, + }), + rawBody: body, + requestId: 't3', + providerConfig: { webhookSecret: SECRET }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('rejects an invalid signature', async () => { + const body = '{}' + const timestamp = new Date().toISOString() + const res = await zendeskHandler.verifyAuth!({ + request: reqWithHeaders({ + 'X-Zendesk-Webhook-Signature': 'not-a-real-signature', + 'X-Zendesk-Webhook-Signature-Timestamp': timestamp, + }), + rawBody: body, + requestId: 't4', + providerConfig: { webhookSecret: SECRET }, + webhook: {}, + workflow: {}, + }) + expect(res?.status).toBe(401) + }) + + it('accepts a valid base64 HMAC-SHA256 signature over timestamp + body', async () => { + const body = JSON.stringify({ id: 'evt-1', type: 'zen:event-type:ticket.created' }) + const timestamp = new Date().toISOString() + const signature = sign(SECRET, timestamp, body) + const res = await zendeskHandler.verifyAuth!({ + request: reqWithHeaders({ + 'X-Zendesk-Webhook-Signature': signature, + 'X-Zendesk-Webhook-Signature-Timestamp': timestamp, + }), + rawBody: body, + requestId: 't5', + providerConfig: { webhookSecret: SECRET }, + webhook: {}, + workflow: {}, + }) + expect(res).toBeNull() + }) + }) + + describe('isZendeskEventMatch', () => { + it('matches the configured trigger to its native event type', () => { + expect(isZendeskEventMatch('zendesk_ticket_created', 'zen:event-type:ticket.created')).toBe( + true + ) + expect( + isZendeskEventMatch('zendesk_ticket_created', 'zen:event-type:ticket.status_changed') + ).toBe(false) + expect(isZendeskEventMatch('zendesk_webhook', 'zen:event-type:ticket.created')).toBe(true) + }) + }) + + describe('matchEvent', () => { + it('passes through all events for the all-events trigger', async () => { + const result = await zendeskHandler.matchEvent!({ + body: { type: 'zen:event-type:ticket.status_changed' }, + requestId: 't6', + providerConfig: { triggerId: 'zendesk_webhook' }, + webhook: {}, + workflow: {}, + request: reqWithHeaders({}), + }) + expect(result).toBe(true) + }) + + it('filters events that do not match the configured trigger', async () => { + const result = await zendeskHandler.matchEvent!({ + body: { type: 'zen:event-type:ticket.status_changed' }, + requestId: 't7', + providerConfig: { triggerId: 'zendesk_ticket_created' }, + webhook: {}, + workflow: {}, + request: reqWithHeaders({}), + }) + expect(result).toBe(false) + }) + + it('does not throw when body is null', async () => { + const result = await zendeskHandler.matchEvent!({ + body: null, + requestId: 't8', + providerConfig: { triggerId: 'zendesk_ticket_created' }, + webhook: {}, + workflow: {}, + request: reqWithHeaders({}), + }) + expect(result).toBe(false) + }) + }) + + describe('formatInput', () => { + it('maps the event-subscription envelope to the declared output schema', async () => { + const { input } = await zendeskHandler.formatInput!({ + body: { + id: 'evt-1', + type: 'zen:event-type:ticket.created', + time: '2026-01-01T00:00:00Z', + account_id: 123, + detail: { + id: '456', + subject: 'Help', + status: 'new', + priority: 'high', + type: 'incident', + description: 'desc', + requester_id: '1', + assignee_id: '2', + group_id: '3', + organization_id: '4', + tags: ['a', 'b'], + via: { channel: 'web' }, + is_public: true, + created_at: '2026-01-01T00:00:00Z', + updated_at: '2026-01-01T00:00:00Z', + }, + event: { current: 'high', previous: 'normal' }, + }, + headers: {}, + requestId: 't9', + webhook: {}, + workflow: { id: 'w', userId: 'u' }, + }) + const i = input as Record + expect(i.event_id).toBe('evt-1') + expect(i.event_type).toBe('zen:event-type:ticket.created') + expect(i.account_id).toBe(123) + const ticket = i.ticket as Record + expect(ticket.id).toBe('456') + expect(ticket.ticket_type).toBe('incident') + expect(ticket.via_channel).toBe('web') + expect(ticket.tags).toEqual(['a', 'b']) + expect(i.event).toEqual({ current: 'high', previous: 'normal' }) + }) + + it('does not throw and degrades gracefully when body is null', async () => { + const { input } = await zendeskHandler.formatInput!({ + body: null, + headers: {}, + requestId: 't10', + webhook: {}, + workflow: { id: 'w', userId: 'u' }, + }) + const i = input as Record + expect(i.event_id).toBeUndefined() + const ticket = i.ticket as Record + expect(ticket.id).toBeUndefined() + expect(ticket.tags).toEqual([]) + }) + }) + + describe('createSubscription', () => { + it('rejects a subdomain containing a path separator to prevent host-boundary escape', async () => { + await expect( + zendeskHandler.createSubscription!({ + webhook: { + id: 'wh-1', + path: 'p', + providerConfig: { + subdomain: 'evil.example.com/x', + email: 'admin@example.com', + apiToken: 'token', + }, + }, + workflow: {}, + userId: 'u1', + requestId: 't11', + request: reqWithHeaders({}), + }) + ).rejects.toThrow(/subdomain must contain only letters, numbers, and hyphens/) + }) + + it('rejects a subdomain that is missing entirely', async () => { + await expect( + zendeskHandler.createSubscription!({ + webhook: { id: 'wh-2', path: 'p', providerConfig: {} }, + workflow: {}, + userId: 'u1', + requestId: 't12', + request: reqWithHeaders({}), + }) + ).rejects.toThrow(/subdomain is required/) + }) + }) + + describe('deleteSubscription', () => { + it('skips (non-strict) when the stored subdomain is invalid', async () => { + await expect( + zendeskHandler.deleteSubscription!({ + webhook: { + id: 'wh-3', + providerConfig: { + subdomain: 'evil.example.com/x', + email: 'admin@example.com', + apiToken: 'token', + externalId: 'ext-1', + }, + }, + workflow: {}, + requestId: 't13', + }) + ).resolves.toBeUndefined() + }) + + it('throws (strict) when the stored subdomain is invalid', async () => { + await expect( + zendeskHandler.deleteSubscription!({ + webhook: { + id: 'wh-4', + providerConfig: { + subdomain: 'evil.example.com/x', + email: 'admin@example.com', + apiToken: 'token', + externalId: 'ext-1', + }, + }, + workflow: {}, + requestId: 't14', + strict: true, + }) + ).rejects.toThrow(/Invalid Zendesk subdomain/) + }) + }) + + describe('extractIdempotencyId', () => { + it('returns the stable event id', () => { + expect(zendeskHandler.extractIdempotencyId!({ id: 'evt-1' })).toBe('evt-1') + }) + + it('returns null when there is no id', () => { + expect(zendeskHandler.extractIdempotencyId!({})).toBeNull() + }) + + it('does not throw when body is null', () => { + expect(zendeskHandler.extractIdempotencyId!(null)).toBeNull() + }) + }) +}) diff --git a/apps/sim/lib/webhooks/providers/zendesk.ts b/apps/sim/lib/webhooks/providers/zendesk.ts index 54c50b914b0..665f11b5853 100644 --- a/apps/sim/lib/webhooks/providers/zendesk.ts +++ b/apps/sim/lib/webhooks/providers/zendesk.ts @@ -25,6 +25,18 @@ function zendeskApiBase(subdomain: string): string { return `https://${subdomain}.zendesk.com/api/v2` } +/** + * Zendesk subdomains are bare hostname labels (letters, digits, internal hyphens). + * Rejecting anything else prevents the value from escaping the host portion of the + * interpolated URL (e.g. a subdomain containing `/` would redirect the request — + * and its Basic-auth admin credentials — to an attacker-controlled host). + */ +const ZENDESK_SUBDOMAIN_PATTERN = /^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i + +function isValidZendeskSubdomain(subdomain: string): boolean { + return ZENDESK_SUBDOMAIN_PATTERN.test(subdomain) +} + /** Basic auth header for the Zendesk API-token scheme (`email/token:apiToken`). */ function zendeskAuthHeader(email: string, apiToken: string): string { return `Basic ${Buffer.from(`${email}/token:${apiToken}`).toString('base64')}` @@ -79,8 +91,6 @@ export const zendeskHandler: WebhookProviderHandler = { verifyAuth({ request, rawBody, requestId, providerConfig }: AuthContext) { const secret = providerConfig.webhookSecret as string | undefined if (!secret) { - // The signing secret is fetched during auto-registration, so a missing - // secret means misconfiguration — fail closed rather than skip. logger.warn(`[${requestId}] Zendesk webhook secret not configured`) return new NextResponse('Unauthorized - Missing Zendesk webhook secret', { status: 401 }) } @@ -168,6 +178,11 @@ export const zendeskHandler: WebhookProviderHandler = { const triggerId = config.triggerId as string | undefined if (!subdomain) throw new Error('Zendesk subdomain is required to create the webhook.') + if (!isValidZendeskSubdomain(subdomain)) { + throw new Error( + 'Zendesk subdomain must contain only letters, numbers, and hyphens (e.g. "yourcompany").' + ) + } if (!email) throw new Error('Zendesk admin email is required to create the webhook.') if (!apiToken) throw new Error('Zendesk API token is required to create the webhook.') @@ -216,7 +231,6 @@ export const zendeskHandler: WebhookProviderHandler = { `[${ctx.requestId}] Created Zendesk webhook ${externalId} but failed to fetch signing secret (${secretRes.status})`, { detail } ) - // Avoid leaving an orphaned webhook in Zendesk when secret retrieval fails. await deleteZendeskWebhookQuietly(apiBase, authHeader, externalId) throw new Error(`Failed to fetch Zendesk signing secret: ${secretRes.status}`) } @@ -247,6 +261,12 @@ export const zendeskHandler: WebhookProviderHandler = { return } + if (!isValidZendeskSubdomain(subdomain)) { + if (ctx.strict) throw new Error('Invalid Zendesk subdomain for deletion.') + logger.warn(`[${ctx.requestId}] Skipping Zendesk webhook cleanup — invalid subdomain`) + return + } + const res = await fetch(`${zendeskApiBase(subdomain)}/webhooks/${externalId}`, { method: 'DELETE', headers: { Authorization: zendeskAuthHeader(email, apiToken) }, diff --git a/apps/sim/triggers/github/utils.ts b/apps/sim/triggers/github/utils.ts index c7b31e8f6bf..d56634d7bd1 100644 --- a/apps/sim/triggers/github/utils.ts +++ b/apps/sim/triggers/github/utils.ts @@ -1,3 +1,5 @@ +import { isRecordLike } from '@sim/utils/object' + /** * Shared repository output schema */ @@ -121,63 +123,71 @@ export const userOutputs = { } as const /** - * Check if a GitHub event matches the expected trigger configuration - * This is used for event filtering in the webhook processor + * Checks whether a delivered GitHub event matches the expected trigger + * configuration, used for event filtering in the webhook processor. + * + * GitHub fires `issue_comment` for comments on both issues and pull + * requests, and `pull_request` with action `closed` for both a merge and a + * close-without-merge; the `validator` entries disambiguate those cases via + * `issue.pull_request` (present only on PR comments) and + * `pull_request.merged` respectively. */ export function isGitHubEventMatch( triggerId: string, eventType: string, action?: string, - payload?: any + payload?: unknown ): boolean { const eventMap: Record< string, - { event: string; actions?: string[]; validator?: (payload: any) => boolean } + { + event: string + actions?: string[] + validator?: (payload: Record) => boolean + } > = { github_issue_opened: { event: 'issues', actions: ['opened'] }, github_issue_closed: { event: 'issues', actions: ['closed'] }, github_issue_comment: { event: 'issue_comment', - validator: (p) => !p.issue?.pull_request, // Only issues, not PRs + validator: (p) => !isRecordLike(p.issue) || !p.issue.pull_request, }, github_pr_opened: { event: 'pull_request', actions: ['opened'] }, github_pr_closed: { event: 'pull_request', actions: ['closed'], - validator: (p) => p.pull_request?.merged === false, // Not merged + validator: (p) => isRecordLike(p.pull_request) && p.pull_request.merged === false, }, github_pr_merged: { event: 'pull_request', actions: ['closed'], - validator: (p) => p.pull_request?.merged === true, // Merged + validator: (p) => isRecordLike(p.pull_request) && p.pull_request.merged === true, }, github_pr_comment: { event: 'issue_comment', - validator: (p) => !!p.issue?.pull_request, // Only PRs, not issues + validator: (p) => isRecordLike(p.issue) && !!p.issue.pull_request, }, github_pr_reviewed: { event: 'pull_request_review', actions: ['submitted'] }, github_push: { event: 'push' }, github_release_published: { event: 'release', actions: ['published'] }, + github_workflow_run: { event: 'workflow_run' }, } const config = eventMap[triggerId] if (!config) { - return true // Unknown trigger, allow through + return true } - // Check event type if (config.event !== eventType) { return false } - // Check action if specified if (config.actions && action && !config.actions.includes(action)) { return false } - // Run custom validator if provided - if (config.validator && payload) { - return config.validator(payload) + if (config.validator) { + return config.validator(isRecordLike(payload) ? payload : {}) } return true diff --git a/apps/sim/triggers/github/webhook.ts b/apps/sim/triggers/github/webhook.ts index 5b1b4c630ea..c0c45539e40 100644 --- a/apps/sim/triggers/github/webhook.ts +++ b/apps/sim/triggers/github/webhook.ts @@ -508,7 +508,6 @@ export const githubWebhookTrigger: TriggerConfig = { }, }, - // Convenient flat fields for easy access event_type: { type: 'string', description: 'Type of GitHub event (e.g., push, pull_request, issues)', diff --git a/apps/sim/triggers/jira/comment_deleted.ts b/apps/sim/triggers/jira/comment_deleted.ts index 4988edfbfbc..824b9c76e72 100644 --- a/apps/sim/triggers/jira/comment_deleted.ts +++ b/apps/sim/triggers/jira/comment_deleted.ts @@ -1,5 +1,11 @@ import { JiraIcon } from '@/components/icons' -import { buildCommentOutputs, jiraSetupInstructions } from '@/triggers/jira/utils' +import { buildTriggerSubBlocks } from '@/triggers' +import { + buildCommentOutputs, + buildJiraExtraFields, + jiraSetupInstructions, + jiraTriggerOptions, +} from '@/triggers/jira/utils' import type { TriggerConfig } from '@/triggers/types' /** @@ -14,61 +20,15 @@ export const jiraCommentDeletedTrigger: TriggerConfig = { version: '1.0.0', icon: JiraIcon, - subBlocks: [ - { - id: 'webhookUrlDisplay', - title: 'Webhook URL', - type: 'short-input', - readOnly: true, - showCopyButton: true, - useWebhookUrl: true, - placeholder: 'Webhook URL will be generated', - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_comment_deleted', - }, - }, - { - id: 'webhookSecret', - title: 'Webhook Secret', - type: 'short-input', - placeholder: 'Enter a strong secret', - description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', - password: true, - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_comment_deleted', - }, - }, - { - id: 'jqlFilter', - title: 'JQL Filter', - type: 'long-input', - placeholder: 'project = PROJ AND issuetype = Bug', - description: 'Filter which comment deletions trigger this workflow using JQL', - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_comment_deleted', - }, - }, - { - id: 'triggerInstructions', - title: 'Setup Instructions', - hideFromPreview: true, - type: 'text', - defaultValue: jiraSetupInstructions('comment_deleted'), - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_comment_deleted', - }, - }, - ], + subBlocks: buildTriggerSubBlocks({ + triggerId: 'jira_comment_deleted', + triggerOptions: jiraTriggerOptions, + setupInstructions: jiraSetupInstructions('comment_deleted'), + extraFields: buildJiraExtraFields( + 'jira_comment_deleted', + 'Filter which comment deletions trigger this workflow using JQL' + ), + }), outputs: buildCommentOutputs(), diff --git a/apps/sim/triggers/jira/comment_updated.ts b/apps/sim/triggers/jira/comment_updated.ts index 0d5ffa279c4..e89e8c09487 100644 --- a/apps/sim/triggers/jira/comment_updated.ts +++ b/apps/sim/triggers/jira/comment_updated.ts @@ -1,5 +1,11 @@ import { JiraIcon } from '@/components/icons' -import { buildCommentOutputs, jiraSetupInstructions } from '@/triggers/jira/utils' +import { buildTriggerSubBlocks } from '@/triggers' +import { + buildCommentOutputs, + buildJiraExtraFields, + jiraSetupInstructions, + jiraTriggerOptions, +} from '@/triggers/jira/utils' import type { TriggerConfig } from '@/triggers/types' /** @@ -14,61 +20,15 @@ export const jiraCommentUpdatedTrigger: TriggerConfig = { version: '1.0.0', icon: JiraIcon, - subBlocks: [ - { - id: 'webhookUrlDisplay', - title: 'Webhook URL', - type: 'short-input', - readOnly: true, - showCopyButton: true, - useWebhookUrl: true, - placeholder: 'Webhook URL will be generated', - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_comment_updated', - }, - }, - { - id: 'webhookSecret', - title: 'Webhook Secret', - type: 'short-input', - placeholder: 'Enter a strong secret', - description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', - password: true, - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_comment_updated', - }, - }, - { - id: 'jqlFilter', - title: 'JQL Filter', - type: 'long-input', - placeholder: 'project = PROJ AND issuetype = Bug', - description: 'Filter which comment updates trigger this workflow using JQL', - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_comment_updated', - }, - }, - { - id: 'triggerInstructions', - title: 'Setup Instructions', - hideFromPreview: true, - type: 'text', - defaultValue: jiraSetupInstructions('comment_updated'), - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_comment_updated', - }, - }, - ], + subBlocks: buildTriggerSubBlocks({ + triggerId: 'jira_comment_updated', + triggerOptions: jiraTriggerOptions, + setupInstructions: jiraSetupInstructions('comment_updated'), + extraFields: buildJiraExtraFields( + 'jira_comment_updated', + 'Filter which comment updates trigger this workflow using JQL' + ), + }), outputs: buildCommentOutputs(), diff --git a/apps/sim/triggers/jira/issue_commented.ts b/apps/sim/triggers/jira/issue_commented.ts index ad84ade7b29..ae1a78bbb31 100644 --- a/apps/sim/triggers/jira/issue_commented.ts +++ b/apps/sim/triggers/jira/issue_commented.ts @@ -1,5 +1,11 @@ import { JiraIcon } from '@/components/icons' -import { buildCommentOutputs, jiraSetupInstructions } from '@/triggers/jira/utils' +import { buildTriggerSubBlocks } from '@/triggers' +import { + buildCommentOutputs, + buildJiraExtraFields, + jiraSetupInstructions, + jiraTriggerOptions, +} from '@/triggers/jira/utils' import type { TriggerConfig } from '@/triggers/types' /** @@ -14,61 +20,15 @@ export const jiraIssueCommentedTrigger: TriggerConfig = { version: '1.0.0', icon: JiraIcon, - subBlocks: [ - { - id: 'webhookUrlDisplay', - title: 'Webhook URL', - type: 'short-input', - readOnly: true, - showCopyButton: true, - useWebhookUrl: true, - placeholder: 'Webhook URL will be generated', - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_commented', - }, - }, - { - id: 'webhookSecret', - title: 'Webhook Secret', - type: 'short-input', - placeholder: 'Enter a strong secret', - description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', - password: true, - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_commented', - }, - }, - { - id: 'jqlFilter', - title: 'JQL Filter', - type: 'long-input', - placeholder: 'project = PROJ AND issuetype = Bug', - description: 'Filter which issue comments trigger this workflow using JQL', - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_commented', - }, - }, - { - id: 'triggerInstructions', - title: 'Setup Instructions', - hideFromPreview: true, - type: 'text', - defaultValue: jiraSetupInstructions('comment_created'), - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_commented', - }, - }, - ], + subBlocks: buildTriggerSubBlocks({ + triggerId: 'jira_issue_commented', + triggerOptions: jiraTriggerOptions, + setupInstructions: jiraSetupInstructions('comment_created'), + extraFields: buildJiraExtraFields( + 'jira_issue_commented', + 'Filter which issue comments trigger this workflow using JQL' + ), + }), outputs: buildCommentOutputs(), diff --git a/apps/sim/triggers/jira/issue_created.ts b/apps/sim/triggers/jira/issue_created.ts index ed9dd77cb2a..2743fe3b5c5 100644 --- a/apps/sim/triggers/jira/issue_created.ts +++ b/apps/sim/triggers/jira/issue_created.ts @@ -1,10 +1,18 @@ import { JiraIcon } from '@/components/icons' -import { buildIssueOutputs, jiraSetupInstructions, jiraTriggerOptions } from '@/triggers/jira/utils' +import { buildTriggerSubBlocks } from '@/triggers' +import { + buildIssueOutputs, + buildJiraExtraFields, + jiraSetupInstructions, + jiraTriggerOptions, +} from '@/triggers/jira/utils' import type { TriggerConfig } from '@/triggers/types' /** * Jira Issue Created Trigger * Triggers when a new issue is created in Jira + * + * Primary trigger — includes the dropdown for selecting trigger type. */ export const jiraIssueCreatedTrigger: TriggerConfig = { id: 'jira_issue_created', @@ -14,70 +22,16 @@ export const jiraIssueCreatedTrigger: TriggerConfig = { version: '1.0.0', icon: JiraIcon, - subBlocks: [ - { - id: 'selectedTriggerId', - title: 'Trigger Type', - type: 'dropdown', - mode: 'trigger', - options: jiraTriggerOptions, - value: () => 'jira_issue_created', - required: true, - }, - { - id: 'webhookUrlDisplay', - title: 'Webhook URL', - type: 'short-input', - readOnly: true, - showCopyButton: true, - useWebhookUrl: true, - placeholder: 'Webhook URL will be generated', - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_created', - }, - }, - { - id: 'webhookSecret', - title: 'Webhook Secret', - type: 'short-input', - placeholder: 'Enter a strong secret', - description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', - password: true, - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_created', - }, - }, - { - id: 'jqlFilter', - title: 'JQL Filter', - type: 'long-input', - placeholder: 'project = PROJ AND issuetype = Bug', - description: 'Filter which issues trigger this workflow using JQL (Jira Query Language)', - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_created', - }, - }, - { - id: 'triggerInstructions', - title: 'Setup Instructions', - hideFromPreview: true, - type: 'text', - defaultValue: jiraSetupInstructions('jira:issue_created'), - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_created', - }, - }, - ], + subBlocks: buildTriggerSubBlocks({ + triggerId: 'jira_issue_created', + triggerOptions: jiraTriggerOptions, + includeDropdown: true, + setupInstructions: jiraSetupInstructions('jira:issue_created'), + extraFields: buildJiraExtraFields( + 'jira_issue_created', + 'Filter which issues trigger this workflow using JQL (Jira Query Language)' + ), + }), outputs: buildIssueOutputs(), diff --git a/apps/sim/triggers/jira/issue_deleted.ts b/apps/sim/triggers/jira/issue_deleted.ts index 21ee8ce5c89..c8f6ce2aa38 100644 --- a/apps/sim/triggers/jira/issue_deleted.ts +++ b/apps/sim/triggers/jira/issue_deleted.ts @@ -1,5 +1,11 @@ import { JiraIcon } from '@/components/icons' -import { buildIssueOutputs, jiraSetupInstructions } from '@/triggers/jira/utils' +import { buildTriggerSubBlocks } from '@/triggers' +import { + buildIssueOutputs, + buildJiraExtraFields, + jiraSetupInstructions, + jiraTriggerOptions, +} from '@/triggers/jira/utils' import type { TriggerConfig } from '@/triggers/types' /** @@ -14,61 +20,15 @@ export const jiraIssueDeletedTrigger: TriggerConfig = { version: '1.0.0', icon: JiraIcon, - subBlocks: [ - { - id: 'webhookUrlDisplay', - title: 'Webhook URL', - type: 'short-input', - readOnly: true, - showCopyButton: true, - useWebhookUrl: true, - placeholder: 'Webhook URL will be generated', - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_deleted', - }, - }, - { - id: 'webhookSecret', - title: 'Webhook Secret', - type: 'short-input', - placeholder: 'Enter a strong secret', - description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', - password: true, - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_deleted', - }, - }, - { - id: 'jqlFilter', - title: 'JQL Filter', - type: 'long-input', - placeholder: 'project = PROJ', - description: 'Filter which issue deletions trigger this workflow using JQL', - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_deleted', - }, - }, - { - id: 'triggerInstructions', - title: 'Setup Instructions', - hideFromPreview: true, - type: 'text', - defaultValue: jiraSetupInstructions('jira:issue_deleted'), - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_deleted', - }, - }, - ], + subBlocks: buildTriggerSubBlocks({ + triggerId: 'jira_issue_deleted', + triggerOptions: jiraTriggerOptions, + setupInstructions: jiraSetupInstructions('jira:issue_deleted'), + extraFields: buildJiraExtraFields( + 'jira_issue_deleted', + 'Filter which issue deletions trigger this workflow using JQL' + ), + }), outputs: buildIssueOutputs(), diff --git a/apps/sim/triggers/jira/issue_updated.ts b/apps/sim/triggers/jira/issue_updated.ts index 3c70ce424c0..3da48a15fd1 100644 --- a/apps/sim/triggers/jira/issue_updated.ts +++ b/apps/sim/triggers/jira/issue_updated.ts @@ -1,5 +1,11 @@ import { JiraIcon } from '@/components/icons' -import { buildIssueUpdatedOutputs, jiraSetupInstructions } from '@/triggers/jira/utils' +import { buildTriggerSubBlocks } from '@/triggers' +import { + buildIssueUpdatedOutputs, + buildJiraExtraFields, + jiraSetupInstructions, + jiraTriggerOptions, +} from '@/triggers/jira/utils' import type { TriggerConfig } from '@/triggers/types' /** @@ -14,75 +20,15 @@ export const jiraIssueUpdatedTrigger: TriggerConfig = { version: '1.0.0', icon: JiraIcon, - subBlocks: [ - { - id: 'webhookUrlDisplay', - title: 'Webhook URL', - type: 'short-input', - readOnly: true, - showCopyButton: true, - useWebhookUrl: true, - placeholder: 'Webhook URL will be generated', - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_updated', - }, - }, - { - id: 'webhookSecret', - title: 'Webhook Secret', - type: 'short-input', - placeholder: 'Enter a strong secret', - description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', - password: true, - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_updated', - }, - }, - { - id: 'jqlFilter', - title: 'JQL Filter', - type: 'long-input', - placeholder: 'project = PROJ AND status changed to "In Progress"', - description: 'Filter which issue updates trigger this workflow using JQL', - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_updated', - }, - }, - { - id: 'fieldFilters', - title: 'Field Filters', - type: 'long-input', - placeholder: 'status, assignee, priority', - description: - 'Comma-separated list of fields to monitor. Only trigger when these fields change.', - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_updated', - }, - }, - { - id: 'triggerInstructions', - title: 'Setup Instructions', - hideFromPreview: true, - type: 'text', - defaultValue: jiraSetupInstructions('jira:issue_updated'), - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_issue_updated', - }, - }, - ], + subBlocks: buildTriggerSubBlocks({ + triggerId: 'jira_issue_updated', + triggerOptions: jiraTriggerOptions, + setupInstructions: jiraSetupInstructions('jira:issue_updated'), + extraFields: buildJiraExtraFields( + 'jira_issue_updated', + 'Filter which issue updates trigger this workflow using JQL' + ), + }), outputs: buildIssueUpdatedOutputs(), diff --git a/apps/sim/triggers/jira/project_created.ts b/apps/sim/triggers/jira/project_created.ts index 634adc2b3e6..da864aade25 100644 --- a/apps/sim/triggers/jira/project_created.ts +++ b/apps/sim/triggers/jira/project_created.ts @@ -1,5 +1,11 @@ import { JiraIcon } from '@/components/icons' -import { buildProjectCreatedOutputs, jiraSetupInstructions } from '@/triggers/jira/utils' +import { buildTriggerSubBlocks } from '@/triggers' +import { + buildJiraExtraFields, + buildProjectCreatedOutputs, + jiraSetupInstructions, + jiraTriggerOptions, +} from '@/triggers/jira/utils' import type { TriggerConfig } from '@/triggers/types' /** @@ -14,48 +20,12 @@ export const jiraProjectCreatedTrigger: TriggerConfig = { version: '1.0.0', icon: JiraIcon, - subBlocks: [ - { - id: 'webhookUrlDisplay', - title: 'Webhook URL', - type: 'short-input', - readOnly: true, - showCopyButton: true, - useWebhookUrl: true, - placeholder: 'Webhook URL will be generated', - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_project_created', - }, - }, - { - id: 'webhookSecret', - title: 'Webhook Secret', - type: 'short-input', - placeholder: 'Enter a strong secret', - description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', - password: true, - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_project_created', - }, - }, - { - id: 'triggerInstructions', - title: 'Setup Instructions', - hideFromPreview: true, - type: 'text', - defaultValue: jiraSetupInstructions('project_created'), - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_project_created', - }, - }, - ], + subBlocks: buildTriggerSubBlocks({ + triggerId: 'jira_project_created', + triggerOptions: jiraTriggerOptions, + setupInstructions: jiraSetupInstructions('project_created'), + extraFields: buildJiraExtraFields('jira_project_created'), + }), outputs: buildProjectCreatedOutputs(), diff --git a/apps/sim/triggers/jira/sprint_closed.ts b/apps/sim/triggers/jira/sprint_closed.ts index 45a25680891..ac2b0438845 100644 --- a/apps/sim/triggers/jira/sprint_closed.ts +++ b/apps/sim/triggers/jira/sprint_closed.ts @@ -1,5 +1,11 @@ import { JiraIcon } from '@/components/icons' -import { buildSprintOutputs, jiraSetupInstructions } from '@/triggers/jira/utils' +import { buildTriggerSubBlocks } from '@/triggers' +import { + buildJiraExtraFields, + buildSprintOutputs, + jiraSetupInstructions, + jiraTriggerOptions, +} from '@/triggers/jira/utils' import type { TriggerConfig } from '@/triggers/types' /** @@ -14,48 +20,12 @@ export const jiraSprintClosedTrigger: TriggerConfig = { version: '1.0.0', icon: JiraIcon, - subBlocks: [ - { - id: 'webhookUrlDisplay', - title: 'Webhook URL', - type: 'short-input', - readOnly: true, - showCopyButton: true, - useWebhookUrl: true, - placeholder: 'Webhook URL will be generated', - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_sprint_closed', - }, - }, - { - id: 'webhookSecret', - title: 'Webhook Secret', - type: 'short-input', - placeholder: 'Enter a strong secret', - description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', - password: true, - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_sprint_closed', - }, - }, - { - id: 'triggerInstructions', - title: 'Setup Instructions', - hideFromPreview: true, - type: 'text', - defaultValue: jiraSetupInstructions('sprint_closed'), - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_sprint_closed', - }, - }, - ], + subBlocks: buildTriggerSubBlocks({ + triggerId: 'jira_sprint_closed', + triggerOptions: jiraTriggerOptions, + setupInstructions: jiraSetupInstructions('sprint_closed'), + extraFields: buildJiraExtraFields('jira_sprint_closed'), + }), outputs: buildSprintOutputs(), diff --git a/apps/sim/triggers/jira/sprint_created.ts b/apps/sim/triggers/jira/sprint_created.ts index c46d0db477d..56705295926 100644 --- a/apps/sim/triggers/jira/sprint_created.ts +++ b/apps/sim/triggers/jira/sprint_created.ts @@ -1,5 +1,11 @@ import { JiraIcon } from '@/components/icons' -import { buildSprintOutputs, jiraSetupInstructions } from '@/triggers/jira/utils' +import { buildTriggerSubBlocks } from '@/triggers' +import { + buildJiraExtraFields, + buildSprintOutputs, + jiraSetupInstructions, + jiraTriggerOptions, +} from '@/triggers/jira/utils' import type { TriggerConfig } from '@/triggers/types' /** @@ -14,48 +20,12 @@ export const jiraSprintCreatedTrigger: TriggerConfig = { version: '1.0.0', icon: JiraIcon, - subBlocks: [ - { - id: 'webhookUrlDisplay', - title: 'Webhook URL', - type: 'short-input', - readOnly: true, - showCopyButton: true, - useWebhookUrl: true, - placeholder: 'Webhook URL will be generated', - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_sprint_created', - }, - }, - { - id: 'webhookSecret', - title: 'Webhook Secret', - type: 'short-input', - placeholder: 'Enter a strong secret', - description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', - password: true, - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_sprint_created', - }, - }, - { - id: 'triggerInstructions', - title: 'Setup Instructions', - hideFromPreview: true, - type: 'text', - defaultValue: jiraSetupInstructions('sprint_created'), - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_sprint_created', - }, - }, - ], + subBlocks: buildTriggerSubBlocks({ + triggerId: 'jira_sprint_created', + triggerOptions: jiraTriggerOptions, + setupInstructions: jiraSetupInstructions('sprint_created'), + extraFields: buildJiraExtraFields('jira_sprint_created'), + }), outputs: buildSprintOutputs(), diff --git a/apps/sim/triggers/jira/sprint_started.ts b/apps/sim/triggers/jira/sprint_started.ts index a12f83e78d0..0b86fdc7407 100644 --- a/apps/sim/triggers/jira/sprint_started.ts +++ b/apps/sim/triggers/jira/sprint_started.ts @@ -1,5 +1,11 @@ import { JiraIcon } from '@/components/icons' -import { buildSprintOutputs, jiraSetupInstructions } from '@/triggers/jira/utils' +import { buildTriggerSubBlocks } from '@/triggers' +import { + buildJiraExtraFields, + buildSprintOutputs, + jiraSetupInstructions, + jiraTriggerOptions, +} from '@/triggers/jira/utils' import type { TriggerConfig } from '@/triggers/types' /** @@ -14,48 +20,12 @@ export const jiraSprintStartedTrigger: TriggerConfig = { version: '1.0.0', icon: JiraIcon, - subBlocks: [ - { - id: 'webhookUrlDisplay', - title: 'Webhook URL', - type: 'short-input', - readOnly: true, - showCopyButton: true, - useWebhookUrl: true, - placeholder: 'Webhook URL will be generated', - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_sprint_started', - }, - }, - { - id: 'webhookSecret', - title: 'Webhook Secret', - type: 'short-input', - placeholder: 'Enter a strong secret', - description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', - password: true, - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_sprint_started', - }, - }, - { - id: 'triggerInstructions', - title: 'Setup Instructions', - hideFromPreview: true, - type: 'text', - defaultValue: jiraSetupInstructions('sprint_started'), - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_sprint_started', - }, - }, - ], + subBlocks: buildTriggerSubBlocks({ + triggerId: 'jira_sprint_started', + triggerOptions: jiraTriggerOptions, + setupInstructions: jiraSetupInstructions('sprint_started'), + extraFields: buildJiraExtraFields('jira_sprint_started'), + }), outputs: buildSprintOutputs(), diff --git a/apps/sim/triggers/jira/utils.ts b/apps/sim/triggers/jira/utils.ts index 3cdcd1ef87e..215533923a0 100644 --- a/apps/sim/triggers/jira/utils.ts +++ b/apps/sim/triggers/jira/utils.ts @@ -1,3 +1,5 @@ +import { isRecordLike } from '@sim/utils/object' +import type { SubBlockConfig } from '@/blocks/types' import type { TriggerOutput } from '@/triggers/types' /** @@ -47,6 +49,67 @@ export function jiraSetupInstructions(eventType: string, additionalNotes?: strin .join('') } +function jiraWebhookSecretField(triggerId: string): SubBlockConfig { + return { + id: 'webhookSecret', + title: 'Webhook Secret', + type: 'short-input', + placeholder: 'Enter a strong secret', + description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', + password: true, + required: false, + mode: 'trigger', + condition: { field: 'selectedTriggerId', value: triggerId }, + } +} + +function jiraJqlFilterField(triggerId: string, description: string): SubBlockConfig { + return { + id: 'jqlFilter', + title: 'JQL Filter', + type: 'long-input', + placeholder: 'project = PROJ AND issuetype = Bug', + description, + required: false, + mode: 'trigger', + condition: { field: 'selectedTriggerId', value: triggerId }, + } +} + +function jiraFieldFiltersField(triggerId: string): SubBlockConfig { + return { + id: 'fieldFilters', + title: 'Field Filters', + type: 'long-input', + placeholder: 'status, assignee, priority', + description: + 'Comma-separated list of Jira field names. Only trigger when one of these fields changes. Leave empty to trigger on any field change.', + required: false, + mode: 'trigger', + condition: { field: 'selectedTriggerId', value: triggerId }, + } +} + +/** + * Extra fields for Jira triggers (webhook secret, plus an optional JQL filter + * for issue-scoped events — project/sprint/version events have no JQL analog). + * `fieldFilters` is issue_updated-only since it's matched against that + * event's changelog, which no other Jira webhook carries. + */ +export function buildJiraExtraFields( + triggerId: string, + jqlFilterDescription?: string +): SubBlockConfig[] { + const fields: SubBlockConfig[] = [jiraWebhookSecretField(triggerId)] + if (jqlFilterDescription) { + fields.push(jiraJqlFilterField(triggerId, jqlFilterDescription)) + } + if (triggerId === 'jira_issue_updated') { + fields.push(jiraFieldFiltersField(triggerId)) + } + return fields +} + function buildBaseWebhookOutputs(): Record { return { webhookEvent: { @@ -426,7 +489,6 @@ export function isJiraEventMatch( jira_sprint_closed: ['sprint_closed'], jira_project_created: ['project_created'], jira_version_released: ['jira:version_released'], - // Generic webhook accepts all events jira_webhook: ['*'], } @@ -435,12 +497,10 @@ export function isJiraEventMatch( return false } - // Generic webhook accepts all events if (expectedEvents.includes('*')) { return true } - // Check if webhookEvent or issueEventTypeName matches return ( expectedEvents.includes(webhookEvent) || (issueEventTypeName !== undefined && expectedEvents.includes(issueEventTypeName)) @@ -448,7 +508,7 @@ export function isJiraEventMatch( } export function extractIssueData(body: unknown) { - const obj = body as Record + const obj = isRecordLike(body) ? body : {} return { webhookEvent: obj.webhookEvent, timestamp: obj.timestamp, @@ -460,7 +520,7 @@ export function extractIssueData(body: unknown) { } export function extractCommentData(body: unknown) { - const obj = body as Record + const obj = isRecordLike(body) ? body : {} return { webhookEvent: obj.webhookEvent, timestamp: obj.timestamp, @@ -471,7 +531,7 @@ export function extractCommentData(body: unknown) { } export function extractWorklogData(body: unknown) { - const obj = body as Record + const obj = isRecordLike(body) ? body : {} return { webhookEvent: obj.webhookEvent, timestamp: obj.timestamp, @@ -683,7 +743,7 @@ export function buildVersionReleasedOutputs(): Record { * Extracts sprint data from a Jira webhook payload */ export function extractSprintData(body: unknown) { - const obj = body as Record + const obj = isRecordLike(body) ? body : {} return { webhookEvent: obj.webhookEvent, timestamp: obj.timestamp, @@ -696,7 +756,7 @@ export function extractSprintData(body: unknown) { * Extracts project data from a Jira webhook payload */ export function extractProjectData(body: unknown) { - const obj = body as Record + const obj = isRecordLike(body) ? body : {} return { webhookEvent: obj.webhookEvent, timestamp: obj.timestamp, @@ -709,7 +769,7 @@ export function extractProjectData(body: unknown) { * Extracts version data from a Jira webhook payload */ export function extractVersionData(body: unknown) { - const obj = body as Record + const obj = isRecordLike(body) ? body : {} return { webhookEvent: obj.webhookEvent, timestamp: obj.timestamp, diff --git a/apps/sim/triggers/jira/version_released.ts b/apps/sim/triggers/jira/version_released.ts index 8085bb8e2ff..844fbe283aa 100644 --- a/apps/sim/triggers/jira/version_released.ts +++ b/apps/sim/triggers/jira/version_released.ts @@ -1,5 +1,11 @@ import { JiraIcon } from '@/components/icons' -import { buildVersionReleasedOutputs, jiraSetupInstructions } from '@/triggers/jira/utils' +import { buildTriggerSubBlocks } from '@/triggers' +import { + buildJiraExtraFields, + buildVersionReleasedOutputs, + jiraSetupInstructions, + jiraTriggerOptions, +} from '@/triggers/jira/utils' import type { TriggerConfig } from '@/triggers/types' /** @@ -14,48 +20,12 @@ export const jiraVersionReleasedTrigger: TriggerConfig = { version: '1.0.0', icon: JiraIcon, - subBlocks: [ - { - id: 'webhookUrlDisplay', - title: 'Webhook URL', - type: 'short-input', - readOnly: true, - showCopyButton: true, - useWebhookUrl: true, - placeholder: 'Webhook URL will be generated', - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_version_released', - }, - }, - { - id: 'webhookSecret', - title: 'Webhook Secret', - type: 'short-input', - placeholder: 'Enter a strong secret', - description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', - password: true, - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_version_released', - }, - }, - { - id: 'triggerInstructions', - title: 'Setup Instructions', - hideFromPreview: true, - type: 'text', - defaultValue: jiraSetupInstructions('jira:version_released'), - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_version_released', - }, - }, - ], + subBlocks: buildTriggerSubBlocks({ + triggerId: 'jira_version_released', + triggerOptions: jiraTriggerOptions, + setupInstructions: jiraSetupInstructions('jira:version_released'), + extraFields: buildJiraExtraFields('jira_version_released'), + }), outputs: buildVersionReleasedOutputs(), diff --git a/apps/sim/triggers/jira/webhook.ts b/apps/sim/triggers/jira/webhook.ts index 57c94751935..aff1bf23c16 100644 --- a/apps/sim/triggers/jira/webhook.ts +++ b/apps/sim/triggers/jira/webhook.ts @@ -1,5 +1,16 @@ import { JiraIcon } from '@/components/icons' -import { buildIssueOutputs, jiraSetupInstructions } from '@/triggers/jira/utils' +import { buildTriggerSubBlocks } from '@/triggers' +import { + buildCommentOutputs, + buildIssueUpdatedOutputs, + buildJiraExtraFields, + buildProjectCreatedOutputs, + buildSprintOutputs, + buildVersionReleasedOutputs, + buildWorklogOutputs, + jiraSetupInstructions, + jiraTriggerOptions, +} from '@/triggers/jira/utils' import type { TriggerConfig } from '@/triggers/types' /** @@ -14,130 +25,20 @@ export const jiraWebhookTrigger: TriggerConfig = { version: '1.0.0', icon: JiraIcon, - subBlocks: [ - { - id: 'webhookUrlDisplay', - title: 'Webhook URL', - type: 'short-input', - readOnly: true, - showCopyButton: true, - useWebhookUrl: true, - placeholder: 'Webhook URL will be generated', - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_webhook', - }, - }, - { - id: 'webhookSecret', - title: 'Webhook Secret', - type: 'short-input', - placeholder: 'Enter a strong secret', - description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', - password: true, - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_webhook', - }, - }, - { - id: 'triggerInstructions', - title: 'Setup Instructions', - hideFromPreview: true, - type: 'text', - defaultValue: jiraSetupInstructions('All Events'), - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_webhook', - }, - }, - ], + subBlocks: buildTriggerSubBlocks({ + triggerId: 'jira_webhook', + triggerOptions: jiraTriggerOptions, + setupInstructions: jiraSetupInstructions('All Events'), + extraFields: buildJiraExtraFields('jira_webhook'), + }), outputs: { - ...buildIssueOutputs(), - changelog: { - id: { - type: 'string', - description: 'Changelog ID', - }, - items: { - type: 'array', - description: - 'Array of changed items. Each item contains field, fieldtype, from, fromString, to, toString', - }, - }, - comment: { - id: { - type: 'string', - description: 'Comment ID', - }, - body: { - type: 'string', - description: 'Comment text/body', - }, - author: { - displayName: { - type: 'string', - description: 'Comment author display name', - }, - accountId: { - type: 'string', - description: 'Comment author account ID', - }, - emailAddress: { - type: 'string', - description: 'Comment author email address', - }, - }, - created: { - type: 'string', - description: 'Comment creation date (ISO format)', - }, - updated: { - type: 'string', - description: 'Comment last updated date (ISO format)', - }, - }, - worklog: { - id: { - type: 'string', - description: 'Worklog entry ID', - }, - author: { - displayName: { - type: 'string', - description: 'Worklog author display name', - }, - accountId: { - type: 'string', - description: 'Worklog author account ID', - }, - emailAddress: { - type: 'string', - description: 'Worklog author email address', - }, - }, - timeSpent: { - type: 'string', - description: 'Time spent (e.g., "2h 30m")', - }, - timeSpentSeconds: { - type: 'number', - description: 'Time spent in seconds', - }, - comment: { - type: 'string', - description: 'Worklog comment/description', - }, - started: { - type: 'string', - description: 'When the work was started (ISO format)', - }, - }, + ...buildIssueUpdatedOutputs(), + comment: buildCommentOutputs().comment, + worklog: buildWorklogOutputs().worklog, + sprint: buildSprintOutputs().sprint, + project: buildProjectCreatedOutputs().project, + version: buildVersionReleasedOutputs().version, }, webhook: { diff --git a/apps/sim/triggers/jira/worklog_created.ts b/apps/sim/triggers/jira/worklog_created.ts index 94f5e76ff82..e502be28f6f 100644 --- a/apps/sim/triggers/jira/worklog_created.ts +++ b/apps/sim/triggers/jira/worklog_created.ts @@ -1,5 +1,11 @@ import { JiraIcon } from '@/components/icons' -import { buildWorklogOutputs, jiraSetupInstructions } from '@/triggers/jira/utils' +import { buildTriggerSubBlocks } from '@/triggers' +import { + buildJiraExtraFields, + buildWorklogOutputs, + jiraSetupInstructions, + jiraTriggerOptions, +} from '@/triggers/jira/utils' import type { TriggerConfig } from '@/triggers/types' /** @@ -14,61 +20,15 @@ export const jiraWorklogCreatedTrigger: TriggerConfig = { version: '1.0.0', icon: JiraIcon, - subBlocks: [ - { - id: 'webhookUrlDisplay', - title: 'Webhook URL', - type: 'short-input', - readOnly: true, - showCopyButton: true, - useWebhookUrl: true, - placeholder: 'Webhook URL will be generated', - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_worklog_created', - }, - }, - { - id: 'webhookSecret', - title: 'Webhook Secret', - type: 'short-input', - placeholder: 'Enter a strong secret', - description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', - password: true, - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_worklog_created', - }, - }, - { - id: 'jqlFilter', - title: 'JQL Filter', - type: 'long-input', - placeholder: 'project = PROJ', - description: 'Filter which worklog entries trigger this workflow using JQL', - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_worklog_created', - }, - }, - { - id: 'triggerInstructions', - title: 'Setup Instructions', - hideFromPreview: true, - type: 'text', - defaultValue: jiraSetupInstructions('worklog_created'), - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_worklog_created', - }, - }, - ], + subBlocks: buildTriggerSubBlocks({ + triggerId: 'jira_worklog_created', + triggerOptions: jiraTriggerOptions, + setupInstructions: jiraSetupInstructions('worklog_created'), + extraFields: buildJiraExtraFields( + 'jira_worklog_created', + 'Filter which worklog entries trigger this workflow using JQL' + ), + }), outputs: buildWorklogOutputs(), diff --git a/apps/sim/triggers/jira/worklog_deleted.ts b/apps/sim/triggers/jira/worklog_deleted.ts index d2a1c17d14c..0e51b5a52dc 100644 --- a/apps/sim/triggers/jira/worklog_deleted.ts +++ b/apps/sim/triggers/jira/worklog_deleted.ts @@ -1,5 +1,11 @@ import { JiraIcon } from '@/components/icons' -import { buildWorklogOutputs, jiraSetupInstructions } from '@/triggers/jira/utils' +import { buildTriggerSubBlocks } from '@/triggers' +import { + buildJiraExtraFields, + buildWorklogOutputs, + jiraSetupInstructions, + jiraTriggerOptions, +} from '@/triggers/jira/utils' import type { TriggerConfig } from '@/triggers/types' /** @@ -14,61 +20,15 @@ export const jiraWorklogDeletedTrigger: TriggerConfig = { version: '1.0.0', icon: JiraIcon, - subBlocks: [ - { - id: 'webhookUrlDisplay', - title: 'Webhook URL', - type: 'short-input', - readOnly: true, - showCopyButton: true, - useWebhookUrl: true, - placeholder: 'Webhook URL will be generated', - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_worklog_deleted', - }, - }, - { - id: 'webhookSecret', - title: 'Webhook Secret', - type: 'short-input', - placeholder: 'Enter a strong secret', - description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', - password: true, - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_worklog_deleted', - }, - }, - { - id: 'jqlFilter', - title: 'JQL Filter', - type: 'long-input', - placeholder: 'project = PROJ', - description: 'Filter which worklog deletions trigger this workflow using JQL', - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_worklog_deleted', - }, - }, - { - id: 'triggerInstructions', - title: 'Setup Instructions', - hideFromPreview: true, - type: 'text', - defaultValue: jiraSetupInstructions('worklog_deleted'), - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_worklog_deleted', - }, - }, - ], + subBlocks: buildTriggerSubBlocks({ + triggerId: 'jira_worklog_deleted', + triggerOptions: jiraTriggerOptions, + setupInstructions: jiraSetupInstructions('worklog_deleted'), + extraFields: buildJiraExtraFields( + 'jira_worklog_deleted', + 'Filter which worklog deletions trigger this workflow using JQL' + ), + }), outputs: buildWorklogOutputs(), diff --git a/apps/sim/triggers/jira/worklog_updated.ts b/apps/sim/triggers/jira/worklog_updated.ts index 5a26c7f7e33..208f0d404af 100644 --- a/apps/sim/triggers/jira/worklog_updated.ts +++ b/apps/sim/triggers/jira/worklog_updated.ts @@ -1,5 +1,11 @@ import { JiraIcon } from '@/components/icons' -import { buildWorklogOutputs, jiraSetupInstructions } from '@/triggers/jira/utils' +import { buildTriggerSubBlocks } from '@/triggers' +import { + buildJiraExtraFields, + buildWorklogOutputs, + jiraSetupInstructions, + jiraTriggerOptions, +} from '@/triggers/jira/utils' import type { TriggerConfig } from '@/triggers/types' /** @@ -14,61 +20,15 @@ export const jiraWorklogUpdatedTrigger: TriggerConfig = { version: '1.0.0', icon: JiraIcon, - subBlocks: [ - { - id: 'webhookUrlDisplay', - title: 'Webhook URL', - type: 'short-input', - readOnly: true, - showCopyButton: true, - useWebhookUrl: true, - placeholder: 'Webhook URL will be generated', - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_worklog_updated', - }, - }, - { - id: 'webhookSecret', - title: 'Webhook Secret', - type: 'short-input', - placeholder: 'Enter a strong secret', - description: 'Optional secret to validate webhook deliveries from Jira using HMAC signature', - password: true, - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_worklog_updated', - }, - }, - { - id: 'jqlFilter', - title: 'JQL Filter', - type: 'long-input', - placeholder: 'project = PROJ', - description: 'Filter which worklog updates trigger this workflow using JQL', - required: false, - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_worklog_updated', - }, - }, - { - id: 'triggerInstructions', - title: 'Setup Instructions', - hideFromPreview: true, - type: 'text', - defaultValue: jiraSetupInstructions('worklog_updated'), - mode: 'trigger', - condition: { - field: 'selectedTriggerId', - value: 'jira_worklog_updated', - }, - }, - ], + subBlocks: buildTriggerSubBlocks({ + triggerId: 'jira_worklog_updated', + triggerOptions: jiraTriggerOptions, + setupInstructions: jiraSetupInstructions('worklog_updated'), + extraFields: buildJiraExtraFields( + 'jira_worklog_updated', + 'Filter which worklog updates trigger this workflow using JQL' + ), + }), outputs: buildWorklogOutputs(), diff --git a/apps/sim/triggers/salesforce/utils.ts b/apps/sim/triggers/salesforce/utils.ts index 99a1fc10230..1da79f322ec 100644 --- a/apps/sim/triggers/salesforce/utils.ts +++ b/apps/sim/triggers/salesforce/utils.ts @@ -153,20 +153,22 @@ export function salesforceSetupInstructions(eventType: string): string { const instructions = isGeneric ? [ 'Copy the Webhook URL above and generate a Webhook Secret (any strong random string). Paste the secret in the Webhook Secret field here.', - 'In your Flow’s HTTP Callout, set header Authorization: Bearer <your secret> or X-Sim-Webhook-Secret: <your secret> (same value).', - 'In Salesforce, go to Setup → Flows and click New Flow.', + "In Salesforce, go to Setup → Named Credentials. Create an External Credential with a custom Authentication Parameter holding your secret, then a Named Credential whose URL is the Webhook URL above, with a custom header Authorization set to {!'Bearer ' & $Credential.YourExternalCredential.YourParameter} (or a header named X-Sim-Webhook-Secret with the raw secret). When adding that custom header, check Allow Formulas in HTTP Header — if left unchecked, Salesforce sends the literal {!$Credential…} text instead of evaluating it, and authentication silently fails. Flow’s HTTP Callout action requires a Named Credential — it cannot call an arbitrary URL directly.", + 'Under the External Credential, add a Permission Set and enable External Credential Principal Access for its principal, then assign that permission set to the user the Flow runs as (the Automated Process user for background/record-triggered flows). Without this the callout fails authentication even though the Named Credential is configured correctly.', + 'Go to Setup → Flows and click New Flow.', 'Select Record-Triggered Flow and choose the object(s) you want to monitor.', - 'Add an Action that performs an HTTP Callout — method POST, Content-Type: application/json, and paste the webhook URL.', + 'Add an Action that performs an HTTP Callout using the Named Credential from step 2 — method POST, Content-Type: application/json, path / (the base URL already points at your webhook). Record-triggered flows can only make callouts on the Run Asynchronously path, so place this action there.', 'Build the request body as JSON (not SOAP/XML). Include eventType and record fields (e.g. Id, Name). Outbound Messages use SOAP and will not work with this trigger.', 'Save and Activate the Flow(s).', - 'Save this trigger in Sim first so the URL is registered; Salesforce connectivity checks may arrive before the Flow runs.', + 'Save this trigger in Sim first so the URL is registered before you build the Named Credential and Flow.', 'Click "Save" above to activate your trigger.', ] : [ - 'Copy the Webhook URL above and set a Webhook Secret. In the Flow HTTP Callout, send the same value as Authorization: Bearer … or X-Sim-Webhook-Secret: ….', - 'In Salesforce, go to Setup → Flows and click New Flow.', + 'Copy the Webhook URL above and set a Webhook Secret. In Salesforce, create an External Credential (holding the secret) and a Named Credential whose URL is this Webhook URL, with a custom header sending the same value as Authorization: Bearer … or X-Sim-Webhook-Secret: …. If the header value uses a {!$Credential…} formula, check Allow Formulas in HTTP Header when adding it — otherwise Salesforce sends the literal formula text instead of the secret. Flow’s HTTP Callout action requires a Named Credential — it cannot call an arbitrary URL directly.', + 'Under the External Credential, add a Permission Set with External Credential Principal Access enabled and assign it to the user the Flow runs as (the Automated Process user for record-triggered flows) — otherwise the callout fails authentication.', + 'Go to Setup → Flows and click New Flow.', `Select Record-Triggered Flow for the right object and ${eventType} as the entry condition.`, - 'Add an HTTP CalloutPOST, JSON body, URL = webhook URL.', + 'Add an HTTP Callout using the Named Credential from step 1 — POST, JSON body, path /. Record-triggered flows can only make callouts on the Run Asynchronously path, so place this action there.', `Include eventType in the JSON body using a value this trigger accepts (e.g. for Record Created use record_created, created, or after_insert).`, 'If you use Object Type (Optional), you must also include matching type metadata in the JSON body (for example objectType, sobjectType, or attributes.type) or the event will be rejected.', 'Save and Activate the Flow.', diff --git a/apps/sim/triggers/stripe/webhook.ts b/apps/sim/triggers/stripe/webhook.ts index e087b619346..1b33742c954 100644 --- a/apps/sim/triggers/stripe/webhook.ts +++ b/apps/sim/triggers/stripe/webhook.ts @@ -86,6 +86,10 @@ export const stripeWebhookTrigger: TriggerConfig = { { label: 'invoice.voided', id: 'invoice.voided' }, { label: 'invoice.marked_uncollectible', id: 'invoice.marked_uncollectible' }, { label: 'invoice.overdue', id: 'invoice.overdue' }, + { + label: 'invoice.payment_attempt_required', + id: 'invoice.payment_attempt_required', + }, // Products & Prices { label: 'product.created', id: 'product.created' }, @@ -149,6 +153,7 @@ export const stripeWebhookTrigger: TriggerConfig = { // Balance { label: 'balance.available', id: 'balance.available' }, + { label: 'balance_settings.updated', id: 'balance_settings.updated' }, ], placeholder: 'Leave empty to receive all events', description: From 6e87d74a933962f0d7f3eedd144c7e8d937ffc31 Mon Sep 17 00:00:00 2001 From: Waleed Date: Wed, 8 Jul 2026 19:35:57 -0700 Subject: [PATCH 24/27] feat(jupyter): add Jupyter integration (contents, kernels, sessions) (#5527) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(jupyter): add Jupyter integration (contents, kernels, sessions) - 16 tools covering Contents, Kernels, Kernelspecs, and Sessions REST APIs - File upload/download via UserFile, following the Box upload pattern - Block with operation dropdown, token auth, and 8 catalog templates - Registered tools + block, generated docs, bumped API validation baseline * fix(jupyter): address Greptile review — SSRF guard, upload path ambiguity, silent notebook fallback - Route uploads through validateUrlWithDNS + secureFetchWithPinnedIP (matches Grafana/1Password pattern) instead of a raw fetch to the user-supplied server URL - Replace the upload path/trailing-slash heuristic with an unambiguous directory + filename split - create_file no longer silently writes an empty notebook when notebook content is malformed JSON — it now errors clearly * fix(jupyter): request content=1 when listing directory contents Without it, Jupyter Server returns directory metadata with content: null, so jupyter_list_contents always reported an empty items array. * fix(jupyter): reject path-traversal segments in Jupyter content paths encodeJupyterPath now rejects '.'/'..' segments across the whole path (shared by all 16 tools, not just upload); the upload route returns a clean 400 when it's hit. * fix(jupyter): close remaining path-traversal and redirect-credential gaps - extract the traversal check out of encodeJupyterPath into a shared assertion, and apply it to body-only path fields (rename newPath, copy copyFromPath, session path) that never flowed through URL encoding and so skipped the check - pass stripAuthOnRedirect to the upload route's secureFetchWithPinnedIP call so a malicious Jupyter server can't redirect the PUT to another origin and receive the caller's token * fix(jupyter): also reject percent-encoded traversal segments A segment like %2e%2e wouldn't match the literal '..' check. Now decodes each segment before comparing, in addition to the literal check, so an already-encoded traversal attempt is caught too. * fix(jupyter): route all 15 remaining tools through an internal proxy for HTTP/private-host support and no redirects The generic external tool executor blocks plain-HTTP and non-localhost private-IP hosts by default, so every non-upload Jupyter operation could fail against typical self-hosted setups (LAN IP, docker hostname, or even literal localhost on a hosted deployment) even though the upload route worked via its own internal route. Added /api/tools/jupyter/proxy (DNS-pinned, allowHttp, maxRedirects: 0) that mirrors the upstream Jupyter response verbatim, matching the established pattern for self-hosted-arbitrary-host integrations (Grafana, 1Password) instead of the generic executor path. Each tool's request block now posts to the proxy instead of building a direct external URL; transformResponse and outputs are unchanged since the proxy response mirrors upstream status/body exactly. Also switches the upload route from stripAuthOnRedirect to maxRedirects: 0 — stronger, since it stops the uploaded file body (not just the token) from ever reaching a redirect target. * fix(jupyter): validate proxy path at the trust boundary, reject path separators in upload filename - The proxy route now independently validates the incoming path field for traversal segments instead of only relying on tool-side validation before the request reaches it — the route is a shared internal boundary, not something only our own tool code can call - The upload route's fileName can come from an advanced override or the legacy fileContent path and could itself contain '/' or '\', silently nesting the upload deeper than the directory param specified. Now rejected outright before joining. * fix(jupyter): decode the whole path before splitting, not per-already-split segment A segment like foo%2f..%2fsecret has no literal slash, so splitting on literal '/' first and decoding each piece in isolation treats it as one opaque segment and never notices the '..' hiding behind the encoded slash. Decode the full path once, then split and check every segment the target server's own single URL-decode pass would see. --- apps/docs/components/icons.tsx | 69 +++ apps/docs/components/ui/icon-mapping.ts | 2 + .../content/docs/en/integrations/jupyter.mdx | 383 ++++++++++++++++ .../content/docs/en/integrations/meta.json | 1 + apps/sim/app/api/tools/jupyter/proxy/route.ts | 95 ++++ .../sim/app/api/tools/jupyter/upload/route.ts | 151 +++++++ apps/sim/blocks/blocks/jupyter.ts | 417 ++++++++++++++++++ apps/sim/blocks/registry-maps.ts | 3 + apps/sim/components/icons.tsx | 69 +++ .../sim/lib/api/contracts/storage-transfer.ts | 18 + apps/sim/lib/api/contracts/tools/jupyter.ts | 23 + apps/sim/lib/integrations/icon-mapping.ts | 2 + apps/sim/lib/integrations/integrations.json | 85 +++- apps/sim/tools/jupyter/copy_content.ts | 81 ++++ apps/sim/tools/jupyter/create_file.ts | 119 +++++ apps/sim/tools/jupyter/create_session.ts | 110 +++++ apps/sim/tools/jupyter/delete_content.ts | 70 +++ apps/sim/tools/jupyter/delete_session.ts | 69 +++ apps/sim/tools/jupyter/get_content.ts | 117 +++++ apps/sim/tools/jupyter/index.ts | 16 + apps/sim/tools/jupyter/interrupt_kernel.ts | 69 +++ apps/sim/tools/jupyter/list_contents.ts | 107 +++++ apps/sim/tools/jupyter/list_kernels.ts | 76 ++++ apps/sim/tools/jupyter/list_kernelspecs.ts | 93 ++++ apps/sim/tools/jupyter/list_sessions.ts | 99 +++++ apps/sim/tools/jupyter/rename_content.ts | 84 ++++ apps/sim/tools/jupyter/restart_kernel.ts | 71 +++ apps/sim/tools/jupyter/start_kernel.ts | 69 +++ apps/sim/tools/jupyter/stop_kernel.ts | 64 +++ apps/sim/tools/jupyter/types.ts | 226 ++++++++++ apps/sim/tools/jupyter/upload_file.ts | 86 ++++ apps/sim/tools/jupyter/utils.ts | 187 ++++++++ apps/sim/tools/registry.ts | 34 ++ scripts/check-api-validation-contracts.ts | 4 +- 34 files changed, 3166 insertions(+), 3 deletions(-) create mode 100644 apps/docs/content/docs/en/integrations/jupyter.mdx create mode 100644 apps/sim/app/api/tools/jupyter/proxy/route.ts create mode 100644 apps/sim/app/api/tools/jupyter/upload/route.ts create mode 100644 apps/sim/blocks/blocks/jupyter.ts create mode 100644 apps/sim/lib/api/contracts/tools/jupyter.ts create mode 100644 apps/sim/tools/jupyter/copy_content.ts create mode 100644 apps/sim/tools/jupyter/create_file.ts create mode 100644 apps/sim/tools/jupyter/create_session.ts create mode 100644 apps/sim/tools/jupyter/delete_content.ts create mode 100644 apps/sim/tools/jupyter/delete_session.ts create mode 100644 apps/sim/tools/jupyter/get_content.ts create mode 100644 apps/sim/tools/jupyter/index.ts create mode 100644 apps/sim/tools/jupyter/interrupt_kernel.ts create mode 100644 apps/sim/tools/jupyter/list_contents.ts create mode 100644 apps/sim/tools/jupyter/list_kernels.ts create mode 100644 apps/sim/tools/jupyter/list_kernelspecs.ts create mode 100644 apps/sim/tools/jupyter/list_sessions.ts create mode 100644 apps/sim/tools/jupyter/rename_content.ts create mode 100644 apps/sim/tools/jupyter/restart_kernel.ts create mode 100644 apps/sim/tools/jupyter/start_kernel.ts create mode 100644 apps/sim/tools/jupyter/stop_kernel.ts create mode 100644 apps/sim/tools/jupyter/types.ts create mode 100644 apps/sim/tools/jupyter/upload_file.ts create mode 100644 apps/sim/tools/jupyter/utils.ts diff --git a/apps/docs/components/icons.tsx b/apps/docs/components/icons.tsx index ea1eeea8a10..c213134b0e1 100644 --- a/apps/docs/components/icons.tsx +++ b/apps/docs/components/icons.tsx @@ -8412,3 +8412,72 @@ export function FlowiseIcon(props: SVGProps) { ) } + +export function JupyterIcon(props: SVGProps) { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} diff --git a/apps/docs/components/ui/icon-mapping.ts b/apps/docs/components/ui/icon-mapping.ts index f5f3a71a108..38effba830e 100644 --- a/apps/docs/components/ui/icon-mapping.ts +++ b/apps/docs/components/ui/icon-mapping.ts @@ -115,6 +115,7 @@ import { JinaAIIcon, JiraIcon, JiraServiceManagementIcon, + JupyterIcon, KalshiIcon, KetchIcon, LangsmithIcon, @@ -364,6 +365,7 @@ export const blockTypeToIconMap: Record = { jina: JinaAIIcon, jira: JiraIcon, jira_service_management: JiraServiceManagementIcon, + jupyter: JupyterIcon, kalshi: KalshiIcon, kalshi_v2: KalshiIcon, ketch: KetchIcon, diff --git a/apps/docs/content/docs/en/integrations/jupyter.mdx b/apps/docs/content/docs/en/integrations/jupyter.mdx new file mode 100644 index 00000000000..81c333a73f2 --- /dev/null +++ b/apps/docs/content/docs/en/integrations/jupyter.mdx @@ -0,0 +1,383 @@ +--- +title: Jupyter +description: Manage files, notebooks, kernels, and sessions on a Jupyter server +--- + +import { BlockInfoCard } from "@/components/ui/block-info-card" + + + +## Usage Instructions + +Integrate a self-hosted Jupyter server into the workflow. Browse, read, create, upload, rename, copy, and delete files and notebooks; start, stop, restart, and interrupt kernels; and manage sessions that bind notebooks to kernels. + + + +## Actions + +### `jupyter_list_contents` + +List files, notebooks, and subdirectories at a path on a Jupyter server + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | +| `path` | string | No | Directory path to list, relative to the server root. Leave blank for root. | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `items` | array | Directory entries at the requested path | +| ↳ `name` | string | Entry name | +| ↳ `path` | string | Entry path relative to server root | +| ↳ `type` | string | directory, file, or notebook | +| ↳ `writable` | boolean | Whether the entry is writable | +| ↳ `created` | string | Creation timestamp | +| ↳ `lastModified` | string | Last modified timestamp | +| ↳ `size` | number | Size in bytes | +| ↳ `mimetype` | string | MIME type \(files only\) | +| ↳ `format` | string | json, text, or base64 | +| `path` | string | The listed directory path | + +### `jupyter_get_content` + +Read a file or notebook from a Jupyter server + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | +| `path` | string | Yes | Path of the file or notebook to read, relative to the server root | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `name` | string | File or notebook name | +| `path` | string | Path relative to the server root | +| `mimetype` | string | MIME type of the content | +| `text` | string | Text content, for text files and notebooks \(JSON-stringified\) | +| `file` | file | Binary content stored as a file, for base64-format content | + +### `jupyter_create_file` + +Create a file, notebook, or directory on a Jupyter server + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | +| `path` | string | Yes | Path to create, relative to the server root | +| `type` | string | Yes | Type of entry to create: file, notebook, or directory | +| `content` | string | No | Content to write. For a file, plain text. For a notebook, a JSON-stringified nbformat document \(defaults to an empty notebook\). Ignored for directories. | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `name` | string | Created entry name | +| `path` | string | Created entry path | +| `type` | string | directory, file, or notebook | +| `createdAt` | string | Creation timestamp | +| `lastModified` | string | Last modified timestamp | + +### `jupyter_upload_file` + +Upload a file to a Jupyter server + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | +| `directory` | string | No | Destination directory, relative to the server root. Leave blank to upload to the root directory. | +| `file` | file | No | The file to upload \(UserFile object\) | +| `fileContent` | string | No | Legacy: base64 encoded file content | +| `fileName` | string | No | Optional filename override | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `name` | string | Uploaded file name | +| `path` | string | Uploaded file path | +| `size` | number | File size in bytes | +| `lastModified` | string | Last modified timestamp | + +### `jupyter_rename_content` + +Rename or move a file, notebook, or directory on a Jupyter server + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | +| `path` | string | Yes | Current path of the entry, relative to the server root | +| `newPath` | string | Yes | New path for the entry, relative to the server root | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `name` | string | New entry name | +| `path` | string | New entry path | +| `lastModified` | string | Last modified timestamp | + +### `jupyter_delete_content` + +Delete a file, notebook, or directory on a Jupyter server + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | +| `path` | string | Yes | Path of the entry to delete, relative to the server root | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `success` | boolean | Whether the entry was deleted | +| `path` | string | Deleted entry path | + +### `jupyter_copy_content` + +Duplicate a file or notebook into a directory on a Jupyter server + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | +| `path` | string | Yes | Destination directory path, relative to the server root | +| `copyFromPath` | string | Yes | Path of the file or notebook to copy, relative to the server root | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `name` | string | Name of the copied entry | +| `path` | string | Path of the copied entry | +| `createdAt` | string | Creation timestamp | + +### `jupyter_list_kernels` + +List running kernels on a Jupyter server + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `kernels` | array | Running kernels | +| ↳ `id` | string | Kernel ID | +| ↳ `name` | string | Kernel spec name | +| ↳ `lastActivity` | string | Last activity timestamp | +| ↳ `executionState` | string | Kernel execution state | +| ↳ `connections` | number | Active connection count | + +### `jupyter_start_kernel` + +Start a new kernel on a Jupyter server + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | +| `kernelName` | string | No | Kernel spec name to start \(e.g. python3\). Defaults to the server default. | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `id` | string | Kernel ID | +| `name` | string | Kernel spec name | +| `lastActivity` | string | Last activity timestamp | +| `executionState` | string | Kernel execution state | +| `connections` | number | Active connection count | + +### `jupyter_stop_kernel` + +Shut down a running kernel on a Jupyter server + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | +| `kernelId` | string | Yes | ID of the kernel to shut down | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `success` | boolean | Whether the kernel was shut down | +| `kernelId` | string | Shut down kernel ID | + +### `jupyter_restart_kernel` + +Restart a running kernel on a Jupyter server + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | +| `kernelId` | string | Yes | ID of the kernel to restart | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `id` | string | Kernel ID | +| `name` | string | Kernel spec name | +| `lastActivity` | string | Last activity timestamp | +| `executionState` | string | Kernel execution state | +| `connections` | number | Active connection count | + +### `jupyter_interrupt_kernel` + +Interrupt a running kernel on a Jupyter server + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | +| `kernelId` | string | Yes | ID of the kernel to interrupt | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `success` | boolean | Whether the interrupt was sent | +| `kernelId` | string | Interrupted kernel ID | + +### `jupyter_list_kernelspecs` + +List available kernel specs (languages/runtimes) on a Jupyter server + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `defaultKernelName` | string | Default kernel spec name | +| `kernelspecs` | array | Available kernel specs | +| ↳ `name` | string | Kernel spec name | +| ↳ `displayName` | string | Human-readable display name | +| ↳ `language` | string | Kernel language | +| ↳ `argv` | array | Launch command arguments | +| ↳ `interruptMode` | string | Interrupt mode | + +### `jupyter_list_sessions` + +List active sessions (notebook-to-kernel bindings) on a Jupyter server + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `sessions` | array | Active sessions | +| ↳ `id` | string | Session ID | +| ↳ `path` | string | Notebook path bound to this session | +| ↳ `name` | string | Session name | +| ↳ `type` | string | Session type | +| ↳ `kernel` | object | Kernel bound to this session | +| ↳ `id` | string | Kernel ID | +| ↳ `name` | string | Kernel spec name | +| ↳ `lastActivity` | string | Last activity timestamp | +| ↳ `executionState` | string | Kernel execution state | +| ↳ `connections` | number | Active connection count | + +### `jupyter_create_session` + +Create a session that binds a notebook path to a (new or existing) kernel + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | +| `path` | string | Yes | Notebook path to bind the session to, relative to the server root | +| `kernelName` | string | No | Kernel spec name to start for this session \(e.g. python3\) | +| `name` | string | No | Optional session name | +| `type` | string | No | Session type, defaults to 'notebook' | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `id` | string | Session ID | +| `path` | string | Notebook path bound to this session | +| `name` | string | Session name | +| `type` | string | Session type | +| `kernel` | object | Kernel bound to this session | +| ↳ `id` | string | Kernel ID | +| ↳ `name` | string | Kernel spec name | +| ↳ `lastActivity` | string | Last activity timestamp | +| ↳ `executionState` | string | Kernel execution state | +| ↳ `connections` | number | Active connection count | + +### `jupyter_delete_session` + +Delete a session on a Jupyter server (does not shut down its kernel) + +#### Input + +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `serverUrl` | string | Yes | Base URL of the Jupyter server \(e.g. http://localhost:8888\) | +| `token` | string | Yes | Jupyter server authentication token | +| `sessionId` | string | Yes | ID of the session to delete | + +#### Output + +| Parameter | Type | Description | +| --------- | ---- | ----------- | +| `success` | boolean | Whether the session was deleted | +| `sessionId` | string | Deleted session ID | + + diff --git a/apps/docs/content/docs/en/integrations/meta.json b/apps/docs/content/docs/en/integrations/meta.json index ae36529830d..85ab2e676bc 100644 --- a/apps/docs/content/docs/en/integrations/meta.json +++ b/apps/docs/content/docs/en/integrations/meta.json @@ -116,6 +116,7 @@ "jina", "jira", "jira_service_management", + "jupyter", "kalshi", "ketch", "knowledge", diff --git a/apps/sim/app/api/tools/jupyter/proxy/route.ts b/apps/sim/app/api/tools/jupyter/proxy/route.ts new file mode 100644 index 00000000000..d30a68a4a49 --- /dev/null +++ b/apps/sim/app/api/tools/jupyter/proxy/route.ts @@ -0,0 +1,95 @@ +import { createLogger } from '@sim/logger' +import { getErrorMessage } from '@sim/utils/errors' +import { type NextRequest, NextResponse } from 'next/server' +import { jupyterProxyContract } from '@/lib/api/contracts/tools/jupyter' +import { parseRequest } from '@/lib/api/server' +import { checkInternalAuth } from '@/lib/auth/hybrid' +import { + secureFetchWithPinnedIP, + validateUrlWithDNS, +} from '@/lib/core/security/input-validation.server' +import { generateRequestId } from '@/lib/core/utils/request' +import { withRouteHandler } from '@/lib/core/utils/with-route-handler' +import { + assertSafeJupyterProxyPath, + buildJupyterAuthHeaders, + normalizeJupyterServerUrl, + UnsafeJupyterPathError, +} from '@/tools/jupyter/utils' + +export const dynamic = 'force-dynamic' + +const logger = createLogger('JupyterProxyAPI') + +/** + * Proxies Contents/Kernels/Kernelspecs/Sessions API calls to a self-hosted + * Jupyter server. Self-hosted servers have no fixed public host, so every + * request is server-side (DNS-pinned, http(s) allowed, redirects disabled) + * rather than going through the generic external tool executor, which blocks + * plain-HTTP and private-IP hosts by default. Mirrors the upstream status + * and body verbatim so callers can treat this exactly like a direct fetch. + */ +export const POST = withRouteHandler(async (request: NextRequest) => { + const requestId = generateRequestId() + + try { + const authResult = await checkInternalAuth(request, { requireWorkflowId: false }) + if (!authResult.success || !authResult.userId) { + logger.warn(`[${requestId}] Unauthorized Jupyter proxy attempt: ${authResult.error}`) + return NextResponse.json( + { success: false, error: authResult.error || 'Authentication required' }, + { status: 401 } + ) + } + + const parsed = await parseRequest(jupyterProxyContract, request, {}) + if (!parsed.success) return parsed.response + const data = parsed.data.body + + try { + assertSafeJupyterProxyPath(data.path) + } catch (error) { + if (error instanceof UnsafeJupyterPathError) { + return NextResponse.json({ success: false, error: error.message }, { status: 400 }) + } + throw error + } + + const base = normalizeJupyterServerUrl(data.serverUrl) + const url = `${base}/api/${data.path}` + + const urlValidation = await validateUrlWithDNS(url, 'serverUrl', { allowHttp: true }) + if (!urlValidation.isValid || !urlValidation.resolvedIP) { + return NextResponse.json( + { success: false, error: `Invalid Jupyter serverUrl: ${urlValidation.error}` }, + { status: 400 } + ) + } + + const hasBody = data.body !== undefined && data.body !== null + + const upstream = await secureFetchWithPinnedIP(url, urlValidation.resolvedIP, { + method: data.method, + headers: { + ...buildJupyterAuthHeaders(data.token), + ...(hasBody ? { 'Content-Type': 'application/json' } : {}), + }, + body: hasBody ? JSON.stringify(data.body) : undefined, + allowHttp: true, + maxRedirects: 0, + }) + + const text = await upstream.text() + + return new NextResponse(text.length > 0 ? text : null, { + status: upstream.status, + headers: { 'Content-Type': upstream.headers.get('content-type') || 'application/json' }, + }) + } catch (error) { + logger.error(`[${requestId}] Unexpected error:`, error) + return NextResponse.json( + { success: false, error: getErrorMessage(error, 'Unknown error') }, + { status: 500 } + ) + } +}) diff --git a/apps/sim/app/api/tools/jupyter/upload/route.ts b/apps/sim/app/api/tools/jupyter/upload/route.ts new file mode 100644 index 00000000000..3c12cb21bbf --- /dev/null +++ b/apps/sim/app/api/tools/jupyter/upload/route.ts @@ -0,0 +1,151 @@ +import { createLogger } from '@sim/logger' +import { getErrorMessage } from '@sim/utils/errors' +import { type NextRequest, NextResponse } from 'next/server' +import { jupyterUploadContract } from '@/lib/api/contracts/storage-transfer' +import { parseRequest } from '@/lib/api/server' +import { checkInternalAuth } from '@/lib/auth/hybrid' +import { + secureFetchWithPinnedIP, + validateUrlWithDNS, +} from '@/lib/core/security/input-validation.server' +import { generateRequestId } from '@/lib/core/utils/request' +import { withRouteHandler } from '@/lib/core/utils/with-route-handler' +import { processFilesToUserFiles, type RawFileInput } from '@/lib/uploads/utils/file-utils' +import { downloadServableFileFromStorage } from '@/lib/uploads/utils/file-utils.server' +import { docNotReadyResponse } from '@/lib/uploads/utils/servable-file-response' +import { assertToolFileAccess } from '@/app/api/files/authorization' +import { + buildJupyterAuthHeaders, + encodeJupyterPath, + normalizeJupyterServerUrl, + UnsafeJupyterPathError, +} from '@/tools/jupyter/utils' + +export const dynamic = 'force-dynamic' + +const logger = createLogger('JupyterUploadAPI') + +export const POST = withRouteHandler(async (request: NextRequest) => { + const requestId = generateRequestId() + + try { + const authResult = await checkInternalAuth(request, { requireWorkflowId: false }) + if (!authResult.success || !authResult.userId) { + logger.warn(`[${requestId}] Unauthorized Jupyter upload attempt: ${authResult.error}`) + return NextResponse.json( + { success: false, error: authResult.error || 'Authentication required' }, + { status: 401 } + ) + } + + const parsed = await parseRequest(jupyterUploadContract, request, {}) + if (!parsed.success) return parsed.response + const data = parsed.data.body + + let fileBuffer: Buffer + let fileName: string + + if (data.file) { + const userFiles = processFilesToUserFiles([data.file as RawFileInput], requestId, logger) + if (userFiles.length === 0) { + return NextResponse.json({ success: false, error: 'Invalid file input' }, { status: 400 }) + } + const userFile = userFiles[0] + + const denied = await assertToolFileAccess(userFile.key, authResult.userId, requestId, logger) + if (denied) return denied + + try { + const result = await downloadServableFileFromStorage(userFile, requestId, logger) + fileBuffer = result.buffer + } catch (error) { + const notReady = docNotReadyResponse(error) + if (notReady) return notReady + return NextResponse.json( + { success: false, error: getErrorMessage(error, 'Failed to download file') }, + { status: 500 } + ) + } + fileName = data.fileName || userFile.name + } else if (data.fileContent) { + fileBuffer = Buffer.from(data.fileContent, 'base64') + fileName = data.fileName || 'file' + } else { + return NextResponse.json({ success: false, error: 'File is required' }, { status: 400 }) + } + + if (/[/\\]/.test(fileName)) { + return NextResponse.json( + { success: false, error: 'File name must not contain path separators' }, + { status: 400 } + ) + } + + const base = normalizeJupyterServerUrl(data.serverUrl) + const destinationDirectory = (data.directory ?? '').replace(/\/+$/, '') + const destinationPath = destinationDirectory ? `${destinationDirectory}/${fileName}` : fileName + + let encodedDestinationPath: string + try { + encodedDestinationPath = encodeJupyterPath(destinationPath) + } catch (error) { + if (error instanceof UnsafeJupyterPathError) { + return NextResponse.json({ success: false, error: error.message }, { status: 400 }) + } + throw error + } + const uploadUrl = `${base}/api/contents/${encodedDestinationPath}` + + const urlValidation = await validateUrlWithDNS(uploadUrl, 'serverUrl', { allowHttp: true }) + if (!urlValidation.isValid || !urlValidation.resolvedIP) { + return NextResponse.json( + { success: false, error: `Invalid Jupyter serverUrl: ${urlValidation.error}` }, + { status: 400 } + ) + } + + const response = await secureFetchWithPinnedIP(uploadUrl, urlValidation.resolvedIP, { + method: 'PUT', + headers: { + ...buildJupyterAuthHeaders(data.token), + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + type: 'file', + format: 'base64', + content: fileBuffer.toString('base64'), + }), + allowHttp: true, + maxRedirects: 0, + }) + + if (!response.ok) { + const errorText = await response.text() + logger.error(`[${requestId}] Jupyter API error:`, { status: response.status, errorText }) + return NextResponse.json( + { success: false, error: `Jupyter API error: ${response.status} ${errorText}` }, + { status: response.status } + ) + } + + const uploaded = await response.json() + + logger.info(`[${requestId}] File uploaded to Jupyter: ${uploaded.path}`) + + return NextResponse.json({ + success: true, + output: { + name: uploaded.name ?? fileName, + path: uploaded.path ?? destinationPath, + size: uploaded.size ?? fileBuffer.length, + lastModified: uploaded.last_modified ?? null, + }, + }) + } catch (error) { + logger.error(`[${requestId}] Unexpected error:`, error) + return NextResponse.json( + { success: false, error: getErrorMessage(error, 'Unknown error') }, + { status: 500 } + ) + } +}) diff --git a/apps/sim/blocks/blocks/jupyter.ts b/apps/sim/blocks/blocks/jupyter.ts new file mode 100644 index 00000000000..2febc557c73 --- /dev/null +++ b/apps/sim/blocks/blocks/jupyter.ts @@ -0,0 +1,417 @@ +import { JupyterIcon } from '@/components/icons' +import type { BlockConfig, BlockMeta } from '@/blocks/types' +import { AuthMode, IntegrationType } from '@/blocks/types' +import { normalizeFileInput } from '@/blocks/utils' + +const PATH_OPERATIONS = [ + 'jupyter_list_contents', + 'jupyter_get_content', + 'jupyter_create_file', + 'jupyter_rename_content', + 'jupyter_delete_content', + 'jupyter_copy_content', + 'jupyter_create_session', +] as const + +const REQUIRED_PATH_OPERATIONS = [ + 'jupyter_get_content', + 'jupyter_create_file', + 'jupyter_rename_content', + 'jupyter_delete_content', + 'jupyter_copy_content', + 'jupyter_create_session', +] as const + +const KERNEL_ID_OPERATIONS = [ + 'jupyter_stop_kernel', + 'jupyter_restart_kernel', + 'jupyter_interrupt_kernel', +] as const + +export const JupyterBlock: BlockConfig = { + type: 'jupyter', + name: 'Jupyter', + description: 'Manage files, notebooks, kernels, and sessions on a Jupyter server', + longDescription: + 'Integrate a self-hosted Jupyter server into the workflow. Browse, read, create, upload, rename, copy, and delete files and notebooks; start, stop, restart, and interrupt kernels; and manage sessions that bind notebooks to kernels.', + docsLink: 'https://docs.sim.ai/integrations/jupyter', + category: 'tools', + integrationType: IntegrationType.DevOps, + bgColor: '#FFFFFF', + icon: JupyterIcon, + authMode: AuthMode.ApiKey, + + subBlocks: [ + { + id: 'operation', + title: 'Operation', + type: 'dropdown', + options: [ + { label: 'List Contents', id: 'jupyter_list_contents' }, + { label: 'Get Content', id: 'jupyter_get_content' }, + { label: 'Create File', id: 'jupyter_create_file' }, + { label: 'Upload File', id: 'jupyter_upload_file' }, + { label: 'Rename Content', id: 'jupyter_rename_content' }, + { label: 'Delete Content', id: 'jupyter_delete_content' }, + { label: 'Copy Content', id: 'jupyter_copy_content' }, + { label: 'List Kernels', id: 'jupyter_list_kernels' }, + { label: 'Start Kernel', id: 'jupyter_start_kernel' }, + { label: 'Stop Kernel', id: 'jupyter_stop_kernel' }, + { label: 'Restart Kernel', id: 'jupyter_restart_kernel' }, + { label: 'Interrupt Kernel', id: 'jupyter_interrupt_kernel' }, + { label: 'List Kernel Specs', id: 'jupyter_list_kernelspecs' }, + { label: 'List Sessions', id: 'jupyter_list_sessions' }, + { label: 'Create Session', id: 'jupyter_create_session' }, + { label: 'Delete Session', id: 'jupyter_delete_session' }, + ], + value: () => 'jupyter_list_contents', + }, + { + id: 'serverUrl', + title: 'Server URL', + type: 'short-input', + placeholder: 'http://localhost:8888', + required: true, + }, + { + id: 'token', + title: 'Token', + type: 'short-input', + placeholder: 'Enter your Jupyter server token', + password: true, + required: true, + }, + + // Path (shared across contents operations) + { + id: 'path', + title: 'Path', + type: 'short-input', + placeholder: 'notebooks/analysis.ipynb', + condition: { field: 'operation', value: [...PATH_OPERATIONS] }, + required: { field: 'operation', value: [...REQUIRED_PATH_OPERATIONS] }, + }, + + // Create File + { + id: 'type', + title: 'Type', + type: 'dropdown', + options: [ + { label: 'File', id: 'file' }, + { label: 'Notebook', id: 'notebook' }, + { label: 'Directory', id: 'directory' }, + ], + value: () => 'file', + condition: { field: 'operation', value: 'jupyter_create_file' }, + required: { field: 'operation', value: 'jupyter_create_file' }, + }, + { + id: 'content', + title: 'Content', + type: 'long-input', + placeholder: 'File text, or a JSON-stringified notebook document', + mode: 'advanced', + condition: { field: 'operation', value: 'jupyter_create_file' }, + }, + + // Upload File + { + id: 'directory', + title: 'Directory', + type: 'short-input', + placeholder: 'notebooks (leave blank for the root directory)', + condition: { field: 'operation', value: 'jupyter_upload_file' }, + }, + { + id: 'uploadFile', + title: 'File', + type: 'file-upload', + canonicalParamId: 'file', + placeholder: 'Upload file to send to Jupyter', + mode: 'basic', + multiple: false, + required: { field: 'operation', value: 'jupyter_upload_file' }, + condition: { field: 'operation', value: 'jupyter_upload_file' }, + }, + { + id: 'fileRef', + title: 'File', + type: 'short-input', + canonicalParamId: 'file', + placeholder: 'Reference file from previous blocks', + mode: 'advanced', + required: { field: 'operation', value: 'jupyter_upload_file' }, + condition: { field: 'operation', value: 'jupyter_upload_file' }, + }, + { + id: 'uploadFileName', + title: 'File Name', + type: 'short-input', + placeholder: 'Optional filename override', + mode: 'advanced', + condition: { field: 'operation', value: 'jupyter_upload_file' }, + }, + + // Rename Content + { + id: 'newPath', + title: 'New Path', + type: 'short-input', + placeholder: 'notebooks/renamed.ipynb', + condition: { field: 'operation', value: 'jupyter_rename_content' }, + required: { field: 'operation', value: 'jupyter_rename_content' }, + }, + + // Copy Content + { + id: 'copyFromPath', + title: 'Copy From Path', + type: 'short-input', + placeholder: 'notebooks/source.ipynb', + condition: { field: 'operation', value: 'jupyter_copy_content' }, + required: { field: 'operation', value: 'jupyter_copy_content' }, + }, + + // Kernels + { + id: 'kernelName', + title: 'Kernel Name', + type: 'short-input', + placeholder: 'python3', + condition: { field: 'operation', value: ['jupyter_start_kernel', 'jupyter_create_session'] }, + }, + { + id: 'kernelId', + title: 'Kernel ID', + type: 'short-input', + placeholder: 'Enter kernel ID', + condition: { field: 'operation', value: [...KERNEL_ID_OPERATIONS] }, + required: { field: 'operation', value: [...KERNEL_ID_OPERATIONS] }, + }, + + // Sessions + { + id: 'sessionName', + title: 'Session Name', + type: 'short-input', + placeholder: 'Optional session name', + mode: 'advanced', + condition: { field: 'operation', value: 'jupyter_create_session' }, + }, + { + id: 'sessionType', + title: 'Session Type', + type: 'short-input', + placeholder: 'notebook', + mode: 'advanced', + condition: { field: 'operation', value: 'jupyter_create_session' }, + }, + { + id: 'sessionId', + title: 'Session ID', + type: 'short-input', + placeholder: 'Enter session ID', + condition: { field: 'operation', value: 'jupyter_delete_session' }, + required: { field: 'operation', value: 'jupyter_delete_session' }, + }, + ], + + tools: { + access: [ + 'jupyter_list_contents', + 'jupyter_get_content', + 'jupyter_create_file', + 'jupyter_upload_file', + 'jupyter_rename_content', + 'jupyter_delete_content', + 'jupyter_copy_content', + 'jupyter_list_kernels', + 'jupyter_start_kernel', + 'jupyter_stop_kernel', + 'jupyter_restart_kernel', + 'jupyter_interrupt_kernel', + 'jupyter_list_kernelspecs', + 'jupyter_list_sessions', + 'jupyter_create_session', + 'jupyter_delete_session', + ], + config: { + tool: (params) => params.operation as string, + params: (params) => { + const normalizedFile = normalizeFileInput(params.file, { single: true }) + if (normalizedFile) { + params.file = normalizedFile + } + + const { operation, ...rest } = params + + const baseParams: Record = { + serverUrl: rest.serverUrl, + token: rest.token, + } + + switch (operation) { + case 'jupyter_list_contents': + if (rest.path) baseParams.path = rest.path + break + case 'jupyter_get_content': + case 'jupyter_delete_content': + baseParams.path = rest.path + break + case 'jupyter_create_file': + baseParams.path = rest.path + baseParams.type = rest.type + if (rest.content) baseParams.content = rest.content + break + case 'jupyter_upload_file': + if (rest.directory) baseParams.directory = rest.directory + baseParams.file = rest.file + if (rest.uploadFileName) baseParams.fileName = rest.uploadFileName + break + case 'jupyter_rename_content': + baseParams.path = rest.path + baseParams.newPath = rest.newPath + break + case 'jupyter_copy_content': + baseParams.path = rest.path + baseParams.copyFromPath = rest.copyFromPath + break + case 'jupyter_start_kernel': + if (rest.kernelName) baseParams.kernelName = rest.kernelName + break + case 'jupyter_stop_kernel': + case 'jupyter_restart_kernel': + case 'jupyter_interrupt_kernel': + baseParams.kernelId = rest.kernelId + break + case 'jupyter_create_session': + baseParams.path = rest.path + if (rest.kernelName) baseParams.kernelName = rest.kernelName + if (rest.sessionName) baseParams.name = rest.sessionName + if (rest.sessionType) baseParams.type = rest.sessionType + break + case 'jupyter_delete_session': + baseParams.sessionId = rest.sessionId + break + } + + return baseParams + }, + }, + }, + + inputs: { + operation: { type: 'string', description: 'Operation to perform' }, + serverUrl: { type: 'string', description: 'Jupyter server base URL' }, + token: { type: 'string', description: 'Jupyter server authentication token' }, + path: { type: 'string', description: 'Path relative to the server root' }, + type: { type: 'string', description: 'file, notebook, or directory' }, + content: { type: 'string', description: 'File or notebook content' }, + directory: { type: 'string', description: 'Upload destination directory' }, + file: { type: 'json', description: 'File to upload (canonical param)' }, + uploadFileName: { type: 'string', description: 'Optional filename override' }, + newPath: { type: 'string', description: 'New path for rename/move' }, + copyFromPath: { type: 'string', description: 'Source path to copy from' }, + kernelName: { type: 'string', description: 'Kernel spec name' }, + kernelId: { type: 'string', description: 'Kernel ID' }, + sessionName: { type: 'string', description: 'Session name' }, + sessionType: { type: 'string', description: 'Session type' }, + sessionId: { type: 'string', description: 'Session ID' }, + }, + + outputs: { + items: 'json', + path: 'string', + name: 'string', + type: 'string', + mimetype: 'string', + text: 'string', + file: 'file', + size: 'number', + createdAt: 'string', + lastModified: 'string', + success: 'boolean', + id: 'string', + lastActivity: 'string', + executionState: 'string', + connections: 'number', + kernels: 'json', + defaultKernelName: 'string', + kernelspecs: 'json', + sessions: 'json', + kernel: 'json', + kernelId: 'string', + sessionId: 'string', + }, +} + +export const JupyterBlockMeta = { + tags: ['automation', 'data-analytics'], + templates: [ + { + icon: JupyterIcon, + title: 'Jupyter notebook creator', + prompt: + 'Build a workflow that generates a Jupyter notebook from a data analysis request and creates it on a self-hosted Jupyter server.', + modules: ['agent', 'workflows'], + category: 'engineering', + tags: ['automation'], + }, + { + icon: JupyterIcon, + title: 'Upload datasets to Jupyter', + prompt: + 'Build a workflow that uploads a file from a Table row to a Jupyter server as a dataset for later analysis.', + modules: ['tables', 'workflows'], + category: 'operations', + tags: ['automation'], + }, + { + icon: JupyterIcon, + title: 'Jupyter kernel health check', + prompt: + 'Build a scheduled workflow that lists running Jupyter kernels, restarts any kernel stuck in a busy state, and posts a summary to Slack.', + modules: ['scheduled', 'workflows'], + category: 'operations', + tags: ['automation', 'monitoring'], + alsoIntegrations: ['slack'], + }, + { + icon: JupyterIcon, + title: 'Notebook directory sync report', + prompt: + 'Build a workflow that lists the contents of a Jupyter server directory and writes a summary of files and notebooks to a Table.', + modules: ['tables', 'workflows'], + category: 'operations', + tags: ['automation'], + }, + { + icon: JupyterIcon, + title: 'Read notebook and summarize', + prompt: + 'Build a workflow that reads a Jupyter notebook, has an agent summarize its cells, and sends the summary in Chat.', + modules: ['agent', 'workflows'], + category: 'engineering', + tags: ['automation'], + }, + { + icon: JupyterIcon, + title: 'Provision a Jupyter session', + prompt: + 'Build a workflow that creates a Jupyter session bound to a new notebook and a fresh Python kernel whenever a new project request comes in.', + modules: ['workflows'], + category: 'engineering', + tags: ['automation'], + }, + { + icon: JupyterIcon, + title: 'Archive and clean up notebooks', + prompt: + 'Build a scheduled workflow that copies old notebooks on a Jupyter server into an archive directory, then deletes the originals.', + modules: ['scheduled', 'workflows'], + category: 'operations', + tags: ['automation'], + }, + ], +} as const satisfies BlockMeta diff --git a/apps/sim/blocks/registry-maps.ts b/apps/sim/blocks/registry-maps.ts index fd1d8de138a..89919671fc9 100644 --- a/apps/sim/blocks/registry-maps.ts +++ b/apps/sim/blocks/registry-maps.ts @@ -156,6 +156,7 @@ import { JiraServiceManagementBlock, JiraServiceManagementBlockMeta, } from '@/blocks/blocks/jira_service_management' +import { JupyterBlock, JupyterBlockMeta } from '@/blocks/blocks/jupyter' import { KalshiBlock, KalshiBlockMeta, @@ -477,6 +478,7 @@ export const BLOCK_REGISTRY: Record = { jina: JinaBlock, jira: JiraBlock, jira_service_management: JiraServiceManagementBlock, + jupyter: JupyterBlock, kalshi: KalshiBlock, kalshi_v2: KalshiV2Block, ketch: KetchBlock, @@ -769,6 +771,7 @@ export const BLOCK_META_REGISTRY: Record = { jina: JinaBlockMeta, jira: JiraBlockMeta, jira_service_management: JiraServiceManagementBlockMeta, + jupyter: JupyterBlockMeta, kalshi: KalshiBlockMeta, kalshi_v2: KalshiV2BlockMeta, ketch: KetchBlockMeta, diff --git a/apps/sim/components/icons.tsx b/apps/sim/components/icons.tsx index ea1eeea8a10..c213134b0e1 100644 --- a/apps/sim/components/icons.tsx +++ b/apps/sim/components/icons.tsx @@ -8412,3 +8412,72 @@ export function FlowiseIcon(props: SVGProps) { ) } + +export function JupyterIcon(props: SVGProps) { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) +} diff --git a/apps/sim/lib/api/contracts/storage-transfer.ts b/apps/sim/lib/api/contracts/storage-transfer.ts index c9f98526c5a..4a421203e4a 100644 --- a/apps/sim/lib/api/contracts/storage-transfer.ts +++ b/apps/sim/lib/api/contracts/storage-transfer.ts @@ -107,6 +107,15 @@ export const dropboxUploadBodySchema = z.object({ mute: z.boolean().optional().nullable(), }) +export const jupyterUploadBodySchema = z.object({ + serverUrl: z.string().min(1, 'Server URL is required'), + token: z.string().min(1, 'Token is required'), + directory: z.string().optional().nullable(), + file: FileInputSchema.optional().nullable(), + fileContent: z.string().optional().nullable(), + fileName: z.string().optional().nullable(), +}) + export const wordpressUploadBodySchema = z.object({ accessToken: z.string().min(1, 'Access token is required'), siteId: z.string().min(1, 'Site ID is required'), @@ -483,6 +492,13 @@ export const dropboxUploadContract = defineRouteContract({ response: { mode: 'json', schema: jsonResponseSchema }, }) +export const jupyterUploadContract = defineRouteContract({ + method: 'POST', + path: '/api/tools/jupyter/upload', + body: jupyterUploadBodySchema, + response: { mode: 'json', schema: jsonResponseSchema }, +}) + export const wordpressUploadContract = defineRouteContract({ method: 'POST', path: '/api/tools/wordpress/upload', @@ -733,6 +749,8 @@ export type BoxUploadBody = ContractBodyInput export type BoxUploadResponse = ContractJsonResponse export type DropboxUploadBody = ContractBodyInput export type DropboxUploadResponse = ContractJsonResponse +export type JupyterUploadBody = ContractBodyInput +export type JupyterUploadResponse = ContractJsonResponse export type WordPressUploadBody = ContractBodyInput export type WordPressUploadResponse = ContractJsonResponse export type SftpDownloadBody = ContractBodyInput diff --git a/apps/sim/lib/api/contracts/tools/jupyter.ts b/apps/sim/lib/api/contracts/tools/jupyter.ts new file mode 100644 index 00000000000..5f13d2360df --- /dev/null +++ b/apps/sim/lib/api/contracts/tools/jupyter.ts @@ -0,0 +1,23 @@ +import { z } from 'zod' +import type { ContractBodyInput, ContractJsonResponse } from '@/lib/api/contracts/types' +import { defineRouteContract } from '@/lib/api/contracts/types' + +export const jupyterProxyBodySchema = z.object({ + serverUrl: z.string().min(1, 'Server URL is required'), + token: z.string().min(1, 'Token is required'), + method: z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']), + path: z.string().min(1, 'Path is required'), + body: z.unknown().optional().nullable(), +}) + +export const jupyterProxyContract = defineRouteContract({ + method: 'POST', + path: '/api/tools/jupyter/proxy', + body: jupyterProxyBodySchema, + // untyped-response: the route mirrors the upstream Jupyter server's response + // verbatim (status + body), which varies per Contents/Kernels/Sessions endpoint + response: { mode: 'json', schema: z.unknown() }, +}) + +export type JupyterProxyBody = ContractBodyInput +export type JupyterProxyResponse = ContractJsonResponse diff --git a/apps/sim/lib/integrations/icon-mapping.ts b/apps/sim/lib/integrations/icon-mapping.ts index e9df1348307..f7c5ddf8d19 100644 --- a/apps/sim/lib/integrations/icon-mapping.ts +++ b/apps/sim/lib/integrations/icon-mapping.ts @@ -114,6 +114,7 @@ import { JinaAIIcon, JiraIcon, JiraServiceManagementIcon, + JupyterIcon, KalshiIcon, KetchIcon, LangsmithIcon, @@ -349,6 +350,7 @@ export const blockTypeToIconMap: Record = { jina: JinaAIIcon, jira: JiraIcon, jira_service_management: JiraServiceManagementIcon, + jupyter: JupyterIcon, kalshi_v2: KalshiIcon, ketch: KetchIcon, knowledge: PackageSearchIcon, diff --git a/apps/sim/lib/integrations/integrations.json b/apps/sim/lib/integrations/integrations.json index 9d543582283..8e741d71e57 100644 --- a/apps/sim/lib/integrations/integrations.json +++ b/apps/sim/lib/integrations/integrations.json @@ -1,5 +1,5 @@ { - "updatedAt": "2026-07-07", + "updatedAt": "2026-07-09", "integrations": [ { "type": "onepassword", @@ -9749,6 +9749,89 @@ "integrationType": "support", "tags": ["customer-support", "ticketing", "incident-management"] }, + { + "type": "jupyter", + "slug": "jupyter", + "name": "Jupyter", + "description": "Manage files, notebooks, kernels, and sessions on a Jupyter server", + "longDescription": "Integrate a self-hosted Jupyter server into the workflow. Browse, read, create, upload, rename, copy, and delete files and notebooks; start, stop, restart, and interrupt kernels; and manage sessions that bind notebooks to kernels.", + "bgColor": "#FFFFFF", + "iconName": "JupyterIcon", + "docsUrl": "https://docs.sim.ai/integrations/jupyter", + "operations": [ + { + "name": "List Contents", + "description": "List files, notebooks, and subdirectories at a path on a Jupyter server" + }, + { + "name": "Get Content", + "description": "Read a file or notebook from a Jupyter server" + }, + { + "name": "Create File", + "description": "Create a file, notebook, or directory on a Jupyter server" + }, + { + "name": "Upload File", + "description": "Upload a file to a Jupyter server" + }, + { + "name": "Rename Content", + "description": "Rename or move a file, notebook, or directory on a Jupyter server" + }, + { + "name": "Delete Content", + "description": "Delete a file, notebook, or directory on a Jupyter server" + }, + { + "name": "Copy Content", + "description": "Duplicate a file or notebook into a directory on a Jupyter server" + }, + { + "name": "List Kernels", + "description": "List running kernels on a Jupyter server" + }, + { + "name": "Start Kernel", + "description": "Start a new kernel on a Jupyter server" + }, + { + "name": "Stop Kernel", + "description": "Shut down a running kernel on a Jupyter server" + }, + { + "name": "Restart Kernel", + "description": "Restart a running kernel on a Jupyter server" + }, + { + "name": "Interrupt Kernel", + "description": "Interrupt a running kernel on a Jupyter server" + }, + { + "name": "List Kernel Specs", + "description": "List available kernel specs (languages/runtimes) on a Jupyter server" + }, + { + "name": "List Sessions", + "description": "List active sessions (notebook-to-kernel bindings) on a Jupyter server" + }, + { + "name": "Create Session", + "description": "Create a session that binds a notebook path to a (new or existing) kernel" + }, + { + "name": "Delete Session", + "description": "Delete a session on a Jupyter server (does not shut down its kernel)" + } + ], + "operationCount": 16, + "triggers": [], + "triggerCount": 0, + "authType": "api-key", + "category": "tools", + "integrationType": "devops", + "tags": ["automation", "data-analytics"] + }, { "type": "kalshi_v2", "slug": "kalshi", diff --git a/apps/sim/tools/jupyter/copy_content.ts b/apps/sim/tools/jupyter/copy_content.ts new file mode 100644 index 00000000000..87abbdbd0d3 --- /dev/null +++ b/apps/sim/tools/jupyter/copy_content.ts @@ -0,0 +1,81 @@ +import type { JupyterCopyContentParams, JupyterCopyContentResponse } from '@/tools/jupyter/types' +import { assertSafeJupyterPath, encodeJupyterPath } from '@/tools/jupyter/utils' +import type { ToolConfig } from '@/tools/types' + +export const jupyterCopyContentTool: ToolConfig< + JupyterCopyContentParams, + JupyterCopyContentResponse +> = { + id: 'jupyter_copy_content', + name: 'Jupyter Copy Content', + description: 'Duplicate a file or notebook into a directory on a Jupyter server', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + path: { + type: 'string', + required: true, + visibility: 'user-or-llm', + description: 'Destination directory path, relative to the server root', + }, + copyFromPath: { + type: 'string', + required: true, + visibility: 'user-or-llm', + description: 'Path of the file or notebook to copy, relative to the server root', + }, + }, + + request: { + url: '/api/tools/jupyter/proxy', + method: 'POST', + headers: () => ({ 'Content-Type': 'application/json' }), + body: (params) => ({ + serverUrl: params.serverUrl, + token: params.token, + method: 'POST', + path: `contents/${encodeJupyterPath(params.path)}`, + body: { copy_from: assertSafeJupyterPath(params.copyFromPath) }, + }), + }, + + transformResponse: async (response, params) => { + if (!response.ok) { + const errorText = await response.text() + return { + success: false, + error: `Jupyter API error: ${response.status} ${errorText}`, + output: { name: '', path: params?.path ?? '', createdAt: null }, + } + } + + const data = await response.json() + + return { + success: true, + output: { + name: (data.name as string | undefined) ?? '', + path: (data.path as string | undefined) ?? params?.path ?? '', + createdAt: (data.created as string | undefined) ?? null, + }, + } + }, + + outputs: { + name: { type: 'string', description: 'Name of the copied entry' }, + path: { type: 'string', description: 'Path of the copied entry' }, + createdAt: { type: 'string', description: 'Creation timestamp', optional: true }, + }, +} diff --git a/apps/sim/tools/jupyter/create_file.ts b/apps/sim/tools/jupyter/create_file.ts new file mode 100644 index 00000000000..5d59dfcff20 --- /dev/null +++ b/apps/sim/tools/jupyter/create_file.ts @@ -0,0 +1,119 @@ +import type { JupyterCreateFileParams, JupyterCreateFileResponse } from '@/tools/jupyter/types' +import { encodeJupyterPath } from '@/tools/jupyter/utils' +import type { ToolConfig } from '@/tools/types' + +const EMPTY_NOTEBOOK = { cells: [], metadata: {}, nbformat: 4, nbformat_minor: 5 } + +export const jupyterCreateFileTool: ToolConfig = + { + id: 'jupyter_create_file', + name: 'Jupyter Create File', + description: 'Create a file, notebook, or directory on a Jupyter server', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + path: { + type: 'string', + required: true, + visibility: 'user-or-llm', + description: 'Path to create, relative to the server root', + }, + type: { + type: 'string', + required: true, + visibility: 'user-or-llm', + description: 'Type of entry to create: file, notebook, or directory', + }, + content: { + type: 'string', + required: false, + visibility: 'user-or-llm', + description: + 'Content to write. For a file, plain text. For a notebook, a JSON-stringified nbformat document (defaults to an empty notebook). Ignored for directories.', + }, + }, + + request: { + url: '/api/tools/jupyter/proxy', + method: 'POST', + headers: () => ({ 'Content-Type': 'application/json' }), + body: (params) => { + let content: Record + if (params.type === 'directory') { + content = { type: 'directory' } + } else if (params.type === 'notebook') { + if (!params.content) { + content = { type: 'notebook', format: 'json', content: EMPTY_NOTEBOOK } + } else { + let notebook: unknown + try { + notebook = JSON.parse(params.content) + } catch { + throw new Error('Notebook content must be valid JSON-stringified nbformat') + } + content = { type: 'notebook', format: 'json', content: notebook } + } + } else { + content = { type: 'file', format: 'text', content: params.content ?? '' } + } + + return { + serverUrl: params.serverUrl, + token: params.token, + method: 'PUT', + path: `contents/${encodeJupyterPath(params.path)}`, + body: content, + } + }, + }, + + transformResponse: async (response, params) => { + if (!response.ok) { + const errorText = await response.text() + return { + success: false, + error: `Jupyter API error: ${response.status} ${errorText}`, + output: { + name: '', + path: params?.path ?? '', + type: params?.type ?? 'file', + createdAt: null, + lastModified: null, + }, + } + } + + const data = await response.json() + + return { + success: true, + output: { + name: (data.name as string | undefined) ?? '', + path: (data.path as string | undefined) ?? params?.path ?? '', + type: (data.type as 'directory' | 'file' | 'notebook' | undefined) ?? 'file', + createdAt: (data.created as string | undefined) ?? null, + lastModified: (data.last_modified as string | undefined) ?? null, + }, + } + }, + + outputs: { + name: { type: 'string', description: 'Created entry name' }, + path: { type: 'string', description: 'Created entry path' }, + type: { type: 'string', description: 'directory, file, or notebook' }, + createdAt: { type: 'string', description: 'Creation timestamp', optional: true }, + lastModified: { type: 'string', description: 'Last modified timestamp', optional: true }, + }, + } diff --git a/apps/sim/tools/jupyter/create_session.ts b/apps/sim/tools/jupyter/create_session.ts new file mode 100644 index 00000000000..9a12123b50f --- /dev/null +++ b/apps/sim/tools/jupyter/create_session.ts @@ -0,0 +1,110 @@ +import type { + JupyterCreateSessionParams, + JupyterCreateSessionResponse, +} from '@/tools/jupyter/types' +import { assertSafeJupyterPath, mapJupyterSession } from '@/tools/jupyter/utils' +import type { ToolConfig } from '@/tools/types' + +export const jupyterCreateSessionTool: ToolConfig< + JupyterCreateSessionParams, + JupyterCreateSessionResponse +> = { + id: 'jupyter_create_session', + name: 'Jupyter Create Session', + description: 'Create a session that binds a notebook path to a (new or existing) kernel', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + path: { + type: 'string', + required: true, + visibility: 'user-or-llm', + description: 'Notebook path to bind the session to, relative to the server root', + }, + kernelName: { + type: 'string', + required: false, + visibility: 'user-or-llm', + description: 'Kernel spec name to start for this session (e.g. python3)', + }, + name: { + type: 'string', + required: false, + visibility: 'user-or-llm', + description: 'Optional session name', + }, + type: { + type: 'string', + required: false, + visibility: 'user-or-llm', + description: "Session type, defaults to 'notebook'", + }, + }, + + request: { + url: '/api/tools/jupyter/proxy', + method: 'POST', + headers: () => ({ 'Content-Type': 'application/json' }), + body: (params) => ({ + serverUrl: params.serverUrl, + token: params.token, + method: 'POST', + path: 'sessions', + body: { + path: assertSafeJupyterPath(params.path), + name: params.name, + type: params.type || 'notebook', + ...(params.kernelName ? { kernel: { name: params.kernelName } } : {}), + }, + }), + }, + + transformResponse: async (response) => { + if (!response.ok) { + const errorText = await response.text() + throw new Error(`Jupyter API error: ${response.status} ${errorText}`) + } + + const data = await response.json() + + return { + success: true, + output: mapJupyterSession(data), + } + }, + + outputs: { + id: { type: 'string', description: 'Session ID' }, + path: { type: 'string', description: 'Notebook path bound to this session' }, + name: { type: 'string', description: 'Session name' }, + type: { type: 'string', description: 'Session type' }, + kernel: { + type: 'object', + description: 'Kernel bound to this session', + optional: true, + properties: { + id: { type: 'string', description: 'Kernel ID' }, + name: { type: 'string', description: 'Kernel spec name' }, + lastActivity: { type: 'string', description: 'Last activity timestamp', optional: true }, + executionState: { + type: 'string', + description: 'Kernel execution state', + optional: true, + }, + connections: { type: 'number', description: 'Active connection count', optional: true }, + }, + }, + }, +} diff --git a/apps/sim/tools/jupyter/delete_content.ts b/apps/sim/tools/jupyter/delete_content.ts new file mode 100644 index 00000000000..345d410acd3 --- /dev/null +++ b/apps/sim/tools/jupyter/delete_content.ts @@ -0,0 +1,70 @@ +import type { + JupyterDeleteContentParams, + JupyterDeleteContentResponse, +} from '@/tools/jupyter/types' +import { encodeJupyterPath } from '@/tools/jupyter/utils' +import type { ToolConfig } from '@/tools/types' + +export const jupyterDeleteContentTool: ToolConfig< + JupyterDeleteContentParams, + JupyterDeleteContentResponse +> = { + id: 'jupyter_delete_content', + name: 'Jupyter Delete Content', + description: 'Delete a file, notebook, or directory on a Jupyter server', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + path: { + type: 'string', + required: true, + visibility: 'user-or-llm', + description: 'Path of the entry to delete, relative to the server root', + }, + }, + + request: { + url: '/api/tools/jupyter/proxy', + method: 'POST', + headers: () => ({ 'Content-Type': 'application/json' }), + body: (params) => ({ + serverUrl: params.serverUrl, + token: params.token, + method: 'DELETE', + path: `contents/${encodeJupyterPath(params.path)}`, + }), + }, + + transformResponse: async (response, params) => { + if (!response.ok && response.status !== 204) { + const errorText = await response.text() + return { + success: false, + error: `Jupyter API error: ${response.status} ${errorText}`, + output: { success: false, path: params?.path ?? '' }, + } + } + + return { + success: true, + output: { success: true, path: params?.path ?? '' }, + } + }, + + outputs: { + success: { type: 'boolean', description: 'Whether the entry was deleted' }, + path: { type: 'string', description: 'Deleted entry path' }, + }, +} diff --git a/apps/sim/tools/jupyter/delete_session.ts b/apps/sim/tools/jupyter/delete_session.ts new file mode 100644 index 00000000000..58afd30e1fc --- /dev/null +++ b/apps/sim/tools/jupyter/delete_session.ts @@ -0,0 +1,69 @@ +import type { + JupyterDeleteSessionParams, + JupyterDeleteSessionResponse, +} from '@/tools/jupyter/types' +import type { ToolConfig } from '@/tools/types' + +export const jupyterDeleteSessionTool: ToolConfig< + JupyterDeleteSessionParams, + JupyterDeleteSessionResponse +> = { + id: 'jupyter_delete_session', + name: 'Jupyter Delete Session', + description: 'Delete a session on a Jupyter server (does not shut down its kernel)', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + sessionId: { + type: 'string', + required: true, + visibility: 'user-or-llm', + description: 'ID of the session to delete', + }, + }, + + request: { + url: '/api/tools/jupyter/proxy', + method: 'POST', + headers: () => ({ 'Content-Type': 'application/json' }), + body: (params) => ({ + serverUrl: params.serverUrl, + token: params.token, + method: 'DELETE', + path: `sessions/${encodeURIComponent(params.sessionId)}`, + }), + }, + + transformResponse: async (response, params) => { + if (!response.ok && response.status !== 204) { + const errorText = await response.text() + return { + success: false, + error: `Jupyter API error: ${response.status} ${errorText}`, + output: { success: false, sessionId: params?.sessionId ?? '' }, + } + } + + return { + success: true, + output: { success: true, sessionId: params?.sessionId ?? '' }, + } + }, + + outputs: { + success: { type: 'boolean', description: 'Whether the session was deleted' }, + sessionId: { type: 'string', description: 'Deleted session ID' }, + }, +} diff --git a/apps/sim/tools/jupyter/get_content.ts b/apps/sim/tools/jupyter/get_content.ts new file mode 100644 index 00000000000..55f0a31cba3 --- /dev/null +++ b/apps/sim/tools/jupyter/get_content.ts @@ -0,0 +1,117 @@ +import type { JupyterGetContentParams, JupyterGetContentResponse } from '@/tools/jupyter/types' +import { encodeJupyterPath } from '@/tools/jupyter/utils' +import type { ToolConfig } from '@/tools/types' + +export const jupyterGetContentTool: ToolConfig = + { + id: 'jupyter_get_content', + name: 'Jupyter Get Content', + description: 'Read a file or notebook from a Jupyter server', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + path: { + type: 'string', + required: true, + visibility: 'user-or-llm', + description: 'Path of the file or notebook to read, relative to the server root', + }, + }, + + request: { + url: '/api/tools/jupyter/proxy', + method: 'POST', + headers: () => ({ 'Content-Type': 'application/json' }), + body: (params) => ({ + serverUrl: params.serverUrl, + token: params.token, + method: 'GET', + path: `contents/${encodeJupyterPath(params.path)}?content=1`, + }), + }, + + transformResponse: async (response, params) => { + if (!response.ok) { + const errorText = await response.text() + return { + success: false, + error: `Jupyter API error: ${response.status} ${errorText}`, + output: { + name: '', + path: params?.path ?? '', + mimetype: null, + text: null, + file: null, + }, + } + } + + const data = await response.json() + const format = data.format as string | undefined + const name = (data.name as string | undefined) ?? params?.path?.split('/').pop() ?? 'file' + const mimetype = (data.mimetype as string | undefined) ?? null + + if (format === 'base64' && typeof data.content === 'string') { + const buffer = Buffer.from(data.content, 'base64') + return { + success: true, + output: { + name, + path: (data.path as string | undefined) ?? params?.path ?? '', + mimetype, + text: null, + file: { + name, + mimeType: mimetype ?? 'application/octet-stream', + data: data.content, + size: buffer.length, + }, + }, + } + } + + const text = + format === 'json' || typeof data.content === 'object' + ? JSON.stringify(data.content) + : ((data.content as string | undefined) ?? null) + + return { + success: true, + output: { + name, + path: (data.path as string | undefined) ?? params?.path ?? '', + mimetype, + text, + file: null, + }, + } + }, + + outputs: { + name: { type: 'string', description: 'File or notebook name' }, + path: { type: 'string', description: 'Path relative to the server root' }, + mimetype: { type: 'string', description: 'MIME type of the content', optional: true }, + text: { + type: 'string', + description: 'Text content, for text files and notebooks (JSON-stringified)', + optional: true, + }, + file: { + type: 'file', + description: 'Binary content stored as a file, for base64-format content', + optional: true, + }, + }, + } diff --git a/apps/sim/tools/jupyter/index.ts b/apps/sim/tools/jupyter/index.ts new file mode 100644 index 00000000000..9ddfd7e8021 --- /dev/null +++ b/apps/sim/tools/jupyter/index.ts @@ -0,0 +1,16 @@ +export { jupyterCopyContentTool } from '@/tools/jupyter/copy_content' +export { jupyterCreateFileTool } from '@/tools/jupyter/create_file' +export { jupyterCreateSessionTool } from '@/tools/jupyter/create_session' +export { jupyterDeleteContentTool } from '@/tools/jupyter/delete_content' +export { jupyterDeleteSessionTool } from '@/tools/jupyter/delete_session' +export { jupyterGetContentTool } from '@/tools/jupyter/get_content' +export { jupyterInterruptKernelTool } from '@/tools/jupyter/interrupt_kernel' +export { jupyterListContentsTool } from '@/tools/jupyter/list_contents' +export { jupyterListKernelsTool } from '@/tools/jupyter/list_kernels' +export { jupyterListKernelspecsTool } from '@/tools/jupyter/list_kernelspecs' +export { jupyterListSessionsTool } from '@/tools/jupyter/list_sessions' +export { jupyterRenameContentTool } from '@/tools/jupyter/rename_content' +export { jupyterRestartKernelTool } from '@/tools/jupyter/restart_kernel' +export { jupyterStartKernelTool } from '@/tools/jupyter/start_kernel' +export { jupyterStopKernelTool } from '@/tools/jupyter/stop_kernel' +export { jupyterUploadFileTool } from '@/tools/jupyter/upload_file' diff --git a/apps/sim/tools/jupyter/interrupt_kernel.ts b/apps/sim/tools/jupyter/interrupt_kernel.ts new file mode 100644 index 00000000000..c5371a84bbc --- /dev/null +++ b/apps/sim/tools/jupyter/interrupt_kernel.ts @@ -0,0 +1,69 @@ +import type { + JupyterInterruptKernelParams, + JupyterInterruptKernelResponse, +} from '@/tools/jupyter/types' +import type { ToolConfig } from '@/tools/types' + +export const jupyterInterruptKernelTool: ToolConfig< + JupyterInterruptKernelParams, + JupyterInterruptKernelResponse +> = { + id: 'jupyter_interrupt_kernel', + name: 'Jupyter Interrupt Kernel', + description: 'Interrupt a running kernel on a Jupyter server', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + kernelId: { + type: 'string', + required: true, + visibility: 'user-or-llm', + description: 'ID of the kernel to interrupt', + }, + }, + + request: { + url: '/api/tools/jupyter/proxy', + method: 'POST', + headers: () => ({ 'Content-Type': 'application/json' }), + body: (params) => ({ + serverUrl: params.serverUrl, + token: params.token, + method: 'POST', + path: `kernels/${encodeURIComponent(params.kernelId)}/interrupt`, + }), + }, + + transformResponse: async (response, params) => { + if (!response.ok && response.status !== 204) { + const errorText = await response.text() + return { + success: false, + error: `Jupyter API error: ${response.status} ${errorText}`, + output: { success: false, kernelId: params?.kernelId ?? '' }, + } + } + + return { + success: true, + output: { success: true, kernelId: params?.kernelId ?? '' }, + } + }, + + outputs: { + success: { type: 'boolean', description: 'Whether the interrupt was sent' }, + kernelId: { type: 'string', description: 'Interrupted kernel ID' }, + }, +} diff --git a/apps/sim/tools/jupyter/list_contents.ts b/apps/sim/tools/jupyter/list_contents.ts new file mode 100644 index 00000000000..f8f8cce2fe0 --- /dev/null +++ b/apps/sim/tools/jupyter/list_contents.ts @@ -0,0 +1,107 @@ +import type { JupyterListContentsParams, JupyterListContentsResponse } from '@/tools/jupyter/types' +import { encodeJupyterPath } from '@/tools/jupyter/utils' +import type { ToolConfig } from '@/tools/types' + +export const jupyterListContentsTool: ToolConfig< + JupyterListContentsParams, + JupyterListContentsResponse +> = { + id: 'jupyter_list_contents', + name: 'Jupyter List Contents', + description: 'List files, notebooks, and subdirectories at a path on a Jupyter server', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + path: { + type: 'string', + required: false, + visibility: 'user-or-llm', + description: 'Directory path to list, relative to the server root. Leave blank for root.', + }, + }, + + request: { + url: '/api/tools/jupyter/proxy', + method: 'POST', + headers: () => ({ 'Content-Type': 'application/json' }), + body: (params) => ({ + serverUrl: params.serverUrl, + token: params.token, + method: 'GET', + path: `contents/${encodeJupyterPath(params.path)}?type=directory&content=1`, + }), + }, + + transformResponse: async (response, params) => { + if (!response.ok) { + const errorText = await response.text() + return { + success: false, + error: `Jupyter API error: ${response.status} ${errorText}`, + output: { items: [], path: params?.path ?? '' }, + } + } + + const data = await response.json() + const items = Array.isArray(data.content) ? data.content : [] + + return { + success: true, + output: { + items: items.map((item: Record) => ({ + name: item.name, + path: item.path, + type: item.type, + writable: Boolean(item.writable), + created: (item.created as string | undefined) ?? null, + lastModified: (item.last_modified as string | undefined) ?? null, + size: (item.size as number | undefined) ?? null, + mimetype: (item.mimetype as string | undefined) ?? null, + format: (item.format as string | undefined) ?? null, + })), + path: (data.path as string | undefined) ?? params?.path ?? '', + }, + } + }, + + outputs: { + items: { + type: 'array', + description: 'Directory entries at the requested path', + items: { + type: 'object', + properties: { + name: { type: 'string', description: 'Entry name' }, + path: { type: 'string', description: 'Entry path relative to server root' }, + type: { type: 'string', description: 'directory, file, or notebook' }, + writable: { type: 'boolean', description: 'Whether the entry is writable' }, + created: { type: 'string', description: 'Creation timestamp', optional: true }, + lastModified: { + type: 'string', + description: 'Last modified timestamp', + optional: true, + }, + size: { type: 'number', description: 'Size in bytes', optional: true }, + mimetype: { type: 'string', description: 'MIME type (files only)', optional: true }, + format: { type: 'string', description: 'json, text, or base64', optional: true }, + }, + }, + }, + path: { + type: 'string', + description: 'The listed directory path', + }, + }, +} diff --git a/apps/sim/tools/jupyter/list_kernels.ts b/apps/sim/tools/jupyter/list_kernels.ts new file mode 100644 index 00000000000..c5a93c45794 --- /dev/null +++ b/apps/sim/tools/jupyter/list_kernels.ts @@ -0,0 +1,76 @@ +import type { JupyterListKernelsParams, JupyterListKernelsResponse } from '@/tools/jupyter/types' +import { mapJupyterKernel } from '@/tools/jupyter/utils' +import type { ToolConfig } from '@/tools/types' + +export const jupyterListKernelsTool: ToolConfig< + JupyterListKernelsParams, + JupyterListKernelsResponse +> = { + id: 'jupyter_list_kernels', + name: 'Jupyter List Kernels', + description: 'List running kernels on a Jupyter server', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + }, + + request: { + url: '/api/tools/jupyter/proxy', + method: 'POST', + headers: () => ({ 'Content-Type': 'application/json' }), + body: (params) => ({ + serverUrl: params.serverUrl, + token: params.token, + method: 'GET', + path: 'kernels', + }), + }, + + transformResponse: async (response) => { + if (!response.ok) { + const errorText = await response.text() + return { + success: false, + error: `Jupyter API error: ${response.status} ${errorText}`, + output: { kernels: [] }, + } + } + + const data = await response.json() + const kernels = Array.isArray(data) ? data : [] + + return { + success: true, + output: { kernels: kernels.map(mapJupyterKernel) }, + } + }, + + outputs: { + kernels: { + type: 'array', + description: 'Running kernels', + items: { + type: 'object', + properties: { + id: { type: 'string', description: 'Kernel ID' }, + name: { type: 'string', description: 'Kernel spec name' }, + lastActivity: { type: 'string', description: 'Last activity timestamp', optional: true }, + executionState: { type: 'string', description: 'Kernel execution state', optional: true }, + connections: { type: 'number', description: 'Active connection count', optional: true }, + }, + }, + }, + }, +} diff --git a/apps/sim/tools/jupyter/list_kernelspecs.ts b/apps/sim/tools/jupyter/list_kernelspecs.ts new file mode 100644 index 00000000000..5c3bb39e72d --- /dev/null +++ b/apps/sim/tools/jupyter/list_kernelspecs.ts @@ -0,0 +1,93 @@ +import type { + JupyterListKernelspecsParams, + JupyterListKernelspecsResponse, +} from '@/tools/jupyter/types' +import type { ToolConfig } from '@/tools/types' + +export const jupyterListKernelspecsTool: ToolConfig< + JupyterListKernelspecsParams, + JupyterListKernelspecsResponse +> = { + id: 'jupyter_list_kernelspecs', + name: 'Jupyter List Kernel Specs', + description: 'List available kernel specs (languages/runtimes) on a Jupyter server', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + }, + + request: { + url: '/api/tools/jupyter/proxy', + method: 'POST', + headers: () => ({ 'Content-Type': 'application/json' }), + body: (params) => ({ + serverUrl: params.serverUrl, + token: params.token, + method: 'GET', + path: 'kernelspecs', + }), + }, + + transformResponse: async (response) => { + if (!response.ok) { + const errorText = await response.text() + return { + success: false, + error: `Jupyter API error: ${response.status} ${errorText}`, + output: { defaultKernelName: null, kernelspecs: [] }, + } + } + + const data = await response.json() + const specs = data.kernelspecs && typeof data.kernelspecs === 'object' ? data.kernelspecs : {} + + return { + success: true, + output: { + defaultKernelName: (data.default as string | undefined) ?? null, + kernelspecs: Object.entries(specs as Record>).map( + ([name, entry]) => { + const spec = (entry.spec as Record | undefined) ?? {} + return { + name: (entry.name as string | undefined) ?? name, + displayName: (spec.display_name as string | undefined) ?? name, + language: (spec.language as string | undefined) ?? null, + argv: Array.isArray(spec.argv) ? (spec.argv as string[]) : [], + interruptMode: (spec.interrupt_mode as string | undefined) ?? null, + } + } + ), + }, + } + }, + + outputs: { + defaultKernelName: { type: 'string', description: 'Default kernel spec name', optional: true }, + kernelspecs: { + type: 'array', + description: 'Available kernel specs', + items: { + type: 'object', + properties: { + name: { type: 'string', description: 'Kernel spec name' }, + displayName: { type: 'string', description: 'Human-readable display name' }, + language: { type: 'string', description: 'Kernel language', optional: true }, + argv: { type: 'array', description: 'Launch command arguments' }, + interruptMode: { type: 'string', description: 'Interrupt mode', optional: true }, + }, + }, + }, + }, +} diff --git a/apps/sim/tools/jupyter/list_sessions.ts b/apps/sim/tools/jupyter/list_sessions.ts new file mode 100644 index 00000000000..5081f649e1c --- /dev/null +++ b/apps/sim/tools/jupyter/list_sessions.ts @@ -0,0 +1,99 @@ +import type { JupyterListSessionsParams, JupyterListSessionsResponse } from '@/tools/jupyter/types' +import { mapJupyterSession } from '@/tools/jupyter/utils' +import type { ToolConfig } from '@/tools/types' + +export const jupyterListSessionsTool: ToolConfig< + JupyterListSessionsParams, + JupyterListSessionsResponse +> = { + id: 'jupyter_list_sessions', + name: 'Jupyter List Sessions', + description: 'List active sessions (notebook-to-kernel bindings) on a Jupyter server', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + }, + + request: { + url: '/api/tools/jupyter/proxy', + method: 'POST', + headers: () => ({ 'Content-Type': 'application/json' }), + body: (params) => ({ + serverUrl: params.serverUrl, + token: params.token, + method: 'GET', + path: 'sessions', + }), + }, + + transformResponse: async (response) => { + if (!response.ok) { + const errorText = await response.text() + return { + success: false, + error: `Jupyter API error: ${response.status} ${errorText}`, + output: { sessions: [] }, + } + } + + const data = await response.json() + const sessions = Array.isArray(data) ? data : [] + + return { + success: true, + output: { sessions: sessions.map(mapJupyterSession) }, + } + }, + + outputs: { + sessions: { + type: 'array', + description: 'Active sessions', + items: { + type: 'object', + properties: { + id: { type: 'string', description: 'Session ID' }, + path: { type: 'string', description: 'Notebook path bound to this session' }, + name: { type: 'string', description: 'Session name' }, + type: { type: 'string', description: 'Session type' }, + kernel: { + type: 'object', + description: 'Kernel bound to this session', + optional: true, + properties: { + id: { type: 'string', description: 'Kernel ID' }, + name: { type: 'string', description: 'Kernel spec name' }, + lastActivity: { + type: 'string', + description: 'Last activity timestamp', + optional: true, + }, + executionState: { + type: 'string', + description: 'Kernel execution state', + optional: true, + }, + connections: { + type: 'number', + description: 'Active connection count', + optional: true, + }, + }, + }, + }, + }, + }, + }, +} diff --git a/apps/sim/tools/jupyter/rename_content.ts b/apps/sim/tools/jupyter/rename_content.ts new file mode 100644 index 00000000000..2e32900b1e6 --- /dev/null +++ b/apps/sim/tools/jupyter/rename_content.ts @@ -0,0 +1,84 @@ +import type { + JupyterRenameContentParams, + JupyterRenameContentResponse, +} from '@/tools/jupyter/types' +import { assertSafeJupyterPath, encodeJupyterPath } from '@/tools/jupyter/utils' +import type { ToolConfig } from '@/tools/types' + +export const jupyterRenameContentTool: ToolConfig< + JupyterRenameContentParams, + JupyterRenameContentResponse +> = { + id: 'jupyter_rename_content', + name: 'Jupyter Rename Content', + description: 'Rename or move a file, notebook, or directory on a Jupyter server', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + path: { + type: 'string', + required: true, + visibility: 'user-or-llm', + description: 'Current path of the entry, relative to the server root', + }, + newPath: { + type: 'string', + required: true, + visibility: 'user-or-llm', + description: 'New path for the entry, relative to the server root', + }, + }, + + request: { + url: '/api/tools/jupyter/proxy', + method: 'POST', + headers: () => ({ 'Content-Type': 'application/json' }), + body: (params) => ({ + serverUrl: params.serverUrl, + token: params.token, + method: 'PATCH', + path: `contents/${encodeJupyterPath(params.path)}`, + body: { path: assertSafeJupyterPath(params.newPath) }, + }), + }, + + transformResponse: async (response, params) => { + if (!response.ok) { + const errorText = await response.text() + return { + success: false, + error: `Jupyter API error: ${response.status} ${errorText}`, + output: { name: '', path: params?.newPath ?? '', lastModified: null }, + } + } + + const data = await response.json() + + return { + success: true, + output: { + name: (data.name as string | undefined) ?? '', + path: (data.path as string | undefined) ?? params?.newPath ?? '', + lastModified: (data.last_modified as string | undefined) ?? null, + }, + } + }, + + outputs: { + name: { type: 'string', description: 'New entry name' }, + path: { type: 'string', description: 'New entry path' }, + lastModified: { type: 'string', description: 'Last modified timestamp', optional: true }, + }, +} diff --git a/apps/sim/tools/jupyter/restart_kernel.ts b/apps/sim/tools/jupyter/restart_kernel.ts new file mode 100644 index 00000000000..b70365b02fe --- /dev/null +++ b/apps/sim/tools/jupyter/restart_kernel.ts @@ -0,0 +1,71 @@ +import type { + JupyterRestartKernelParams, + JupyterRestartKernelResponse, +} from '@/tools/jupyter/types' +import { mapJupyterKernel } from '@/tools/jupyter/utils' +import type { ToolConfig } from '@/tools/types' + +export const jupyterRestartKernelTool: ToolConfig< + JupyterRestartKernelParams, + JupyterRestartKernelResponse +> = { + id: 'jupyter_restart_kernel', + name: 'Jupyter Restart Kernel', + description: 'Restart a running kernel on a Jupyter server', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + kernelId: { + type: 'string', + required: true, + visibility: 'user-or-llm', + description: 'ID of the kernel to restart', + }, + }, + + request: { + url: '/api/tools/jupyter/proxy', + method: 'POST', + headers: () => ({ 'Content-Type': 'application/json' }), + body: (params) => ({ + serverUrl: params.serverUrl, + token: params.token, + method: 'POST', + path: `kernels/${encodeURIComponent(params.kernelId)}/restart`, + }), + }, + + transformResponse: async (response) => { + if (!response.ok) { + const errorText = await response.text() + throw new Error(`Jupyter API error: ${response.status} ${errorText}`) + } + + const data = await response.json() + + return { + success: true, + output: mapJupyterKernel(data), + } + }, + + outputs: { + id: { type: 'string', description: 'Kernel ID' }, + name: { type: 'string', description: 'Kernel spec name' }, + lastActivity: { type: 'string', description: 'Last activity timestamp', optional: true }, + executionState: { type: 'string', description: 'Kernel execution state', optional: true }, + connections: { type: 'number', description: 'Active connection count', optional: true }, + }, +} diff --git a/apps/sim/tools/jupyter/start_kernel.ts b/apps/sim/tools/jupyter/start_kernel.ts new file mode 100644 index 00000000000..3c9985eb932 --- /dev/null +++ b/apps/sim/tools/jupyter/start_kernel.ts @@ -0,0 +1,69 @@ +import type { JupyterStartKernelParams, JupyterStartKernelResponse } from '@/tools/jupyter/types' +import { mapJupyterKernel } from '@/tools/jupyter/utils' +import type { ToolConfig } from '@/tools/types' + +export const jupyterStartKernelTool: ToolConfig< + JupyterStartKernelParams, + JupyterStartKernelResponse +> = { + id: 'jupyter_start_kernel', + name: 'Jupyter Start Kernel', + description: 'Start a new kernel on a Jupyter server', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + kernelName: { + type: 'string', + required: false, + visibility: 'user-or-llm', + description: 'Kernel spec name to start (e.g. python3). Defaults to the server default.', + }, + }, + + request: { + url: '/api/tools/jupyter/proxy', + method: 'POST', + headers: () => ({ 'Content-Type': 'application/json' }), + body: (params) => ({ + serverUrl: params.serverUrl, + token: params.token, + method: 'POST', + path: 'kernels', + body: params.kernelName ? { name: params.kernelName } : {}, + }), + }, + + transformResponse: async (response) => { + if (!response.ok) { + const errorText = await response.text() + throw new Error(`Jupyter API error: ${response.status} ${errorText}`) + } + + const data = await response.json() + + return { + success: true, + output: mapJupyterKernel(data), + } + }, + + outputs: { + id: { type: 'string', description: 'Kernel ID' }, + name: { type: 'string', description: 'Kernel spec name' }, + lastActivity: { type: 'string', description: 'Last activity timestamp', optional: true }, + executionState: { type: 'string', description: 'Kernel execution state', optional: true }, + connections: { type: 'number', description: 'Active connection count', optional: true }, + }, +} diff --git a/apps/sim/tools/jupyter/stop_kernel.ts b/apps/sim/tools/jupyter/stop_kernel.ts new file mode 100644 index 00000000000..261e9f996ef --- /dev/null +++ b/apps/sim/tools/jupyter/stop_kernel.ts @@ -0,0 +1,64 @@ +import type { JupyterStopKernelParams, JupyterStopKernelResponse } from '@/tools/jupyter/types' +import type { ToolConfig } from '@/tools/types' + +export const jupyterStopKernelTool: ToolConfig = + { + id: 'jupyter_stop_kernel', + name: 'Jupyter Stop Kernel', + description: 'Shut down a running kernel on a Jupyter server', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + kernelId: { + type: 'string', + required: true, + visibility: 'user-or-llm', + description: 'ID of the kernel to shut down', + }, + }, + + request: { + url: '/api/tools/jupyter/proxy', + method: 'POST', + headers: () => ({ 'Content-Type': 'application/json' }), + body: (params) => ({ + serverUrl: params.serverUrl, + token: params.token, + method: 'DELETE', + path: `kernels/${encodeURIComponent(params.kernelId)}`, + }), + }, + + transformResponse: async (response, params) => { + if (!response.ok && response.status !== 204) { + const errorText = await response.text() + return { + success: false, + error: `Jupyter API error: ${response.status} ${errorText}`, + output: { success: false, kernelId: params?.kernelId ?? '' }, + } + } + + return { + success: true, + output: { success: true, kernelId: params?.kernelId ?? '' }, + } + }, + + outputs: { + success: { type: 'boolean', description: 'Whether the kernel was shut down' }, + kernelId: { type: 'string', description: 'Shut down kernel ID' }, + }, + } diff --git a/apps/sim/tools/jupyter/types.ts b/apps/sim/tools/jupyter/types.ts new file mode 100644 index 00000000000..15a0e570bdb --- /dev/null +++ b/apps/sim/tools/jupyter/types.ts @@ -0,0 +1,226 @@ +import type { ToolResponse } from '@/tools/types' + +export interface JupyterAuthParams { + serverUrl: string + token: string +} + +export interface JupyterContentItem { + name: string + path: string + type: 'directory' | 'file' | 'notebook' + writable: boolean + created: string | null + lastModified: string | null + size: number | null + mimetype: string | null + format: 'json' | 'text' | 'base64' | null +} + +export interface JupyterKernel { + id: string + name: string + lastActivity: string | null + executionState: string | null + connections: number | null +} + +export interface JupyterKernelSpec { + name: string + displayName: string + language: string | null + argv: string[] + interruptMode: string | null +} + +export interface JupyterSession { + id: string + path: string + name: string + type: string + kernel: JupyterKernel | null +} + +export interface JupyterListContentsParams extends JupyterAuthParams { + path?: string +} + +export interface JupyterListContentsResponse extends ToolResponse { + output: { + items: JupyterContentItem[] + path: string + } +} + +export interface JupyterGetContentParams extends JupyterAuthParams { + path: string +} + +export interface JupyterGetContentResponse extends ToolResponse { + output: { + name: string + path: string + mimetype: string | null + text: string | null + file: { + name: string + mimeType: string + data: string + size: number + } | null + } +} + +export interface JupyterCreateFileParams extends JupyterAuthParams { + path: string + type: 'file' | 'notebook' | 'directory' + content?: string +} + +export interface JupyterCreateFileResponse extends ToolResponse { + output: { + name: string + path: string + type: 'directory' | 'file' | 'notebook' + createdAt: string | null + lastModified: string | null + } +} + +export interface JupyterUploadFileParams extends JupyterAuthParams { + directory?: string + file?: unknown + fileContent?: string + fileName?: string +} + +export interface JupyterUploadFileResponse extends ToolResponse { + output: { + name: string + path: string + size: number | null + lastModified: string | null + } +} + +export interface JupyterRenameContentParams extends JupyterAuthParams { + path: string + newPath: string +} + +export interface JupyterRenameContentResponse extends ToolResponse { + output: { + name: string + path: string + lastModified: string | null + } +} + +export interface JupyterDeleteContentParams extends JupyterAuthParams { + path: string +} + +export interface JupyterDeleteContentResponse extends ToolResponse { + output: { + success: boolean + path: string + } +} + +export interface JupyterCopyContentParams extends JupyterAuthParams { + path: string + copyFromPath: string +} + +export interface JupyterCopyContentResponse extends ToolResponse { + output: { + name: string + path: string + createdAt: string | null + } +} + +export interface JupyterListKernelsParams extends JupyterAuthParams {} + +export interface JupyterListKernelsResponse extends ToolResponse { + output: { + kernels: JupyterKernel[] + } +} + +export interface JupyterStartKernelParams extends JupyterAuthParams { + kernelName?: string +} + +export interface JupyterStartKernelResponse extends ToolResponse { + output: JupyterKernel +} + +export interface JupyterStopKernelParams extends JupyterAuthParams { + kernelId: string +} + +export interface JupyterStopKernelResponse extends ToolResponse { + output: { + success: boolean + kernelId: string + } +} + +export interface JupyterRestartKernelParams extends JupyterAuthParams { + kernelId: string +} + +export interface JupyterRestartKernelResponse extends ToolResponse { + output: JupyterKernel +} + +export interface JupyterInterruptKernelParams extends JupyterAuthParams { + kernelId: string +} + +export interface JupyterInterruptKernelResponse extends ToolResponse { + output: { + success: boolean + kernelId: string + } +} + +export interface JupyterListKernelspecsParams extends JupyterAuthParams {} + +export interface JupyterListKernelspecsResponse extends ToolResponse { + output: { + defaultKernelName: string | null + kernelspecs: JupyterKernelSpec[] + } +} + +export interface JupyterListSessionsParams extends JupyterAuthParams {} + +export interface JupyterListSessionsResponse extends ToolResponse { + output: { + sessions: JupyterSession[] + } +} + +export interface JupyterCreateSessionParams extends JupyterAuthParams { + path: string + kernelName?: string + name?: string + type?: string +} + +export interface JupyterCreateSessionResponse extends ToolResponse { + output: JupyterSession +} + +export interface JupyterDeleteSessionParams extends JupyterAuthParams { + sessionId: string +} + +export interface JupyterDeleteSessionResponse extends ToolResponse { + output: { + success: boolean + sessionId: string + } +} diff --git a/apps/sim/tools/jupyter/upload_file.ts b/apps/sim/tools/jupyter/upload_file.ts new file mode 100644 index 00000000000..57894c11486 --- /dev/null +++ b/apps/sim/tools/jupyter/upload_file.ts @@ -0,0 +1,86 @@ +import type { JupyterUploadFileParams, JupyterUploadFileResponse } from '@/tools/jupyter/types' +import type { ToolConfig } from '@/tools/types' + +export const jupyterUploadFileTool: ToolConfig = + { + id: 'jupyter_upload_file', + name: 'Jupyter Upload File', + description: 'Upload a file to a Jupyter server', + version: '1.0.0', + + params: { + serverUrl: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Base URL of the Jupyter server (e.g. http://localhost:8888)', + }, + token: { + type: 'string', + required: true, + visibility: 'user-only', + description: 'Jupyter server authentication token', + }, + directory: { + type: 'string', + required: false, + visibility: 'user-or-llm', + description: + 'Destination directory, relative to the server root. Leave blank to upload to the root directory.', + }, + file: { + type: 'file', + required: false, + visibility: 'user-or-llm', + description: 'The file to upload (UserFile object)', + }, + fileContent: { + type: 'string', + required: false, + visibility: 'hidden', + description: 'Legacy: base64 encoded file content', + }, + fileName: { + type: 'string', + required: false, + visibility: 'user-or-llm', + description: 'Optional filename override', + }, + }, + + request: { + url: '/api/tools/jupyter/upload', + method: 'POST', + headers: () => ({ + 'Content-Type': 'application/json', + }), + body: (params) => ({ + serverUrl: params.serverUrl, + token: params.token, + directory: params.directory, + file: params.file, + fileContent: params.fileContent, + fileName: params.fileName, + }), + }, + + transformResponse: async (response) => { + const data = await response.json() + + if (!data.success) { + throw new Error(data.error || 'Failed to upload file') + } + + return { + success: true, + output: data.output, + } + }, + + outputs: { + name: { type: 'string', description: 'Uploaded file name' }, + path: { type: 'string', description: 'Uploaded file path' }, + size: { type: 'number', description: 'File size in bytes', optional: true }, + lastModified: { type: 'string', description: 'Last modified timestamp', optional: true }, + }, + } diff --git a/apps/sim/tools/jupyter/utils.ts b/apps/sim/tools/jupyter/utils.ts new file mode 100644 index 00000000000..517ec545c95 --- /dev/null +++ b/apps/sim/tools/jupyter/utils.ts @@ -0,0 +1,187 @@ +const PROTOCOL_PATTERN = /^https?:\/\//i + +/** + * Error thrown when a user-supplied Jupyter server URL cannot be parsed into a + * safe http(s) origin to target with the caller's token. + */ +export class InvalidJupyterServerUrlError extends Error { + constructor(rawUrl: string) { + super(`Invalid Jupyter server URL: ${rawUrl}`) + this.name = 'InvalidJupyterServerUrlError' + } +} + +/** + * Normalizes a user-supplied Jupyter server URL: trims whitespace, defaults to + * `http://` when no scheme is given (most Jupyter servers run over plain HTTP + * on localhost or a private network), and strips any trailing slash and + * query/fragment. Self-hosted Jupyter servers have no fixed public host, so the + * URL is always user-supplied. + * + * @throws {InvalidJupyterServerUrlError} when the value is empty or not a valid http(s) URL. + */ +export function normalizeJupyterServerUrl(rawUrl: unknown): string { + const raw = typeof rawUrl === 'string' ? rawUrl.trim() : '' + if (!raw) throw new InvalidJupyterServerUrlError(String(rawUrl)) + + const withProtocol = PROTOCOL_PATTERN.test(raw) ? raw : `http://${raw}` + + let parsed: URL + try { + parsed = new URL(withProtocol) + } catch { + throw new InvalidJupyterServerUrlError(raw) + } + + if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') { + throw new InvalidJupyterServerUrlError(raw) + } + + return `${parsed.origin}${parsed.pathname.replace(/\/+$/, '')}` +} + +/** + * Builds the `Authorization` header Jupyter Server expects for token auth. + */ +export function buildJupyterAuthHeaders(token: string): Record { + return { Authorization: `token ${token}` } +} + +/** + * Error thrown when a user-supplied Jupyter contents path contains a `.` or + * `..` segment that could traverse outside the intended directory. + */ +export class UnsafeJupyterPathError extends Error { + constructor(rawPath: string) { + super(`Invalid Jupyter path: ${rawPath}`) + this.name = 'UnsafeJupyterPathError' + } +} + +/** + * Rejects `.` and `..` segments in a Jupyter contents path, which could + * otherwise traverse outside the intended directory on the target server. + * Shared by every helper that sends a path to Jupyter, whether in a URL or a + * request body. + * + * Decodes the *entire* path once before splitting it, rather than splitting + * on literal `/` first and decoding each piece in isolation — a segment like + * `foo%2f..%2fsecret` has no literal slash, so a split-then-decode check + * would treat it as one opaque segment and never notice the `..` hiding + * behind the encoded slash. Decoding first exposes every segment the target + * server would actually see once its own single URL-decode pass runs. + * + * @throws {UnsafeJupyterPathError} when a segment is `.` or `..`, literally + * or percent-encoded (including an encoded slash exposing a hidden segment). + */ +function assertNoJupyterPathTraversal(path: string | undefined): string[] { + const raw = path ?? '' + + let decoded: string + try { + decoded = decodeURIComponent(raw) + } catch { + decoded = raw + } + + if (decoded.split('/').some((segment) => segment === '.' || segment === '..')) { + throw new UnsafeJupyterPathError(raw) + } + + return raw.split('/').filter((segment) => segment.length > 0) +} + +/** + * Encodes a Jupyter contents path segment-by-segment so slashes stay as path + * separators while special characters within a segment are escaped. Use for + * paths interpolated into a request URL. + * + * @throws {UnsafeJupyterPathError} when a segment is `.` or `..`. + */ +export function encodeJupyterPath(path: string | undefined): string { + return assertNoJupyterPathTraversal(path).map(encodeURIComponent).join('/') +} + +/** + * Validates a Jupyter contents path with no URL-encoding. Use for paths sent + * as-is in a JSON request body (e.g. a PATCH/POST `path`/`copy_from` field) + * that never flow through `encodeJupyterPath`. + * + * @throws {UnsafeJupyterPathError} when a segment is `.` or `..`. + */ +export function assertSafeJupyterPath(path: string): string { + assertNoJupyterPathTraversal(path) + return path +} + +/** + * Validates the `path` field of a `/api/tools/jupyter/proxy` request — an + * already-encoded relative path under `/api/` (e.g. + * `contents/notebooks%2Fa.ipynb?content=1`) that may carry a query string. + * Every tool already validates its own path segments before building this + * value, but the proxy route is a shared internal trust boundary reachable + * independent of any one tool's call site, so it re-validates rather than + * assuming the caller did. + * + * @throws {UnsafeJupyterPathError} when a segment of the path portion + * (everything before the first `?`) is `.` or `..`. + */ +export function assertSafeJupyterProxyPath(rawPath: string): void { + const [pathname] = rawPath.split('?') + assertNoJupyterPathTraversal(pathname) +} + +interface RawJupyterKernel { + id?: string + name?: string + last_activity?: string + execution_state?: string + connections?: number +} + +/** + * Maps a raw Jupyter kernel model (from Kernels/Sessions API responses) to + * Sim's shaped `JupyterKernel` output. + */ +export function mapJupyterKernel(raw: RawJupyterKernel): { + id: string + name: string + lastActivity: string | null + executionState: string | null + connections: number | null +} { + return { + id: raw.id ?? '', + name: raw.name ?? '', + lastActivity: raw.last_activity ?? null, + executionState: raw.execution_state ?? null, + connections: raw.connections ?? null, + } +} + +interface RawJupyterSession { + id?: string + path?: string + name?: string + type?: string + kernel?: RawJupyterKernel | null +} + +/** + * Maps a raw Jupyter session model to Sim's shaped `JupyterSession` output. + */ +export function mapJupyterSession(raw: RawJupyterSession): { + id: string + path: string + name: string + type: string + kernel: ReturnType | null +} { + return { + id: raw.id ?? '', + path: raw.path ?? '', + name: raw.name ?? '', + type: raw.type ?? '', + kernel: raw.kernel ? mapJupyterKernel(raw.kernel) : null, + } +} diff --git a/apps/sim/tools/registry.ts b/apps/sim/tools/registry.ts index 4fcda0f1cd4..4c2ce2bf0d9 100644 --- a/apps/sim/tools/registry.ts +++ b/apps/sim/tools/registry.ts @@ -1970,6 +1970,24 @@ import { jsmTransitionRequestTool, jsmUpdateObjectTool, } from '@/tools/jsm' +import { + jupyterCopyContentTool, + jupyterCreateFileTool, + jupyterCreateSessionTool, + jupyterDeleteContentTool, + jupyterDeleteSessionTool, + jupyterGetContentTool, + jupyterInterruptKernelTool, + jupyterListContentsTool, + jupyterListKernelspecsTool, + jupyterListKernelsTool, + jupyterListSessionsTool, + jupyterRenameContentTool, + jupyterRestartKernelTool, + jupyterStartKernelTool, + jupyterStopKernelTool, + jupyterUploadFileTool, +} from '@/tools/jupyter' import { kalshiAmendOrderTool, kalshiAmendOrderV2Tool, @@ -5291,6 +5309,22 @@ export const tools: Record = { jsm_create_object: jsmCreateObjectTool, jsm_update_object: jsmUpdateObjectTool, jsm_delete_object: jsmDeleteObjectTool, + jupyter_list_contents: jupyterListContentsTool, + jupyter_get_content: jupyterGetContentTool, + jupyter_create_file: jupyterCreateFileTool, + jupyter_upload_file: jupyterUploadFileTool, + jupyter_rename_content: jupyterRenameContentTool, + jupyter_delete_content: jupyterDeleteContentTool, + jupyter_copy_content: jupyterCopyContentTool, + jupyter_list_kernels: jupyterListKernelsTool, + jupyter_start_kernel: jupyterStartKernelTool, + jupyter_stop_kernel: jupyterStopKernelTool, + jupyter_restart_kernel: jupyterRestartKernelTool, + jupyter_interrupt_kernel: jupyterInterruptKernelTool, + jupyter_list_kernelspecs: jupyterListKernelspecsTool, + jupyter_list_sessions: jupyterListSessionsTool, + jupyter_create_session: jupyterCreateSessionTool, + jupyter_delete_session: jupyterDeleteSessionTool, kalshi_get_markets: kalshiGetMarketsTool, kalshi_get_markets_v2: kalshiGetMarketsV2Tool, kalshi_get_market: kalshiGetMarketTool, diff --git a/scripts/check-api-validation-contracts.ts b/scripts/check-api-validation-contracts.ts index 1aa4dc0495d..23c532a1dea 100644 --- a/scripts/check-api-validation-contracts.ts +++ b/scripts/check-api-validation-contracts.ts @@ -9,8 +9,8 @@ const QUERY_HOOKS_DIR = path.join(ROOT, 'apps/sim/hooks/queries') const SELECTOR_HOOKS_DIR = path.join(ROOT, 'apps/sim/hooks/selectors') const BASELINE = { - totalRoutes: 919, - zodRoutes: 919, + totalRoutes: 921, + zodRoutes: 921, nonZodRoutes: 0, } as const From 472457b0827da96348da532395b27ff0db4660fa Mon Sep 17 00:00:00 2001 From: Waleed Date: Wed, 8 Jul 2026 19:46:14 -0700 Subject: [PATCH 25/27] chore(skill): check branch is synced with origin/staging before pushing (#5529) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(ship-skill): check branch is synced with origin/staging before pushing Prevents PRs from silently picking up extraneous commits when a branch/worktree is cut from a stale or diverged local staging/main. * feat(babysit): add skill to drive a PR through review to a clean 5/5 Ships (via /ship's sync check), waits for Greptile/Cursor Bugbot, triages every open thread (fix real findings, push back on false positives), replies + resolves each thread, re-triggers review, and loops until Greptile is 5/5 with zero open threads. * chore(cursor-commands): mirror sync-check into ship.md, add babysit.md Keeps the Cursor /commands mirrors of ship and babysit in sync with the Claude Code .agents/skills versions so they don't drift. * fix(ship-skill): compare commit content not count, handle WIP before rebase, avoid fixed temp branch name - Final verify now diffs actual commit subjects between git log and the PR, not just a count — a corrupted branch's inflated count could coincidentally match a later count check - The pre-commit count in step 2 was being compared against the post-commit PR in step 9, which would mismatch even on success; now compares content at the point it's actually available - Recovery flow stashes uncommitted work before rebasing so it isn't blocked by a dirty tree, and checks for an existing tmp branch before reusing the name * fix(ship-skill,babysit): clean rebase can still hide drift, fixed temp-branch name blocks recovery - A clean git rebase can replay stray commits with zero conflicts, so 'rebase succeeded' was being treated as sufficient — now the log is always re-checked after rebasing, clean or not, before trusting it - The recovery text told the agent to 'pick another name' if ship-sync-tmp was taken but then hardcoded that literal name anyway; now it just deletes the leftover (disposable, single-purpose) branch instead of introducing a naming scheme - babysit's step 5 pointed at re-running the log check alone; it now points at the full /ship step 2 recovery flow, since a review loop spanning a long session is exactly where drift compounds silently * fix(ship-skill,babysit): guard tmp-branch delete, fetch before final verify, paginate threads, verify after every push - ship-sync-tmp deletion is now conditional on the branch existing — a bare 'git branch -D' on a first recovery attempt with no leftover would fail and block the rebuild before it started - step 9's final commit-content verify now fetches origin/staging first, matching step 2; a stale local ref could mask real drift - babysit's reviewThreads query now checks pageInfo.hasNextPage and pages through all threads instead of assuming 50 is always enough - babysit now re-runs the sync-content verify after every push, not just before it, so a bad push or a PR that drifted mid-loop doesn't go unnoticed across review rounds * fix(ship-skill,babysit): fix reversed commit-list order, tail-1 grabbing wrong line, stale step reference - git log --oneline is newest-first, gh pr view commits is oldest-first — the two content-verify commands now use --reverse so a positional comparison doesn't spuriously fail on any multi-commit branch - 'select(...) | .body | tail -1' pipes every matching comment's full body through the pipeline and keeps only the last LINE of the combined output (the review-count footer), not the last COMMENT — demonstrated this myself this session reading the footer instead of the actual score. Now uses '[.comments[]] | last | .body' - Cursor's babysit.md pointed at '/ship step 9', but Cursor's ship.md only has 7 steps (no cleanup/migration steps) — now points at step 7 and cross-references the 9-step Claude Code skill copy * fix(ship-skill): checkout before deleting ship-sync-tmp, cherry-pick oldest-first - git refuses to delete the branch currently checked out, so if an earlier interrupted recovery left the agent sitting on ship-sync-tmp, the conditional delete would find the branch and then fail to remove it, blocking the rest of the rebuild. Now checks out the original branch first (a no-op if already there). - git log's default order is newest-first; cherry-picking session SHAs in that displayed order applies the newest commit before older ones, which can fail or produce the wrong history with 2+ session commits. Now explicit: cherry-pick oldest-first, using --reverse to get them in that order directly. * fix(ship-skill): capture cherry-pick SHAs before switching to the temp branch, make tmp delete idempotent - Step 4 of the rebuild checks out ship-sync-tmp at origin/staging, so HEAD no longer contains the session's commits by the time the old step 4 (now step 5) ran 'origin/staging..HEAD' to find them — that range was always empty by then, following the steps literally would cherry-pick nothing. Now captures the SHA list first, against the original branch name explicitly, before any branch switch. - The show-ref-guarded delete still exits 1 (git show-ref's own failure) on the common first-attempt case where there's no leftover branch, which could halt a caller that stops on nonzero exit before ever reaching the rebuild. Replaced with a plain delete + || true, which always succeeds whether or not there was anything to delete. * fix(ship-skill,babysit): rebuild was replaying the exact stray commits it was meant to leave behind - The 'capture the range' step from the previous round's fix captured origin/staging.. wholesale — but in exactly the scenario that triggers this rebuild, that range also contains the unrecognized/stray commits, so cherry-picking 'all of it' recreated the same polluted branch. Now explicit: read the log, write down only the SHA(s) you recognize as your own, never the whole range. - babysit's pre-push gate list named lint/typecheck/boundary-validation but dropped ship's conditional /cleanup and /db-migrate steps, which a review-fix round can trip just as easily as the original commit. - babysit's force-with-lease condition only covered the cherry-pick rebuild path, but a plain 'git rebase origin/staging' that completes with no conflicts also rewrites already-published history and needs the same force push. * fix(ship-skill): push step needs force-with-lease too, not just babysit's Step 2's sync recovery rewrites already-pushed commits on a branch that's been pushed before, but the push step only said 'push using the current branch name' with no force-with-lease — a plain push would be rejected in exactly the polluted-remote case step 2 exists to fix. babysit already got this fix; ship's own push step didn't. --- .agents/skills/babysit/SKILL.md | 137 ++++++++++++++++++++++++++++++++ .agents/skills/ship/SKILL.md | 41 ++++++++-- .cursor/commands/babysit.md | 131 ++++++++++++++++++++++++++++++ .cursor/commands/ship.md | 41 ++++++++-- 4 files changed, 336 insertions(+), 14 deletions(-) create mode 100644 .agents/skills/babysit/SKILL.md create mode 100644 .cursor/commands/babysit.md diff --git a/.agents/skills/babysit/SKILL.md b/.agents/skills/babysit/SKILL.md new file mode 100644 index 00000000000..6e5b883ee31 --- /dev/null +++ b/.agents/skills/babysit/SKILL.md @@ -0,0 +1,137 @@ +--- +name: babysit +description: Drive a PR to a clean review (Greptile 5/5, zero open threads) — ships if needed, triggers Greptile/Cursor Bugbot, fixes real findings, replies to and resolves every thread, and loops until clean +--- + +# Babysit PRs + +Owns a PR end-to-end through review: ship it, wait for the automatic review round, and if it +isn't already clean, drive fix → reply → resolve → re-review cycles until Greptile reports 5/5 +and there are zero open comment threads. Designed to be run under `/loop` (no fixed interval — +let it self-pace on review latency) so it survives across multiple wakeups in the same session. + +## When to use + +- The user says "babysit this PR", "keep working the reviews until it's clean", or similar +- As the natural follow-up to `/ship` when the user wants the review loop automated rather than + manually re-triggering reviews and answering comments themselves + +## Inputs + +Needs a PR number. If none is given and there's no open PR for the current branch, run `/ship` +first (which includes the `origin/staging` sync check — see `.agents/skills/ship/SKILL.md`) to +create one. + +## Definition of "clean" + +Both must hold: +1. The latest Greptile summary comment reports **Confidence Score: 5/5** +2. `reviewThreads` (GraphQL, see below) has **zero threads with `isResolved: false`** + +Do not stop early on "no new comments this round" alone — a thread can be open from an earlier +round. Always check both conditions freshly after every push. + +## Loop + +1. **Check current state** before doing anything: + ```bash + gh pr view --json comments -q '[.comments[] | select(.author.login=="greptile-apps")] | last | .body' + gh api graphql -f query=' + query { repository(owner: "", name: "") { pullRequest(number: ) { + reviewThreads(first: 50) { pageInfo { hasNextPage endCursor } nodes { id isResolved path line + comments(first: 5) { nodes { id databaseId author { login } body } } } } } } }' + ``` + `[.comments[]] | last | .body`, not `... | .body | tail -1` — the latter pipes every matching + comment's full multi-line body through the pipeline and keeps only the final *line* of that + combined output (usually the "Reviews (n): Last reviewed commit..." footer), not the last + *comment*, so it silently misses the actual "Confidence Score: X/5" line. + `reviewThreads(first: 50)` is a single page — check `pageInfo.hasNextPage`. If `true`, don't + stop yet: re-run the same query with `after: ""` and keep paging until + `hasNextPage` is `false` before evaluating "clean." A PR with more than 50 threads is rare but + stopping on a partial page would silently miss unresolved ones past the cutoff. + If Greptile is 5/5 and every thread across all pages has `isResolved: true`, stop — report the + outcome (see "Reporting" below) and skip the rest of this list. + +2. **If no review has run yet** (fresh PR, no Greptile/Cursor comments): they usually run + automatically on PR open — confirm via `gh pr checks ` (look for `Cursor Bugbot` / + `Greptile Review`) and wait for that first round before doing anything else. + +3. **If a review round has landed and it isn't clean**: for every thread where + `isResolved: false`, triage the finding on its own merits — this is the part that requires + judgment, not a mechanical loop: + - **Real bug**: fix it in the cleanest way available. Match the codebase's existing + conventions for that kind of problem before inventing a new one (e.g. an SSRF-prone + user-supplied-host fetch should use whatever `validateUrlWithDNS`/`secureFetchWithPinnedIP` + pattern the rest of the codebase already uses for that exact situation — grep for a sibling + integration solving the same problem first). Never patch around a finding with a + workaround, a broad try/catch, or a suppression comment — fix the actual cause. + - **False positive**: don't change code. Reply with the specific reason it doesn't apply + (cite the type definition, the established pattern it matches, or the doc it follows) so + the reviewer bot and a human skimming later both understand why it was left as-is. + - **Already fixed by an earlier finding in the same round**: note that and resolve without a + duplicate code change. + +4. **Reply to every thread individually** before resolving it — never resolve silently: + ```bash + gh api repos///pulls//comments//replies -f body="" + ``` + Then resolve via GraphQL (needs the thread `id` from step 1, not the comment id): + ```bash + gh api graphql -f query='mutation { resolveReviewThread(input: {threadId: ""}) { thread { isResolved } } }' + ``` + +5. **Before pushing, re-run the full sync check from `/ship` step 2** — not just the log command, + the whole check-and-recover flow (stash WIP if needed, rebase, verify the rebase didn't just + cleanly replay stray commits, cherry-pick rebuild if it did or if it conflicted). A babysit + loop spanning a long session is exactly the scenario where a branch can drift, and pushing + review fixes on top of undetected drift is how an oversized PR happens even after the branch + was fixed once. Then run the repo's pre-ship checks the same way `/ship` does before + committing — not just lint/typecheck/boundary-validation, but also the conditional `/cleanup` + (if this round's fix touched UI code) and `/db-migrate` (if it touched schema/migrations) + gates from `/ship` steps 4 and 5. A review-fix round is still a code change and can trip + either gate just as easily as the original commit did. + +6. **Commit and push** the round's fixes as one commit — `--force-with-lease` whenever step 5's + sync check rewrote history, which includes a plain `git rebase origin/staging` that completed + with no conflicts, not only the cherry-pick rebuild path; both rewrite commits already + published to the remote, so a plain `git push` can be rejected either way — then run `/ship` + step 9's post-push verify — not just before the first push, every push in the loop: + ```bash + git fetch origin staging && git log --oneline --reverse origin/staging..HEAD + gh pr view --json commits -q '.commits[].messageHeadline' + ``` + `--reverse` matches `git log`'s newest-first default to the PR commit list's oldest-first + order — without it a positional comparison can spuriously fail on any multi-commit branch. + These two lists must describe the same commits. A review loop runs many pushes across many + rounds; checking sync only before the push (step 5) and never after is how a bad push or a + PR whose commit history quietly went stale between rounds goes unnoticed. + +7. **Re-trigger review** by posting `@greptile` and `@cursor review` as **two separate PR + comments** — never combine them into one comment, each bot only responds to its own mention: + ```bash + gh pr comment --body "@greptile" + gh pr comment --body "@cursor review" + ``` + +8. **Wait for the new round**, then go back to step 1. Pace the wait with `ScheduleWakeup` using + a fallback delay of ~250–300s (Greptile/Cursor typically take 1–3 minutes) — never busy-poll + in a sleep loop. Pass the same `/loop babysit PR ` prompt on each wakeup so the loop + resumes correctly. + +9. **Stop conditions**: clean state reached (see above), or the same unresolved finding survives + two consecutive rounds with no new information (surface it to the user instead of looping + forever), or the user interrupts. + +## Reporting + +When the loop ends, summarize: how many rounds it took, what was actually fixed (one line each), +what was pushed back on as a false positive and why, and the final Greptile score / thread count. + +## Hard rules + +- Never post the two re-review mentions as a single combined comment. +- Never resolve a thread without replying to it first. +- Never fix a finding with a hacky workaround — if the clean fix isn't obvious, find the sibling + pattern elsewhere in the codebase solving the same class of problem and match it. +- Never silently drop a finding — every thread gets either a code fix or a reasoned reply. +- Always re-run the `/ship`-style sync check before every push in the loop, not just the first. diff --git a/.agents/skills/ship/SKILL.md b/.agents/skills/ship/SKILL.md index db61568d6c0..43024747fe4 100644 --- a/.agents/skills/ship/SKILL.md +++ b/.agents/skills/ship/SKILL.md @@ -12,21 +12,48 @@ You help ship code by creating commits, pushing to the remote branch, and creati When the user runs `/ship`: 1. **Check git status** - See what files have changed -2. **Generate a commit message** following this format: `type(scope): description` +2. **Sync check**: `git fetch origin staging && git log --oneline origin/staging..HEAD`. Read the actual commit list, not just how many there are — it must show ONLY commits you can attribute to this session (recognizable subjects/SHAs). A worktree/branch can silently be cut from a stale local `staging`, dragging in unrelated commits; a corrupted branch's inflated commit *count* can coincidentally match a later check even when the *commits* are wrong, so always compare content, never just a number. + - If it shows commits you don't recognize, fix it now, **before** staging/committing any new work (step 7 hasn't run yet): + - If the working tree has uncommitted changes, stash them first — `git stash push -u -m ship-sync-fix` — so the rebase below isn't blocked by dirty state. Restore with `git stash pop` once the branch is fixed. + - Try `git rebase origin/staging` first. + - **A rebase finishing without conflicts does NOT by itself mean the branch is clean** — it can replay stray commits onto the new base with no conflict at all. After the rebase (clean or not), re-run `git log --oneline origin/staging..HEAD` and re-check the commit list against what you recognize. + - If the rebase conflicted on commits you don't recognize, OR it finished cleanly but the re-checked log still shows commits you don't recognize, abandon that result (`git rebase --abort` if still mid-rebase) and rebuild instead, in this exact order: + 1. **While still on ``**, identify the SHA(s) to preserve — **not** the whole range. `git log --oneline --reverse origin/staging..` lists everything ahead of `origin/staging`, but in exactly this scenario that range also contains the unrecognized/stray commits you're trying to leave behind — blindly cherry-picking the full range recreates the same polluted branch. Read the list and write down only the SHA(s) you recognize as your own session's work (e.g. `abc1234 def5678`); do this *before* touching any temp branch, since once you check out `ship-sync-tmp` at `origin/staging` in step 4, `HEAD` no longer contains these commits and the same lookup at that point returns nothing. + 2. `git checkout ` — harmless no-op if you're already there, but required if an earlier interrupted attempt left you sitting on `ship-sync-tmp`: git refuses to delete the branch you're currently on, so deleting it before switching away silently fails and blocks the rest of the rebuild. + 3. Delete any leftover from an earlier attempt: `git branch -D ship-sync-tmp 2>/dev/null || true` — always succeeds, including when there's nothing to delete (a first attempt), so it never blocks the rest of the rebuild on its own exit code. + 4. `git checkout -b ship-sync-tmp origin/staging`. + 5. `git cherry-pick` the SHAs captured in step 1, **in that oldest-first order** — cherry-picking more than one session commit out of order can fail or produce the wrong history. Resolve conflicts. + 6. `git branch -f HEAD`, `git checkout `, and delete `ship-sync-tmp` (`git branch -D ship-sync-tmp`). + - Re-verify with `git log --oneline origin/staging..HEAD` — it must list only commits you recognize before you proceed to committing new work. +3. **Generate a commit message** following this format: `type(scope): description` - Types: `fix`, `feat`, `improvement`, `chore` - Scope: short identifier (e.g., `undo-redo`, `api`, `ui`) - Keep it concise -3. **Run the cleanup pass** — only if the diff modifies UI code (any `.tsx` file, or anything under `apps/sim/components/`, `apps/sim/hooks/`, or `apps/sim/stores/`): `/cleanup` +4. **Run the cleanup pass** — only if the diff modifies UI code (any `.tsx` file, or anything under `apps/sim/components/`, `apps/sim/hooks/`, or `apps/sim/stores/`): `/cleanup` - The six code-quality skills (effects, memo, callbacks, state, React Query, emcn) only apply to React code, so skip this step entirely when no UI was touched. When it runs, it applies fixes so they land in this commit. -4. **Run migration safety** — only if the diff touches `packages/db/migrations/**` or `packages/db/schema.ts`: +5. **Run migration safety** — only if the diff touches `packages/db/migrations/**` or `packages/db/schema.ts`: - Run `/db-migrate` to review the migration for zero-downtime safety (expand/contract phasing, backward-compatibility with the deployed app version). - `bun run check:migrations origin/staging` must pass (staging is the PR base). Do not silence a flagged statement with a `-- migration-safe:` annotation unless `/db-migrate` confirmed the old code no longer depends on it; otherwise split the destructive change into a later deploy. -5. **Run pre-ship checks** from the repo root before staging: +6. **Run pre-ship checks** from the repo root before staging: - `bun run lint` to fix formatting issues - `bun run check:api-validation:strict` to catch boundary contract failures before CI -6. **Stage and commit** the changes with the generated message -7. **Push to origin** using the current branch name -8. **Create a PR** to staging with a description in the user's voice +7. **Stage and commit** the changes with the generated message +8. **Push to origin** using the current branch name — `--force-with-lease` if step 2's sync + check did any history rewrite (a clean rebase or a cherry-pick rebuild) on a branch that had + already been pushed once; a plain push would be rejected in exactly the polluted-remote case + step 2 exists to fix +9. **Create a PR** to staging with a description in the user's voice, then do a final content check — not a count check — comparing what actually landed: + ```bash + git fetch origin staging && git log --oneline --reverse origin/staging..HEAD + gh pr view --json commits -q '.commits[].messageHeadline' + ``` + Re-fetch first — comparing against a stale local `origin/staging` ref can mask real drift or + flag a false mismatch even when the branch and push are correct. `--reverse` makes the git log + oldest-first, matching the PR commit list's order — plain `git log` is newest-first, and a + positional/line-by-line comparison against the PR's oldest-first list can spuriously fail on + any multi-commit branch. These two lists must describe the same commits in the same order + (same subjects, the last one being the commit from step 7). If they don't match, the branch + still has a problem — redo step 2's fix and `git push --force-with-lease`. ## Commit Message Format diff --git a/.cursor/commands/babysit.md b/.cursor/commands/babysit.md new file mode 100644 index 00000000000..3935f6b5e30 --- /dev/null +++ b/.cursor/commands/babysit.md @@ -0,0 +1,131 @@ +# Babysit Command + +Owns a PR end-to-end through review: ship it, wait for the automatic review round, and if it +isn't already clean, drive fix → reply → resolve → re-review cycles until Greptile reports 5/5 +and there are zero open comment threads. + +## When to use + +- The user says "babysit this PR", "keep working the reviews until it's clean", or similar +- As the natural follow-up to `/ship` when the user wants the review loop automated rather than + manually re-triggering reviews and answering comments themselves + +## Inputs + +Needs a PR number. If none is given and there's no open PR for the current branch, run `/ship` +first (which includes the `origin/staging` sync check — see `.cursor/commands/ship.md`) to +create one. + +## Definition of "clean" + +Both must hold: +1. The latest Greptile summary comment reports **Confidence Score: 5/5** +2. `reviewThreads` (GraphQL, see below) has **zero threads with `isResolved: false`** + +Do not stop early on "no new comments this round" alone — a thread can be open from an earlier +round. Always check both conditions freshly after every push. + +## Loop + +1. **Check current state** before doing anything: + ```bash + gh pr view --json comments -q '[.comments[] | select(.author.login=="greptile-apps")] | last | .body' + gh api graphql -f query=' + query { repository(owner: "", name: "") { pullRequest(number: ) { + reviewThreads(first: 50) { pageInfo { hasNextPage endCursor } nodes { id isResolved path line + comments(first: 5) { nodes { id databaseId author { login } body } } } } } } }' + ``` + `[.comments[]] | last | .body`, not `... | .body | tail -1` — the latter pipes every matching + comment's full multi-line body through the pipeline and keeps only the final *line* of that + combined output (usually the "Reviews (n): Last reviewed commit..." footer), not the last + *comment*, so it silently misses the actual "Confidence Score: X/5" line. + `reviewThreads(first: 50)` is a single page — check `pageInfo.hasNextPage`. If `true`, don't + stop yet: re-run the same query with `after: ""` and keep paging until + `hasNextPage` is `false` before evaluating "clean." A PR with more than 50 threads is rare but + stopping on a partial page would silently miss unresolved ones past the cutoff. + If Greptile is 5/5 and every thread across all pages has `isResolved: true`, stop — report the + outcome (see "Reporting" below) and skip the rest of this list. + +2. **If no review has run yet** (fresh PR, no Greptile/Cursor comments): they usually run + automatically on PR open — confirm via `gh pr checks ` (look for `Cursor Bugbot` / + `Greptile Review`) and wait for that first round before doing anything else. + +3. **If a review round has landed and it isn't clean**: for every thread where + `isResolved: false`, triage the finding on its own merits — this is the part that requires + judgment, not a mechanical loop: + - **Real bug**: fix it in the cleanest way available. Match the codebase's existing + conventions for that kind of problem before inventing a new one (e.g. an SSRF-prone + user-supplied-host fetch should use whatever `validateUrlWithDNS`/`secureFetchWithPinnedIP` + pattern the rest of the codebase already uses for that exact situation — grep for a sibling + integration solving the same problem first). Never patch around a finding with a + workaround, a broad try/catch, or a suppression comment — fix the actual cause. + - **False positive**: don't change code. Reply with the specific reason it doesn't apply + (cite the type definition, the established pattern it matches, or the doc it follows) so + the reviewer bot and a human skimming later both understand why it was left as-is. + - **Already fixed by an earlier finding in the same round**: note that and resolve without a + duplicate code change. + +4. **Reply to every thread individually** before resolving it — never resolve silently: + ```bash + gh api repos///pulls//comments//replies -f body="" + ``` + Then resolve via GraphQL (needs the thread `id` from step 1, not the comment id): + ```bash + gh api graphql -f query='mutation { resolveReviewThread(input: {threadId: ""}) { thread { isResolved } } }' + ``` + +5. **Before pushing, re-run the full sync check from `/ship` step 2** — not just the log command, + the whole check-and-recover flow (stash WIP if needed, rebase, verify the rebase didn't just + cleanly replay stray commits, cherry-pick rebuild if it did or if it conflicted). A babysit + loop spanning a long session is exactly the scenario where a branch can drift, and pushing + review fixes on top of undetected drift is how an oversized PR happens even after the branch + was fixed once. Then run the repo's pre-ship checks — not just lint/typecheck/boundary- + validation, but also the conditional `/cleanup` (UI changes) and `/db-migrate` + (schema/migration changes) gates from `.agents/skills/ship/SKILL.md` steps 4 and 5 (Cursor's + own 7-step `ship.md` doesn't carry those steps, but a review-fix round is still a code change + and can trip either gate just as easily as the original commit did). + +6. **Commit and push** the round's fixes as one commit — `--force-with-lease` whenever step 5's + sync check rewrote history, which includes a plain `git rebase origin/staging` that completed + with no conflicts, not only the cherry-pick rebuild path; both rewrite commits already + published to the remote, so a plain `git push` can be rejected either way — then run `/ship` + step 7's post-push verify — not just before + the first push, every push in the loop (the Cursor `/ship` has 7 steps; the Claude Code skill + version's equivalent is step 9 — see `.agents/skills/babysit/SKILL.md` if working from that copy): + ```bash + git fetch origin staging && git log --oneline --reverse origin/staging..HEAD + gh pr view --json commits -q '.commits[].messageHeadline' + ``` + `--reverse` matches `git log`'s newest-first default to the PR commit list's oldest-first + order — without it a positional comparison can spuriously fail on any multi-commit branch. + These two lists must describe the same commits. A review loop runs many pushes across many + rounds; checking sync only before the push (step 5) and never after is how a bad push or a + PR whose commit history quietly went stale between rounds goes unnoticed. + +7. **Re-trigger review** by posting `@greptile` and `@cursor review` as **two separate PR + comments** — never combine them into one comment, each bot only responds to its own mention: + ```bash + gh pr comment --body "@greptile" + gh pr comment --body "@cursor review" + ``` + +8. **Wait for the new round**, then go back to step 1. Never busy-poll in a sleep loop — pace the + wait to roughly how long Greptile/Cursor take (1–3 minutes). + +9. **Stop conditions**: clean state reached (see above), or the same unresolved finding survives + two consecutive rounds with no new information (surface it to the user instead of looping + forever), or the user interrupts. + +## Reporting + +When the loop ends, summarize: how many rounds it took, what was actually fixed (one line each), +what was pushed back on as a false positive and why, and the final Greptile score / thread count. + +## Hard rules + +- Never post the two re-review mentions as a single combined comment. +- Never resolve a thread without replying to it first. +- Never fix a finding with a hacky workaround — if the clean fix isn't obvious, find the sibling + pattern elsewhere in the codebase solving the same class of problem and match it. +- Never silently drop a finding — every thread gets either a code fix or a reasoned reply. +- Always re-run the `/ship`-style sync check before every push in the loop, not just the first. diff --git a/.cursor/commands/ship.md b/.cursor/commands/ship.md index 2530e463ee3..b08075ceb3c 100644 --- a/.cursor/commands/ship.md +++ b/.cursor/commands/ship.md @@ -7,20 +7,47 @@ You help ship code by creating commits, pushing to the remote branch, and creati When the user runs `/ship`: 1. **Check git status** - See what files have changed -2. **Generate a commit message** following this format: `type(scope): description` +2. **Sync check**: `git fetch origin staging && git log --oneline origin/staging..HEAD`. Read the actual commit list, not just how many there are — it must show ONLY commits you can attribute to this session (recognizable subjects/SHAs). A worktree/branch can silently be cut from a stale local `staging`, dragging in unrelated commits; a corrupted branch's inflated commit *count* can coincidentally match a later check even when the *commits* are wrong, so always compare content, never just a number. + - If it shows commits you don't recognize, fix it now, **before** staging/committing any new work (step 5 hasn't run yet): + - If the working tree has uncommitted changes, stash them first — `git stash push -u -m ship-sync-fix` — so the rebase below isn't blocked by dirty state. Restore with `git stash pop` once the branch is fixed. + - Try `git rebase origin/staging` first. + - **A rebase finishing without conflicts does NOT by itself mean the branch is clean** — it can replay stray commits onto the new base with no conflict at all. After the rebase (clean or not), re-run `git log --oneline origin/staging..HEAD` and re-check the commit list against what you recognize. + - If the rebase conflicted on commits you don't recognize, OR it finished cleanly but the re-checked log still shows commits you don't recognize, abandon that result (`git rebase --abort` if still mid-rebase) and rebuild instead, in this exact order: + 1. **While still on ``**, identify the SHA(s) to preserve — **not** the whole range. `git log --oneline --reverse origin/staging..` lists everything ahead of `origin/staging`, but in exactly this scenario that range also contains the unrecognized/stray commits you're trying to leave behind — blindly cherry-picking the full range recreates the same polluted branch. Read the list and write down only the SHA(s) you recognize as your own session's work (e.g. `abc1234 def5678`); do this *before* touching any temp branch, since once you check out `ship-sync-tmp` at `origin/staging` in step 4, `HEAD` no longer contains these commits and the same lookup at that point returns nothing. + 2. `git checkout ` — harmless no-op if you're already there, but required if an earlier interrupted attempt left you sitting on `ship-sync-tmp`: git refuses to delete the branch you're currently on, so deleting it before switching away silently fails and blocks the rest of the rebuild. + 3. Delete any leftover from an earlier attempt: `git branch -D ship-sync-tmp 2>/dev/null || true` — always succeeds, including when there's nothing to delete (a first attempt), so it never blocks the rest of the rebuild on its own exit code. + 4. `git checkout -b ship-sync-tmp origin/staging`. + 5. `git cherry-pick` the SHAs captured in step 1, **in that oldest-first order** — cherry-picking more than one session commit out of order can fail or produce the wrong history. Resolve conflicts. + 6. `git branch -f HEAD`, `git checkout `, and delete `ship-sync-tmp` (`git branch -D ship-sync-tmp`). + - Re-verify with `git log --oneline origin/staging..HEAD` — it must list only commits you recognize before you proceed to committing new work. +3. **Generate a commit message** following this format: `type(scope): description` - Types: `fix`, `feat`, `improvement`, `chore` - Scope: short identifier (e.g., `undo-redo`, `api`, `ui`) - Keep it concise -3. **Run pre-ship checks** from the repo root before staging: +4. **Run pre-ship checks** from the repo root before staging: - `bun run lint` to fix formatting issues - `bun run check:api-validation:strict` to catch boundary contract failures before CI -4. **Stage and commit** the changes with the generated message - -5. **Push to origin** using the current branch name - -6. **Create a PR** to staging with a description in the user's voice +5. **Stage and commit** the changes with the generated message + +6. **Push to origin** using the current branch name — `--force-with-lease` if step 2's sync + check did any history rewrite (a clean rebase or a cherry-pick rebuild) on a branch that had + already been pushed once; a plain push would be rejected in exactly the polluted-remote case + step 2 exists to fix + +7. **Create a PR** to staging with a description in the user's voice, then do a final content check — not a count check — comparing what actually landed: + ```bash + git fetch origin staging && git log --oneline --reverse origin/staging..HEAD + gh pr view --json commits -q '.commits[].messageHeadline' + ``` + Re-fetch first — comparing against a stale local `origin/staging` ref can mask real drift or + flag a false mismatch even when the branch and push are correct. `--reverse` makes the git log + oldest-first, matching the PR commit list's order — plain `git log` is newest-first, and a + positional/line-by-line comparison against the PR's oldest-first list can spuriously fail on + any multi-commit branch. These two lists must describe the same commits in the same order + (same subjects, the last one being the commit from step 5). If they don't match, the branch + still has a problem — redo step 2's fix and `git push --force-with-lease`. ## Commit Message Format From fea3391015f0c482a513261c1ae3536d40e2ea92 Mon Sep 17 00:00:00 2001 From: Vikhyath Mondreti Date: Wed, 8 Jul 2026 22:53:52 -0700 Subject: [PATCH 26/27] improvement(forking): minor ui improvements (#5533) * improvement(forking): minor ui improvements * fix warning --- .../hooks/use-settings-unsaved-guard.ts | 10 +-- .../settings-sidebar/settings-sidebar.tsx | 43 ++++----- .../w/components/sidebar/sidebar.tsx | 12 ++- .../fork-resource-picker.tsx | 63 +++++++------ .../components/fork-sync/fork-sync-view.tsx | 90 +++++++++++++------ .../ee/workspace-forking/components/forks.tsx | 26 ++---- .../lib/mapping/dependent-reconfigs.test.ts | 9 +- .../lib/mapping/dependent-reconfigs.ts | 11 ++- .../lib/promote/cleared-refs.test.ts | 57 ++++++++++++ .../lib/promote/cleared-refs.ts | 6 +- .../lib/remap/remap-references.test.ts | 3 +- .../lib/remap/remap-references.ts | 6 +- apps/sim/lib/api/contracts/workspace-fork.ts | 6 ++ apps/sim/stores/settings/dirty/store.ts | 39 ++++---- 14 files changed, 248 insertions(+), 133 deletions(-) diff --git a/apps/sim/app/workspace/[workspaceId]/settings/hooks/use-settings-unsaved-guard.ts b/apps/sim/app/workspace/[workspaceId]/settings/hooks/use-settings-unsaved-guard.ts index 7c204cb79b0..d3dcdcf226b 100644 --- a/apps/sim/app/workspace/[workspaceId]/settings/hooks/use-settings-unsaved-guard.ts +++ b/apps/sim/app/workspace/[workspaceId]/settings/hooks/use-settings-unsaved-guard.ts @@ -16,11 +16,11 @@ interface SettingsUnsavedGuard { /** * Wires a settings surface's local dirty state into the shared - * `useSettingsDirtyStore`, so the sidebar's section-switch confirmation and the - * centralized `beforeunload` both apply without per-page wiring. Also provides - * an in-view back/close guard (`guardBack` + the shared `UnsavedChangesModal`) - * for detail sub-views whose "back" is an in-component state change rather than - * a route navigation. + * `useSettingsDirtyStore`, so the sidebar's leave confirmation (section switch, + * Back, workspace switch) and the centralized `beforeunload` both apply without + * per-page wiring. Also provides an in-view back/close guard (`guardBack` + the + * shared `UnsavedChangesModal`) for detail sub-views whose "back" is an + * in-component state change rather than a route navigation. */ export function useSettingsUnsavedGuard({ isDirty, diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-sidebar/settings-sidebar.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-sidebar/settings-sidebar.tsx index 40f99677ef2..f29d1f54637 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-sidebar/settings-sidebar.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-sidebar/settings-sidebar.tsx @@ -51,12 +51,12 @@ export function SettingsSidebar({ const queryClient = useQueryClient() - const requestNavigation = useSettingsDirtyStore((s) => s.requestNavigation) - const confirmNavigation = useSettingsDirtyStore((s) => s.confirmNavigation) - const cancelNavigation = useSettingsDirtyStore((s) => s.cancelNavigation) - const isDirty = useSettingsDirtyStore((s) => s.isDirty) + const requestLeave = useSettingsDirtyStore((s) => s.requestLeave) + const confirmLeave = useSettingsDirtyStore((s) => s.confirmLeave) + const cancelLeave = useSettingsDirtyStore((s) => s.cancelLeave) + const pendingLeave = useSettingsDirtyStore((s) => s.pendingLeave) + const showDiscardDialog = pendingLeave !== null - const [showDiscardDialog, setShowDiscardDialog] = useState(false) const [hasOverflowTop, setHasOverflowTop] = useState(false) const { data: session } = useSession() @@ -217,27 +217,18 @@ export function SettingsSidebar({ const { popSettingsReturnUrl, getSettingsHref } = useSettingsNavigation() const handleBack = useCallback(() => { - if (isDirty) { - setShowDiscardDialog(true) - return - } - router.push(popSettingsReturnUrl(`/workspace/${workspaceId}/home`)) - }, [router, popSettingsReturnUrl, workspaceId, isDirty]) + requestLeave(() => { + router.push(popSettingsReturnUrl(`/workspace/${workspaceId}/home`)) + }) + }, [requestLeave, router, popSettingsReturnUrl, workspaceId]) const handleConfirmDiscard = useCallback(() => { - const section = confirmNavigation() - setShowDiscardDialog(false) - if (section) { - router.replace(getSettingsHref({ section }), { scroll: false }) - } else { - router.push(popSettingsReturnUrl(`/workspace/${workspaceId}/home`)) - } - }, [confirmNavigation, router, getSettingsHref, popSettingsReturnUrl, workspaceId]) + confirmLeave() + }, [confirmLeave]) const handleCancelDiscard = useCallback(() => { - cancelNavigation() - setShowDiscardDialog(false) - }, [cancelNavigation]) + cancelLeave() + }, [cancelLeave]) useEffect(() => { const container = scrollContainerRef.current @@ -350,11 +341,9 @@ export function SettingsSidebar({ onClick={() => { const section = item.id as SettingsSection if (section === activeSection) return - if (!requestNavigation(section)) { - setShowDiscardDialog(true) - return - } - router.replace(getSettingsHref({ section }), { scroll: false }) + requestLeave(() => { + router.replace(getSettingsHref({ section }), { scroll: false }) + }) }} > {content} diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/sidebar.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/sidebar.tsx index a337c63fc76..6929727cc15 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/sidebar.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/sidebar.tsx @@ -110,6 +110,7 @@ import { SIDEBAR_WIDTH } from '@/stores/constants' import { useFolderStore } from '@/stores/folders/store' import { useSearchModalStore } from '@/stores/modals/search/store' import { useProvidersStore } from '@/stores/providers' +import { useSettingsDirtyStore } from '@/stores/settings/dirty/store' import { useSidebarStore } from '@/stores/sidebar/store' const logger = createLogger('Sidebar') @@ -1072,16 +1073,21 @@ export const Sidebar = memo(function Sidebar({ isCollapsed }: SidebarProps) { fileInputRef.current?.click() } + const requestLeave = useSettingsDirtyStore((s) => s.requestLeave) + const handleWorkspaceSwitch = useCallback( - async (workspace: Workspace) => { + (workspace: Workspace) => { if (workspace.id === workspaceId) { setIsWorkspaceMenuOpen(false) return } - await switchWorkspace(workspace) + // Close the switcher first so the settings discard dialog (if any) is visible. setIsWorkspaceMenuOpen(false) + requestLeave(() => { + void switchWorkspace(workspace) + }) }, - [workspaceId, switchWorkspace] + [workspaceId, switchWorkspace, requestLeave] ) const handleSidebarClick = (e: React.MouseEvent) => { diff --git a/apps/sim/ee/workspace-forking/components/fork-resource-picker/fork-resource-picker.tsx b/apps/sim/ee/workspace-forking/components/fork-resource-picker/fork-resource-picker.tsx index 7d8f502ab67..9762d82e74d 100644 --- a/apps/sim/ee/workspace-forking/components/fork-resource-picker/fork-resource-picker.tsx +++ b/apps/sim/ee/workspace-forking/components/fork-resource-picker/fork-resource-picker.tsx @@ -30,6 +30,9 @@ interface ResourceKindRowProps { * the user can copy a specific subset. Shared by the fork modal's "Copy resources" and the sync * modal's "Copy resources" so the two surfaces stay identical. Files nest in a folder tree * instead - use {@link FileKindRow}. + * + * Expanded body uses the settings MCP expand pattern (`border-t` + `--surface-2`) so items + * read as contained in the kind rather than indented siblings of other kinds. */ export function ResourceKindRow({ label, @@ -47,7 +50,7 @@ export function ResourceKindRow({ const headerState = selectedCount === 0 ? false : selectedCount === total ? true : 'indeterminate' return ( -
      +
      {expanded ? ( -
      - {items.map((item) => { - const isChecked = selected.has(item.id) - const itemId = `${fieldId}-${item.id}` - return ( - - ) - })} +
      +
      + {items.map((item) => { + const isChecked = selected.has(item.id) + const itemId = `${fieldId}-${item.id}` + return ( + + ) + })} +
      ) : null}
      @@ -145,7 +150,7 @@ export function FileKindRow({ const { folders, rootFiles } = useMemo(() => groupForkFilesIntoFolders(files), [files]) return ( -
      +
      {expanded ? ( -
      +
      setCollapsed((value) => !value)} > - {workflow.blocks.map((block) => ( -
      - - {block.fields.map((field) => ( -
      - - {field.title} - {field.required ? * : null} - - +
      + {workflow.blocks.map((block) => { + const topLevel = block.fields.filter((field) => !field.toolName) + const byTool = new Map() + for (const field of block.fields) { + if (!field.toolName) continue + const list = byTool.get(field.toolName) + if (list) list.push(field) + else byTool.set(field.toolName, [field]) + } + const toolGroups = Array.from(byTool.entries()).sort(([a], [b]) => a.localeCompare(b)) + + return ( +
      + + {topLevel.map((field) => ( +
      + + +
      + ))} + {toolGroups.map(([toolName, fields]) => ( +
      + {toolName} + {fields.map((field) => ( +
      + + +
      + ))} +
      + ))}
      - ))} -
      - ))} + ) + })} +
      ) } diff --git a/apps/sim/ee/workspace-forking/components/forks.tsx b/apps/sim/ee/workspace-forking/components/forks.tsx index 422f68f6484..dca079338e0 100644 --- a/apps/sim/ee/workspace-forking/components/forks.tsx +++ b/apps/sim/ee/workspace-forking/components/forks.tsx @@ -87,7 +87,7 @@ interface ForkSyncDetailViewProps { otherWorkspaceId: string otherWorkspaceName: string onBack: () => void - /** Header chips rendered left of Sync (Rollback / Open workspace) — the caller owns those. */ + /** Header chips rendered left of Sync (e.g. Open workspace) — the caller owns those. */ actions: SettingsAction[] } @@ -129,8 +129,8 @@ function ForkSyncDetailView({ const [confirmSyncOpen, setConfirmSyncOpen] = useState(false) // Sync is the edge's primary action, so it's the rightmost/black chip; the caller's - // Rollback/Open workspace chips sit left of it. Dirty mapping edits swap the whole - // cluster for Discard/Save until they're saved or discarded. + // Open workspace chip sits left of it. Dirty mapping edits swap the whole cluster + // for Discard/Save until they're saved or discarded. const panelActions: SettingsAction[] = controller.dirty ? saveDiscardActions({ dirty: controller.dirty, @@ -263,8 +263,9 @@ function ForkActivityDetailView({ * "Parent" section, above the "Forks" list of child forks. The parent row's `...` menu * has Edit mappings (the child owns its edge's re-picks), Open workspace, and * Disconnect; fork rows offer Open workspace and Disconnect only. Activity is - * workspace-scoped and lives behind the header's "See activity" action; sync/rollback - * live on the parent's sync detail page. + * workspace-scoped and lives behind the header's "See activity" action (including + * Rollback when the last sync into this workspace is undoable). Sync lives on the + * parent's sync detail page. * Forking and sync rewrite workflow state and deployments en masse, so the page is * workspace-admin only and gated on the workspace's fork entitlement - every fork route * re-checks both; the server remains the boundary. @@ -374,21 +375,10 @@ export function Forks() { // deep link falls back to the list). Fork rows offer Open workspace / Disconnect only. const showParentDetail = Boolean(selectedForkId && parent && parent.id === selectedForkId) - // Rollback (destructive) and Open workspace sit left of the detail view's primary Sync - // chip, which the sync page owns (it carries the gating). + // Open workspace sits left of the detail view's primary Sync chip, which the sync + // page owns (it carries the gating). Rollback lives on the Activity view only. const parentHeaderActions: SettingsAction[] = parent ? [ - ...(undoableRun - ? [ - { - text: 'Rollback', - variant: 'destructive' as const, - onSelect: () => setConfirmRollbackOpen(true), - disabled: rollback.isPending, - tooltip: `The last sync into this workspace (from ${undoableRun.otherName}) can be undone — it restores each workflow's prior deployed version.`, - }, - ] - : []), { text: 'Open workspace', onSelect: () => openForkWorkspace(parent.id), diff --git a/apps/sim/ee/workspace-forking/lib/mapping/dependent-reconfigs.test.ts b/apps/sim/ee/workspace-forking/lib/mapping/dependent-reconfigs.test.ts index b96624b5b85..47edd6330e4 100644 --- a/apps/sim/ee/workspace-forking/lib/mapping/dependent-reconfigs.test.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/dependent-reconfigs.test.ts @@ -369,7 +369,8 @@ describe('collectForkDependentReconfigs', () => { blockName: 'Block', subBlockKey: 'tools[0].folder', selectorKey: 'gmail.labels', - title: 'Gmail 1: Label', + title: 'Label', + toolName: 'Gmail 1', currentValue: 'INBOX', required: true, consumesContextKeys: [], @@ -494,7 +495,11 @@ describe('collectForkDependentReconfigs', () => { ]) const result = collectForkDependentReconfigs([replaceItem], states, resolve) expect(result).toHaveLength(1) - expect(result[0]).toMatchObject({ subBlockKey: 'tools[0].folder', title: 'Gmail 1: Label' }) + expect(result[0]).toMatchObject({ + subBlockKey: 'tools[0].folder', + title: 'Label', + toolName: 'Gmail 1', + }) }) it('evaluates a nested tool selector condition against the tool-level operation', () => { diff --git a/apps/sim/ee/workspace-forking/lib/mapping/dependent-reconfigs.ts b/apps/sim/ee/workspace-forking/lib/mapping/dependent-reconfigs.ts index a077630cc6e..b2489c0ed86 100644 --- a/apps/sim/ee/workspace-forking/lib/mapping/dependent-reconfigs.ts +++ b/apps/sim/ee/workspace-forking/lib/mapping/dependent-reconfigs.ts @@ -74,6 +74,8 @@ interface EmitAnchoredParams { /** Map a dependent's config id to its wire `subBlockKey` (identity, or nested `tools[i].id`). */ makeSubBlockKey: (dependentId: string) => string makeTitle: (dependent: SubBlockConfig) => string + /** Nested `tool-input` tool display name; omitted for top-level block subblocks. */ + toolName?: string /** * Emit `providesContextKey`/`consumesContextKeys` so the modal can chain in-block * re-picks. Top-level chains; nested tool params don't (a tool's chain would need @@ -102,6 +104,7 @@ function emitAnchoredDependents(params: EmitAnchoredParams): void { resolveTargetBlockId, makeSubBlockKey, makeTitle, + toolName, chaining, out, } = params @@ -202,6 +205,7 @@ function emitAnchoredDependents(params: EmitAnchoredParams): void { subBlockKey: makeSubBlockKey(dependent.id), selectorKey: dependent.selectorKey, title: makeTitle(dependent), + ...(toolName ? { toolName } : {}), // Source value, so the always-on listing pre-fills a stable parent's selector. // The diff route overlays the stored/target-draft value onto `currentValue`; // `sourceValue` stays the raw source reference (the copy-resolved parent's seed). @@ -281,8 +285,8 @@ export function collectForkDependentReconfigs( }) // Nested `tool-input` tools: each selected tool's own credential-anchored selectors, - // keyed `toolInput[index].paramId` (matching the needs-config key) and titled with the - // tool so the modal re-picks them under the same block card. + // keyed `toolInput[index].paramId` (matching the needs-config key). Field `title` stays + // plain; `toolName` carries the tool so the UI can show block → tool → field tiers. for (const cfg of config.subBlocks) { if (cfg.type !== 'tool-input' || !cfg.id) continue const { array: tools } = coerceObjectArray(subBlocks[cfg.id]?.value) @@ -318,7 +322,8 @@ export function collectForkDependentReconfigs( canonicalModes: scopeCanonicalModesForTool(block.data?.canonicalModes, tool.type), resolveTargetBlockId: resolveBlockId, makeSubBlockKey: (id) => `${toolInputKey}[${toolIndex}].${id}`, - makeTitle: (dependent) => `${toolLabel}: ${dependent.title ?? dependent.id ?? ''}`, + makeTitle: (dependent) => dependent.title ?? dependent.id ?? '', + toolName: toolLabel, chaining: false, out, }) diff --git a/apps/sim/ee/workspace-forking/lib/promote/cleared-refs.test.ts b/apps/sim/ee/workspace-forking/lib/promote/cleared-refs.test.ts index f6e0d7b2c43..0487a6082c9 100644 --- a/apps/sim/ee/workspace-forking/lib/promote/cleared-refs.test.ts +++ b/apps/sim/ee/workspace-forking/lib/promote/cleared-refs.test.ts @@ -667,6 +667,63 @@ describe('collectForkClearedRefCandidates', () => { ]) }) + it('prefixes nested toolName onto dependent fieldLabel so two tools with Label stay distinct', () => { + vi.mocked(getBlock).mockImplementation((type) => { + if (type === 'agent') return blockWith([{ id: 'tools', title: 'Tools', type: 'tool-input' }]) + if (type === 'gmail') + return blockWith([ + { id: 'credential', title: 'Credential', type: 'oauth-input' }, + { + id: 'folder', + title: 'Label', + type: 'folder-selector', + dependsOn: ['credential'], + selectorKey: 'gmail.labels', + }, + ]) + return undefined as unknown as BlockConfig + }) + const result = collectForkClearedRefCandidates( + params({ + items: [ + { + sourceWorkflowId: 'wf-src', + targetWorkflowId: 'wf-tgt', + mode: 'create', + sourceMeta: { name: 'New Workflow' }, + }, + ], + sourceStates: new Map([ + [ + 'wf-src', + stateWith('agent', 'Agent', { + tools: { + type: 'tool-input', + value: [ + { + type: 'gmail', + title: 'Gmail 1', + params: { credential: 'cred-src', folder: 'INBOX' }, + }, + { + type: 'gmail', + title: 'Gmail 2', + params: { credential: 'cred-src', folder: 'SENT' }, + }, + ], + }, + }), + ], + ]), + sourceLabels: new Map([['credential:cred-src', 'Work Gmail']]), + }) + ) + expect(result.map((ref) => ref.fieldLabel).sort()).toEqual(['Gmail 1: Label', 'Gmail 2: Label']) + expect(result.every((ref) => ref.cause === 'dependent' && ref.blockLabel === 'Agent')).toBe( + true + ) + }) + it('carries the knowledge-base parent on a document-selector dependent (so it can drop off)', () => { vi.mocked(getBlock).mockReturnValue( blockWith([ diff --git a/apps/sim/ee/workspace-forking/lib/promote/cleared-refs.ts b/apps/sim/ee/workspace-forking/lib/promote/cleared-refs.ts index 56ea03a6dc7..521111dfde4 100644 --- a/apps/sim/ee/workspace-forking/lib/promote/cleared-refs.ts +++ b/apps/sim/ee/workspace-forking/lib/promote/cleared-refs.ts @@ -253,7 +253,11 @@ export function collectForkClearedRefCandidates( workflowName: workflowNameByTarget.get(dependent.targetWorkflowId) ?? '', blockId: dependent.targetBlockId, blockLabel: dependent.blockName, - fieldLabel: dependent.title, + // Nested tool fields keep a plain `title` for the reconfigure UI; warnings need the + // tool disambiguator so two tools with the same field name stay distinguishable. + fieldLabel: dependent.toolName + ? `${dependent.toolName}: ${dependent.title}` + : dependent.title, kind: dependent.parentKind, sourceId: dependent.parentSourceId, sourceLabel: labelFor(dependent.parentKind, dependent.parentSourceId), diff --git a/apps/sim/ee/workspace-forking/lib/remap/remap-references.test.ts b/apps/sim/ee/workspace-forking/lib/remap/remap-references.test.ts index 886c183b67e..a5be6bc02da 100644 --- a/apps/sim/ee/workspace-forking/lib/remap/remap-references.test.ts +++ b/apps/sim/ee/workspace-forking/lib/remap/remap-references.test.ts @@ -961,7 +961,8 @@ describe('collectClearedDependents', () => { blockId: 'b1', blockName: 'Agent', subBlockKey: 'tools[0].folder', - title: 'Gmail: Label', + title: 'Label', + toolName: 'Gmail', required: true, }, ]) diff --git a/apps/sim/ee/workspace-forking/lib/remap/remap-references.ts b/apps/sim/ee/workspace-forking/lib/remap/remap-references.ts index 418dcb277de..aae84339baa 100644 --- a/apps/sim/ee/workspace-forking/lib/remap/remap-references.ts +++ b/apps/sim/ee/workspace-forking/lib/remap/remap-references.ts @@ -1098,7 +1098,10 @@ export interface NeedsConfigurationField { blockId: string blockName: string subBlockKey: string + /** Plain field title (e.g. `Label`), never a `Tool: Field` composite. */ title: string + /** Nested `tool-input` tool display name when the field lives under a tool. */ + toolName?: string required: boolean } @@ -1169,7 +1172,8 @@ function collectClearedToolParamDependents( blockId, blockName, subBlockKey: `${toolInputKey}[${index}].${cfg.id}`, - title: `${toolLabel}: ${cfg.title ?? cfg.id}`, + title: cfg.title ?? cfg.id, + toolName: toolLabel, required: isSubBlockRequired(cfg.required, mergedValues), }) } diff --git a/apps/sim/lib/api/contracts/workspace-fork.ts b/apps/sim/lib/api/contracts/workspace-fork.ts index dfee73e17b8..04736f9a6b8 100644 --- a/apps/sim/lib/api/contracts/workspace-fork.ts +++ b/apps/sim/lib/api/contracts/workspace-fork.ts @@ -331,7 +331,13 @@ export const forkDependentReconfigSchema = z.object({ blockName: z.string(), subBlockKey: z.string(), selectorKey: z.string(), + /** Plain field title (e.g. `Label`), never a `Tool: Field` composite. */ title: z.string(), + /** + * Display name of the nested `tool-input` tool this field belongs to (e.g. `Gmail` / + * `Gmail 1`). Absent for top-level block subblocks. + */ + toolName: z.string().optional(), /** * The field's stored value (from the persisted mapping), so the always-on reconfigure listing * pre-fills the selector with what the user last set. Empty string when unset; for an edge diff --git a/apps/sim/stores/settings/dirty/store.ts b/apps/sim/stores/settings/dirty/store.ts index 4dbec7bf720..49a702d2568 100644 --- a/apps/sim/stores/settings/dirty/store.ts +++ b/apps/sim/stores/settings/dirty/store.ts @@ -1,28 +1,28 @@ import { create } from 'zustand' import { devtools } from 'zustand/middleware' -import type { SettingsSection } from '@/app/workspace/[workspaceId]/settings/navigation' interface SettingsDirtyStore { isDirty: boolean - pendingSection: SettingsSection | null + /** Leave action deferred until the user confirms discard. */ + pendingLeave: (() => void) | null setDirty: (dirty: boolean) => void /** - * Call before navigating to a new section. Returns `true` if navigation may - * proceed immediately; returns `false` if there are unsaved changes — in that - * case `pendingSection` is set so a confirmation dialog can be shown. + * Call before leaving the current settings surface. If clean, runs `leave` immediately + * and returns `true`. If dirty, stashes `leave` and returns `false` so the shared + * discard dialog can confirm before running it. */ - requestNavigation: (section: SettingsSection) => boolean - /** Clears dirty + pending state and returns the section to navigate to. */ - confirmNavigation: () => SettingsSection | null - /** Cancels a pending navigation without clearing dirty state. */ - cancelNavigation: () => void + requestLeave: (leave: () => void) => boolean + /** Clears dirty + pending state and runs the deferred leave action. */ + confirmLeave: () => void + /** Cancels a pending leave without clearing dirty state. */ + cancelLeave: () => void /** Resets all state — call on component unmount. */ reset: () => void } const initialState = { isDirty: false, - pendingSection: null as SettingsSection | null, + pendingLeave: null as (() => void) | null, } export const useSettingsDirtyStore = create()( @@ -32,19 +32,22 @@ export const useSettingsDirtyStore = create()( setDirty: (dirty) => set({ isDirty: dirty }), - requestNavigation: (section) => { - if (!get().isDirty) return true - set({ pendingSection: section }) + requestLeave: (leave) => { + if (!get().isDirty) { + leave() + return true + } + set({ pendingLeave: leave }) return false }, - confirmNavigation: () => { - const { pendingSection } = get() + confirmLeave: () => { + const { pendingLeave } = get() set({ ...initialState }) - return pendingSection + pendingLeave?.() }, - cancelNavigation: () => set({ pendingSection: null }), + cancelLeave: () => set({ pendingLeave: null }), reset: () => set({ ...initialState }), }), From 5db62b8bdc5eb3f908fc91a4326758c873188f30 Mon Sep 17 00:00:00 2001 From: Waleed Date: Wed, 8 Jul 2026 23:23:59 -0700 Subject: [PATCH 27/27] feat(observability): extend audit log, PostHog, and storage metering coverage (#5269) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(observability): extend audit log, PostHog, and storage metering coverage Instruments previously-uncaptured resources and actions across the three observability layers (audit log, PostHog product analytics, usage metering): - Exfiltration audit: file downloads (workspace/public-share/v1), table, workflow, and workspace exports. - Credential access audited at the token-issuance boundary (success-only). - Full revenue trail: invoice paid/failed, overage billed, disputes, credit fulfillment, subscription lifecycle, plan/seat changes. - Session/login lifecycle audit via Better Auth hooks (login, blocked sign-in, logout, session revoke, account delete). - v1/admin programmatic surface and copilot tool handlers instrumented. - Dead audit/PostHog constants wired (lock/unlock, table, custom tool, etc.). - Storage metering extended to KB documents and copilot files. - PostHog person identify + workspace/organization group hygiene. Audit package hardened to null the actor FK for system actors (admin-api) and adds an awaitable recordAuditNow for pre-delete hooks. All instrumentation is fire-and-forget and never blocks or breaks the primary operation. * fix(observability): audit file/credential egress only on success Address Cursor Bugbot review: - GET OAuth token: emit CREDENTIAL_ACCESSED/credential_used after refreshTokenIfNeeded succeeds (matches POST), not before. - File export: audit on each actual success exit via a shared helper — including the non-markdown serve redirect (previously unaudited) and after the zip is generated (previously before asset fetch). * fix(audit): record null actor for anonymous public-share downloads Address Greptile P1: setting actorId to the file owner made every anonymous external download read as a self-download, undermining the exfiltration trail. recordAudit now accepts a null actor; the public content/inline routes record actorId=null with the owner in metadata.sharedByUserId and rely on ip/user-agent for the forensic trail. The misleading owner-attributed file_downloaded PostHog event is dropped on these anonymous paths. * fix(observability): audit admin exports after zip; tidy comments - Admin workflow/workspace ZIP exports now audit only after the archive is built (via a local helper), so a zip/build failure no longer logs an export. - Remove redundant 'success-only placement' inline comments and tighten the remaining design-rationale notes (export helper now TSDoc). * fix(billing): complete the chargeback + overage financial trail Address Cursor review: - handleDisputeClosed now records CHARGE_DISPUTE_CLOSED for every closed dispute (won/lost/warning_closed), unblocking only on favorable outcomes. dispute.status in the metadata distinguishes the outcome, so lost chargebacks are no longer missing from the trail. - Threshold overage now emits OVERAGE_BILLED + overage_billed even when credits fully cover the overage (settledVia: 'credits' vs 'stripe'), so credit-settled overages are audited instead of silently returning null. * fix(storage): decrement copilot quota before deleting metadata Address Greptile P1: deleting the metadata row before the decrement meant a decrement failure left the quota permanently inflated with no record to retry from. Decrement first; only remove the metadata row once it succeeds. * fix(observability): atomic copilot storage release; signup-blocked action - Copilot file delete now releases storage via a single transaction (releaseDeletedFileStorage): the soft-delete is the idempotency claim and the decrement shares the transaction, so neither a partial failure (inflated counter) nor a retry (double-decrement) can desync the quota. Resolves the conflicting Greptile/Cursor ordering findings. - Policy-blocked sign-ups now record USER_SIGNUP_BLOCKED instead of USER_SIGNIN_BLOCKED, so account-lifecycle events aren't mislabeled. * fix(storage): meter copilot ingest centrally for path symmetry Address Cursor review: only uploadCopilotFile incremented storage, but copilot files also enter via the generic upload route and presigned uploads — all of which persist metadata through insertFileMetadata. Move the increment into insertFileMetadata (scoped to context='copilot', on genuine insert/restore) so every ingest path is symmetric with the delete-time decrement, and drop the now redundant per-path increment in uploadCopilotFile. Other contexts are metered by their own managers and remain unaffected. * fix(audit): skip WORKFLOW_EXPORTED when admin export is empty Address Cursor review: when every requested workflow fails to load, the admin export still returned 200 but recorded a successful export of zero workflows. Guard auditExport so an empty result records nothing. * fix(storage): settle copilot accounting before deleting the blob Address Cursor review: the blob was removed before releaseDeletedFileStorage, so a release failure left the counter inflated and the metadata active with the blob gone. Now the atomic soft-delete + decrement runs first and the blob is deleted only if it succeeds, so a failure leaves the file fully intact and retryable. * fix(storage): decrement KB document storage atomically with deletion Address Cursor review: hardDeleteDocuments deleted the rows then decremented best-effort, so a decrement failure left billed storage inflated with no row to reconcile. Resolve each owner's subscription up front, then decrement inside the same transaction that deletes the embeddings/documents (decrementStorageUsageInTx, also now shared by releaseDeletedFileStorage), so the counter and the content commit or roll back together. Connector docs remain excluded. * fix(audit): don't treat email verification as a login Address Cursor review: /verify-email could emit USER_LOGIN when verification mints or refreshes a session, mislabeling (or double-counting) a non-sign-in as a login. Restrict isLoginPath to genuine sign-in entrypoints. * fix(audit): null actor FK when the user lookup throws Address Greptile P1: the catch branch left the original actorId, so a system actor like 'admin-api' (or a since-deleted user) would FK-violate the insert and lose the row when the existence lookup errored. Mirror the not-found branch — null the FK with a readable label — so the audit row always persists. * revert(audit): drop session/account-lifecycle auth instrumentation Remove the Better Auth login/logout/session-revoke/account-delete/blocked-signin audit hooks from auth.ts — they touch sensitive auth paths and are noisy. Also removes the now-unused taxonomy (USER_LOGIN/_FAILED, USER_SIGNIN_BLOCKED, USER_SIGNUP_BLOCKED, USER_LOGOUT, SESSION_REVOKED, ACCOUNT_DELETED, ACCOUNT_EMAIL_CHANGED actions; SESSION/USER resource types) and the awaitable recordAuditNow helper that only the pre-delete hook used. auth.ts is back to the staging baseline. * fix(storage): harden copilot+KB delete accounting against read errors and concurrency Final-audit follow-ups: - deleteCopilotFile: a failed metadata *read* (vs a genuine missing row) now blocks the blob delete too, so a transient read error can't leave an active row un-decremented with the blob gone. - hardDeleteDocuments: drive the per-user decrement from the delete's returning() (the rows this tx actually removed), so two concurrent deletes of the same ids can't both decrement. * chore(observability): drop two unused definitions Final-audit cleanup: remove the orphaned knowledge_base_searched PostHog event (never wired; KB search analytics already flow through the OpenTelemetry channel) and the redundant AuditAction.SUBSCRIPTION_UPDATED (subscription/plan changes are audited via ORG_PLAN_CONVERTED). Every remaining new action/event has a real emit site. * fix(knowledge): key hard-delete result off rows actually deleted Address Cursor review: hardDeleteDocuments returned existingIds.length (the requested count) and cleaned storage for the full pre-tx set, even though the decrement was driven by the rows the transaction actually deleted. Under a concurrent delete that claimed some ids first, that overstated the result and re-touched storage for rows this call didn't delete. Drive the storage cleanup, log, and return value from deletedDocs (the returning() rows) so all four are consistent. * fix(storage): gate copilot quota on all ingest paths; tidy inline comments - Copilot uploads via the generic /api/files/upload route and presigned URLs now run checkStorageQuota before writing (matching uploadCopilotFile), so no copilot ingest path can grow usage past the plan limit. The central increment stays in insertFileMetadata. - Trim/remove redundant inline comments across the diff; keep only concise notes on non-obvious decisions (left pre-existing comments untouched). * fix(analytics): omit empty workspace_id on workspace-less file downloads Address Greptile P1: the generic key-based /api/files/download route and the no-workspace markdown-export path emitted file_downloaded with workspace_id:'' creating a phantom '' bucket in PostHog. Make workspace_id optional on the event and omit it when there is no workspace (workspace-scoped routes still pass it). * fix(analytics): omit empty workspace_id/workflow_id on copilot_chat_sent Final-sweep nit: copilot_chat_sent sent '' for workspace_id/workflow_id in the agent (workspace-less) branch, same phantom-bucket issue as file_downloaded. Make both properties optional and omit them when absent. * fix(analytics): clear stale org PostHog group on personal workspaces Address Cursor review: switching from a team workspace to a personal one left the previous organization group set, so later events kept rolling up under it. When the active workspace has no organizationId, resetGroups() to drop the stale org group, then re-apply the workspace group. * fix: address review — export audit timing, copilot delete signal, group reset - Table export (Cursor MED): audit fires before streaming begins, not after controller.close(), so a mid-stream failure still records the partial export. - deleteCopilotFile (Greptile P1): throw when storage accounting can't be settled instead of silently returning, so callers can detect the file was not deleted. - workspace-scope-sync (Cursor MED): only resetGroups() once workspace metadata is loaded (activeWorkspace present), so a team workspace doesn't transiently lose its org group while organizationId is still null during load. * refactor(observability): final line-justification cleanup Address final audit flags: - Table import: move the 'columns added' audit OUT of the import transaction into a post-commit auditTableColumnsAdded() helper called by the three tx-owning callers, so a mid-import row-batch rollback no longer logs a false 'added N columns' (matches the PR's success-only discipline). - Omit empty-string analytics dimensions on workflow_lock_toggled (workspace_id) and organization_created (name), consistent with file_downloaded/copilot_chat_sent. - Restore an unrelated capacity-check comment removed incidentally. - Move copilot_chat_sent emit above the traceparent comment so the comment sits with the code it documents. * fix(table): attribute import column audit to the importing user Address Cursor review: addImportColumns (async createColumns import path) now threads the importing userId into auditTableColumnsAdded instead of falling back to table.createdBy, so column additions are attributed to the actual member who ran the import rather than the table creator. * feat(observability): drop copilot from storage accounting Per design decision: copilot files are working/conversational artifacts, so gating their materialization on storage quota would fail an agent operation mid-flow when a user is over limit, and metering them would inflate usage enough to block KB/workspace uploads indirectly. Remove copilot quota gates + copilot ingest metering entirely (revert copilot-file-manager, metadata, and the upload route's copilot branch to baseline) and drop the now-unused releaseDeletedFileStorage. KB document metering + quota enforcement (the deliberate, persistent storage path) is unchanged. * fix(analytics): switch workspace + org PostHog groups together Address Cursor review: gate the group-sync effect on workspace metadata being loaded (activeWorkspace present) so the workspace and organization groups always update atomically. Acting during the load window paired the new workspace group with the previous workspace's org group; until metadata loads, events stay consistently attributed to the previous workspace. * fix(table): audit async export at authorization, not job completion Address Cursor review: async exports only emitted TABLE_EXPORTED when the background job reached 'ready', so an authorized export whose job later failed or was abandoned left no audit trail — inconsistent with the sync export route, which audits before streaming. Move the audit + analytics to the async route's authorization point (after the job is claimed/dispatched) and remove it from the runner. Drop the now-unused userId from TableExportPayload. * fix(billing): never let payment_failed instrumentation skip user blocking Address Greptile P1: the payment_failed audit hoisted an unguarded isSubscriptionOrgScoped DB read (for entity_type) directly before the attempt-count user-blocking block. A transient failure of that read would throw out of the handler and skip blocking. Wrap the whole audit/analytics block in try/catch (best-effort), and let the blocking compute its own isSubscriptionOrgScoped as it did originally — instrumentation can no longer abort payment processing. * chore(observability): trim verbose inline comments to concise notes * fix(billing): wrap new dispute/enterprise/subscription instrumentation in Stripe webhook idempotency recordAudit/captureServerEvent calls added for charge disputes, enterprise subscription provisioning, and free->paid subscription creation ran unconditionally with no idempotency guard, unlike their sibling handlers in the same files. Stripe redelivers webhooks at-least-once, so a retry would double-record the audit row and PostHog event even though the underlying DB writes were already idempotent. * fix(observability): tag org-scoped audit metadata with organizationId, guard concurrent table delete The org-scoped self-service audit-log endpoint matches org-level rows via metadata.organizationId (or resourceType=organization). Six recordAudit call sites (subscription create/cancel, admin credit issuance, threshold overage billing, charge disputes, credit purchase, invoice payment succeeded/failed) tagged org-scoped events with a differently-named key (referenceId/entityId/targetOrgId), making them invisible to org admins querying their own audit trail despite being stored in the DB. Add the missing organizationId key everywhere the pattern was missed. Also guard deleteTable's archive UPDATE with isNull(archivedAt) so a concurrent duplicate delete request is a no-op instead of re-archiving and re-firing a duplicate TABLE_DELETED audit row. Adds test coverage for the ORG_MEMBER_ADDED audit/analytics emission in acceptInvitation, which previously had none. * fix(test): queue resolveBillingActorId's owner lookup in payment-failure email test handleInvoicePaymentFailed's new payment_failed audit instrumentation resolves the billing actor via an extra db.select before sendPaymentFailureEmails runs. The test's fixed select-response queue didn't account for it, so the org-admin lookup consumed the wrong queued row and the assertion saw zero email sends. Production behavior is unaffected — each query is independent; this was a mock-queue ordering issue only. * fix(billing): don't let a post-commit usage-limit sync failure suppress the seat audit Cursor Bugbot flagged: reconcileOrganizationSeats committed the seat change and Stripe outbox enqueue in a transaction, then called syncSubscriptionUsageLimits outside it before recording the audit/ PostHog events. A thrown sync left a genuinely-changed seat count with no ORG_SEAT_PROVISIONED/DEPROVISIONED trail. Wrap the sync in its own try/catch (log + continue) so the events always fire for a committed change, matching the fire-and-forget instrumentation pattern used elsewhere in this PR. * fix(billing): guard the new subscription-created instrumentation block Greptile P1: the org-scope check I added for the audit-metadata fix (isSubscriptionOrgScoped) was a raw DB call with no error guard, unlike resolveSubscriptionActorId next to it. Since it ran inside the idempotency lambda with an unconditional rethrow, a transient DB error would abort and retry the whole webhook after the free -> paid usage reset had already committed. Wrap the actor/org-scope resolution + audit + analytics block in try/catch, matching the same guarded instrumentation pattern already used in handleInvoicePaymentFailed. --- apps/realtime/src/handlers/variables.ts | 27 +- apps/sim/app/api/auth/oauth/token/route.ts | 109 ++++ apps/sim/app/api/billing/switch-plan/route.ts | 24 + apps/sim/app/api/environment/route.ts | 6 + apps/sim/app/api/files/download/route.ts | 20 +- apps/sim/app/api/files/export/[id]/route.ts | 40 ++ .../api/files/public/[token]/content/route.ts | 20 + .../api/files/public/[token]/inline/route.ts | 24 +- .../[id]/members/[memberId]/route.ts | 23 + apps/sim/app/api/organizations/route.ts | 10 + .../api/table/[tableId]/export-async/route.ts | 30 +- .../app/api/table/[tableId]/export/route.ts | 24 + apps/sim/app/api/table/[tableId]/route.ts | 4 +- .../app/api/users/me/api-keys/[id]/route.ts | 6 + apps/sim/app/api/users/me/api-keys/route.ts | 6 + .../me/subscription/[id]/transfer/route.ts | 22 + apps/sim/app/api/v1/admin/credits/route.ts | 21 + .../[id]/members/[memberId]/route.ts | 28 + .../admin/organizations/[id]/members/route.ts | 23 + .../api/v1/admin/organizations/[id]/route.ts | 13 + .../[id]/transfer-ownership/route.ts | 17 + .../app/api/v1/admin/organizations/route.ts | 13 + .../api/v1/admin/workflows/export/route.ts | 20 + .../v1/admin/workspaces/[id]/export/route.ts | 20 + .../[id]/members/[memberId]/route.ts | 28 + .../v1/admin/workspaces/[id]/members/route.ts | 38 ++ apps/sim/app/api/v1/files/[fileId]/route.ts | 25 + .../app/api/workflows/[id]/deploy/route.ts | 14 + apps/sim/app/api/workflows/[id]/route.ts | 1 + .../[id]/files/[fileId]/download/route.ts | 20 + .../workspaces/[id]/files/download/route.ts | 19 + .../app/api/workspaces/members/[id]/route.ts | 1 + .../providers/workspace-scope-sync.tsx | 21 +- apps/sim/lib/auth/auth.ts | 3 +- .../lib/billing/organizations/seats.test.ts | 24 + apps/sim/lib/billing/organizations/seats.ts | 59 +- apps/sim/lib/billing/storage/index.ts | 6 +- apps/sim/lib/billing/storage/tracking.ts | 30 + apps/sim/lib/billing/threshold-billing.ts | 560 ++++++++++-------- apps/sim/lib/billing/webhooks/disputes.ts | 287 +++++---- apps/sim/lib/billing/webhooks/enterprise.ts | 48 ++ .../sim/lib/billing/webhooks/invoices.test.ts | 1 + apps/sim/lib/billing/webhooks/invoices.ts | 117 ++++ apps/sim/lib/billing/webhooks/subscription.ts | 208 +++++-- apps/sim/lib/copilot/chat/post.ts | 14 + .../handlers/management/manage-custom-tool.ts | 68 +++ .../tools/handlers/management/manage-skill.ts | 65 ++ .../copilot/tools/server/table/user-table.ts | 48 +- apps/sim/lib/invitations/core.test.ts | 80 ++- apps/sim/lib/invitations/core.ts | 47 +- apps/sim/lib/knowledge/documents/service.ts | 104 +++- apps/sim/lib/posthog/events.ts | 131 +++- apps/sim/lib/table/import-data.ts | 31 +- apps/sim/lib/table/import-runner.ts | 2 +- apps/sim/lib/table/service.ts | 83 ++- .../orchestration/workflow-lifecycle.ts | 28 + .../lib/workflows/schedules/orchestration.ts | 18 + packages/audit/src/log.test.ts | 35 +- packages/audit/src/log.ts | 37 +- packages/audit/src/types.ts | 20 + packages/testing/src/mocks/audit.mock.ts | 18 + 61 files changed, 2412 insertions(+), 477 deletions(-) diff --git a/apps/realtime/src/handlers/variables.ts b/apps/realtime/src/handlers/variables.ts index 98dc3a5b7af..7a4303e70b3 100644 --- a/apps/realtime/src/handlers/variables.ts +++ b/apps/realtime/src/handlers/variables.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { workflow } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -18,6 +19,9 @@ type PendingVariable = { latest: { variableId: string; field: string; value: any; timestamp: number } timeout: NodeJS.Timeout opToSocket: Map + /** Most recent writer, used as the audit actor when the coalesced update is persisted. */ + actorId: string + actorName?: string } // Keyed by `${workflowId}:${variableId}:${field}` @@ -177,6 +181,8 @@ export function setupVariablesHandlers(socket: AuthenticatedSocket, roomManager: if (existing) { clearTimeout(existing.timeout) existing.latest = { variableId, field, value, timestamp } + existing.actorId = session.userId + existing.actorName = session.userName if (operationId) existing.opToSocket.set(operationId, socket.id) existing.timeout = setTimeout(async () => { await flushVariableUpdate(workflowId, existing, roomManager) @@ -196,6 +202,8 @@ export function setupVariablesHandlers(socket: AuthenticatedSocket, roomManager: latest: { variableId, field, value, timestamp }, timeout, opToSocket, + actorId: session.userId, + actorName: session.userName, }) } } catch (error) { @@ -231,7 +239,11 @@ async function flushVariableUpdate( try { const workflowExists = await db - .select({ id: workflow.id }) + .select({ + id: workflow.id, + name: workflow.name, + workspaceId: workflow.workspaceId, + }) .from(workflow) .where(eq(workflow.id, workflowId)) .limit(1) @@ -294,6 +306,19 @@ async function flushVariableUpdate( }) if (updateSuccessful) { + const workflowRow = workflowExists[0] + recordAudit({ + workspaceId: workflowRow.workspaceId ?? null, + actorId: pending.actorId, + actorName: pending.actorName, + action: AuditAction.WORKFLOW_VARIABLES_UPDATED, + resourceType: AuditResourceType.WORKFLOW, + resourceId: workflowId, + resourceName: workflowRow.name ?? undefined, + description: `Updated workflow variables`, + metadata: { variableId, field }, + }) + // Broadcast to room excluding all senders (works cross-pod via Redis adapter) const senderSocketIds = [...pending.opToSocket.values()] const broadcastPayload = { diff --git a/apps/sim/app/api/auth/oauth/token/route.ts b/apps/sim/app/api/auth/oauth/token/route.ts index d7d1b9cd9f3..91b4d55ea4b 100644 --- a/apps/sim/app/api/auth/oauth/token/route.ts +++ b/apps/sim/app/api/auth/oauth/token/route.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { createLogger } from '@sim/logger' import { getErrorMessage } from '@sim/utils/errors' import { type NextRequest, NextResponse } from 'next/server' @@ -11,6 +12,7 @@ import { AuthType, checkSessionOrInternalAuth } from '@/lib/auth/hybrid' import { generateRequestId } from '@/lib/core/utils/request' import { withRouteHandler } from '@/lib/core/utils/with-route-handler' import { ATLASSIAN_SERVICE_ACCOUNT_PROVIDER_ID } from '@/lib/oauth/types' +import { captureServerEvent } from '@/lib/posthog/server' import { getAtlassianServiceAccountSecret, getCredential, @@ -96,6 +98,24 @@ export const POST = withRouteHandler(async (request: NextRequest) => { ) } + recordAudit({ + actorId: auth.userId, + action: AuditAction.CREDENTIAL_ACCESSED, + resourceType: AuditResourceType.CREDENTIAL, + resourceId: providerId, + description: `Accessed OAuth credential for provider ${providerId}`, + metadata: { + provider: providerId, + credentialType: 'oauth', + credentialAccountUserId, + }, + request, + }) + captureServerEvent(auth.userId, 'credential_used', { + credential_type: 'oauth', + provider_id: providerId, + }) + return NextResponse.json({ accessToken }, { status: 200 }) } catch (error) { const message = getErrorMessage(error, 'Failed to get OAuth token') @@ -120,9 +140,39 @@ export const POST = withRouteHandler(async (request: NextRequest) => { return NextResponse.json({ error: authz.error || 'Unauthorized' }, { status: 403 }) } + const saActorId = authz.requesterUserId + const saWorkspaceId = resolved.workspaceId ?? authz.workspaceId ?? null + const emitServiceAccountAccess = () => { + if (!saActorId) return + recordAudit({ + workspaceId: saWorkspaceId, + actorId: saActorId, + action: AuditAction.CREDENTIAL_ACCESSED, + resourceType: AuditResourceType.CREDENTIAL, + resourceId: resolved.credentialId ?? credentialId, + description: `Accessed service account credential for provider ${resolved.providerId ?? 'unknown'}`, + metadata: { + provider: resolved.providerId, + credentialType: 'service_account', + }, + request, + }) + captureServerEvent( + saActorId, + 'credential_used', + { + credential_type: 'service_account', + provider_id: resolved.providerId ?? 'unknown', + ...(saWorkspaceId ? { workspace_id: saWorkspaceId } : {}), + }, + saWorkspaceId ? { groups: { workspace: saWorkspaceId } } : undefined + ) + } + try { if (resolved.providerId === ATLASSIAN_SERVICE_ACCOUNT_PROVIDER_ID) { const secret = await getAtlassianServiceAccountSecret(resolved.credentialId) + emitServiceAccountAccess() return NextResponse.json( { accessToken: secret.apiToken, @@ -137,6 +187,7 @@ export const POST = withRouteHandler(async (request: NextRequest) => { scopes ?? [], impersonateEmail ) + emitServiceAccountAccess() return NextResponse.json({ accessToken }, { status: 200 }) } catch (error) { logger.error(`[${requestId}] Service account token error:`, error) @@ -165,6 +216,9 @@ export const POST = withRouteHandler(async (request: NextRequest) => { return NextResponse.json({ error: 'Credential not found' }, { status: 404 }) } + const oauthActorId = authz.requesterUserId + const oauthWorkspaceId = authz.workspaceId ?? null + try { const { accessToken } = await refreshTokenIfNeeded( requestId, @@ -172,6 +226,32 @@ export const POST = withRouteHandler(async (request: NextRequest) => { resolvedCredentialId ) + if (oauthActorId) { + recordAudit({ + workspaceId: oauthWorkspaceId, + actorId: oauthActorId, + action: AuditAction.CREDENTIAL_ACCESSED, + resourceType: AuditResourceType.CREDENTIAL, + resourceId: resolvedCredentialId, + description: `Accessed OAuth credential for provider ${credential.providerId}`, + metadata: { + provider: credential.providerId, + credentialType: 'oauth', + }, + request, + }) + captureServerEvent( + oauthActorId, + 'credential_used', + { + credential_type: 'oauth', + provider_id: credential.providerId, + ...(oauthWorkspaceId ? { workspace_id: oauthWorkspaceId } : {}), + }, + oauthWorkspaceId ? { groups: { workspace: oauthWorkspaceId } } : undefined + ) + } + let instanceUrl: string | undefined if (credential.providerId === 'salesforce' && credential.scope) { const instanceMatch = credential.scope.match(SALESFORCE_INSTANCE_URL_REGEX) @@ -247,6 +327,9 @@ export const GET = withRouteHandler(async (request: NextRequest) => { return NextResponse.json({ error: 'No access token available' }, { status: 400 }) } + const actorId = authz.requesterUserId + const workspaceId = authz.workspaceId ?? null + try { const { accessToken } = await refreshTokenIfNeeded( requestId, @@ -254,6 +337,32 @@ export const GET = withRouteHandler(async (request: NextRequest) => { resolvedCredentialId ) + if (actorId) { + recordAudit({ + workspaceId, + actorId, + action: AuditAction.CREDENTIAL_ACCESSED, + resourceType: AuditResourceType.CREDENTIAL, + resourceId: resolvedCredentialId, + description: `Accessed OAuth credential for provider ${credential.providerId}`, + metadata: { + provider: credential.providerId, + credentialType: 'oauth', + }, + request, + }) + captureServerEvent( + actorId, + 'credential_used', + { + credential_type: 'oauth', + provider_id: credential.providerId, + ...(workspaceId ? { workspace_id: workspaceId } : {}), + }, + workspaceId ? { groups: { workspace: workspaceId } } : undefined + ) + } + // For Salesforce, extract instanceUrl from the scope field let instanceUrl: string | undefined if (credential.providerId === 'salesforce' && credential.scope) { diff --git a/apps/sim/app/api/billing/switch-plan/route.ts b/apps/sim/app/api/billing/switch-plan/route.ts index c066afbedb0..7e56b9cba49 100644 --- a/apps/sim/app/api/billing/switch-plan/route.ts +++ b/apps/sim/app/api/billing/switch-plan/route.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { subscription as subscriptionTable } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -174,6 +175,29 @@ export const POST = withRouteHandler(async (request: NextRequest) => { { set: { plan: targetPlanName } } ) + if (isOrgScopedSubscription(sub, userId)) { + recordAudit({ + actorId: userId, + action: AuditAction.ORG_PLAN_CONVERTED, + resourceType: AuditResourceType.ORGANIZATION, + resourceId: sub.referenceId, + description: `Plan converted from ${sub.plan ?? 'unknown'} to ${targetPlanName}`, + metadata: { + organizationId: sub.referenceId, + subscriptionId: sub.id, + fromPlan: sub.plan, + toPlan: targetPlanName, + interval: targetInterval, + }, + request, + }) + captureServerEvent(userId, 'plan_converted', { + organization_id: sub.referenceId, + from_plan: sub.plan ?? 'unknown', + to_plan: targetPlanName, + }) + } + return NextResponse.json({ success: true, plan: targetPlanName, interval: targetInterval }) } catch (error) { logger.error('Failed to switch subscription', { diff --git a/apps/sim/app/api/environment/route.ts b/apps/sim/app/api/environment/route.ts index a976da6b6ee..75162c53e0b 100644 --- a/apps/sim/app/api/environment/route.ts +++ b/apps/sim/app/api/environment/route.ts @@ -14,6 +14,7 @@ import { generateRequestId } from '@/lib/core/utils/request' import { withRouteHandler } from '@/lib/core/utils/with-route-handler' import { syncPersonalEnvCredentialsForUser } from '@/lib/credentials/environment' import type { EnvironmentVariable } from '@/lib/environment/api' +import { captureServerEvent } from '@/lib/posthog/server' const logger = createLogger('EnvironmentAPI') @@ -89,6 +90,11 @@ export const POST = withRouteHandler(async (req: NextRequest) => { request: req, }) + captureServerEvent(session.user.id, 'environment_updated', { + key_count: Object.keys(variables).length, + scope: 'personal', + }) + return NextResponse.json({ success: true }) } catch (error) { logger.error(`[${requestId}] Error updating environment variables`, error) diff --git a/apps/sim/app/api/files/download/route.ts b/apps/sim/app/api/files/download/route.ts index 62bdbfe6e6a..670f43bb2e4 100644 --- a/apps/sim/app/api/files/download/route.ts +++ b/apps/sim/app/api/files/download/route.ts @@ -1,9 +1,11 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { createLogger } from '@sim/logger' import { type NextRequest, NextResponse } from 'next/server' import { fileDownloadContract } from '@/lib/api/contracts/storage-transfer' import { getValidationErrorMessage, parseRequest } from '@/lib/api/server' import { checkSessionOrInternalAuth } from '@/lib/auth/hybrid' import { withRouteHandler } from '@/lib/core/utils/with-route-handler' +import { captureServerEvent } from '@/lib/posthog/server' import { hasCloudStorage } from '@/lib/uploads/core/storage-service' import { inferContextFromKey } from '@/lib/uploads/utils/file-utils' import { verifyFileAccess } from '@/app/api/files/authorization' @@ -80,10 +82,26 @@ export const POST = withRouteHandler(async (request: NextRequest) => { logger.info(`Generated download URL for ${storageContext} file: ${key}`) + const downloadName = name || key.split('/').pop() || 'download' + recordAudit({ + workspaceId: null, + actorId: userId, + action: AuditAction.FILE_DOWNLOADED, + resourceType: AuditResourceType.FILE, + resourceName: downloadName, + description: `Downloaded file "${downloadName}"`, + metadata: { key, fileName: downloadName, context: storageContext }, + request, + }) + captureServerEvent(userId, 'file_downloaded', { + is_bulk: false, + file_count: 1, + }) + return NextResponse.json({ downloadUrl, expiresIn: null, - fileName: name || key.split('/').pop() || 'download', + fileName: downloadName, }) } catch (error) { logger.error('Error in file download endpoint:', error) diff --git a/apps/sim/app/api/files/export/[id]/route.ts b/apps/sim/app/api/files/export/[id]/route.ts index 26dc06abe0d..8a7e4b292e5 100644 --- a/apps/sim/app/api/files/export/[id]/route.ts +++ b/apps/sim/app/api/files/export/[id]/route.ts @@ -1,4 +1,5 @@ import path from 'node:path' +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { createLogger } from '@sim/logger' import { toError } from '@sim/utils/errors' import JSZip from 'jszip' @@ -9,6 +10,7 @@ import { parseRequest } from '@/lib/api/server' import { checkSessionOrInternalAuth } from '@/lib/auth/hybrid' import { extractEmbeddedImageIds } from '@/lib/copilot/tools/server/files/embedded-image-refs' import { withRouteHandler } from '@/lib/core/utils/with-route-handler' +import { captureServerEvent } from '@/lib/posthog/server' import type { StorageContext } from '@/lib/uploads/config' import { USE_BLOB_STORAGE } from '@/lib/uploads/config' import { downloadFile } from '@/lib/uploads/core/storage-service' @@ -68,9 +70,45 @@ export const GET = withRouteHandler( return NextResponse.json({ error: 'Forbidden' }, { status: 403 }) } + /** + * Records the egress only at a real success exit (serve redirect, plain + * markdown, or bundled zip) so a mid-export failure never logs a download + * that never happened. + */ + const auditExport = (format: 'file' | 'markdown' | 'zip', assetCount: number) => { + recordAudit({ + workspaceId: record.workspaceId ?? null, + actorId: userId, + action: AuditAction.FILE_DOWNLOADED, + resourceType: AuditResourceType.FILE, + resourceId: record.id, + resourceName: record.originalName, + description: `Exported file "${record.originalName}"`, + metadata: { + fileId: record.id, + fileName: record.originalName, + bytes: record.size, + format, + assetCount, + }, + request, + }) + captureServerEvent( + userId, + 'file_downloaded', + { + ...(record.workspaceId ? { workspace_id: record.workspaceId } : {}), + is_bulk: assetCount > 0, + file_count: 1 + assetCount, + }, + record.workspaceId ? { groups: { workspace: record.workspaceId } } : undefined + ) + } + if (!isMarkdown(record.originalName, record.contentType)) { const storagePrefix = USE_BLOB_STORAGE ? 'blob' : 's3' const servePath = `/api/files/serve/${storagePrefix}/${encodeURIComponent(record.key)}` + auditExport('file', 0) return NextResponse.redirect(new URL(servePath, request.url), { status: 302 }) } @@ -87,6 +125,7 @@ export const GET = withRouteHandler( if (imageIds.length === 0) { const mdName = safeFilename(record.originalName) const mdBytes = Buffer.from(mdContent, 'utf-8') + auditExport('markdown', 0) return new NextResponse(new Uint8Array(mdBytes), { status: 200, headers: { @@ -151,6 +190,7 @@ export const GET = withRouteHandler( const zipBuffer = await zip.generateAsync({ type: 'nodebuffer', compression: 'DEFLATE' }) const zipName = safeFilename(`${record.originalName.replace(/\.[^.]+$/, '')}.zip`) + auditExport('zip', assetMap.size) return new NextResponse(new Uint8Array(zipBuffer), { status: 200, headers: { diff --git a/apps/sim/app/api/files/public/[token]/content/route.ts b/apps/sim/app/api/files/public/[token]/content/route.ts index 8db42e412bd..87282d86f4d 100644 --- a/apps/sim/app/api/files/public/[token]/content/route.ts +++ b/apps/sim/app/api/files/public/[token]/content/route.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { createLogger } from '@sim/logger' import type { NextRequest } from 'next/server' import { NextResponse } from 'next/server' @@ -76,6 +77,25 @@ export const GET = withRouteHandler( logger.info('Public shared file served', { token, key: file.key, size: buffer.length }) + // Anonymous access: null actor (owner-as-actor would misread as a self-download). + recordAudit({ + workspaceId: file.workspaceId ?? null, + actorId: null, + action: AuditAction.FILE_DOWNLOADED, + resourceType: AuditResourceType.FILE, + resourceId: file.id, + resourceName: file.originalName, + description: `Public share download of "${file.originalName}"`, + metadata: { + access: 'public_share', + anonymous: true, + sharedByUserId: file.userId, + fileName: file.originalName, + bytes: buffer.length, + }, + request, + }) + // Revalidate every request: a shared file can be unshared, edited, or deleted, // so the fixed token URL must never serve stale bytes from a long-lived cache. return createFileResponse({ diff --git a/apps/sim/app/api/files/public/[token]/inline/route.ts b/apps/sim/app/api/files/public/[token]/inline/route.ts index 87c343a26a8..a777b953ba5 100644 --- a/apps/sim/app/api/files/public/[token]/inline/route.ts +++ b/apps/sim/app/api/files/public/[token]/inline/route.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { createLogger } from '@sim/logger' import type { NextRequest } from 'next/server' import { NextResponse } from 'next/server' @@ -86,8 +87,27 @@ export const GET = withRouteHandler( throw new FileNotFoundError('Not found') } - // Content-truth gate (`sniff`): render only genuine raster image bytes. - return await serveInlineImage(image, { sniff: true }) + // Content-truth gate (`sniff`): render only genuine raster image bytes; audit after. + const response = await serveInlineImage(image, { sniff: true }) + + // Anonymous access: null actor (owner-as-actor would misread as a self-download). + recordAudit({ + workspaceId: doc.workspaceId, + actorId: null, + action: AuditAction.FILE_DOWNLOADED, + resourceType: AuditResourceType.FILE, + resourceName: image.filename, + description: `Public share inline image "${image.filename}"`, + metadata: { + access: 'public_share', + anonymous: true, + inline: true, + sharedByUserId: doc.userId, + }, + request, + }) + + return response } catch (error) { if (error instanceof FileNotFoundError) { return createErrorResponse(error) diff --git a/apps/sim/app/api/organizations/[id]/members/[memberId]/route.ts b/apps/sim/app/api/organizations/[id]/members/[memberId]/route.ts index 69433ca0b7d..38e2e831c8e 100644 --- a/apps/sim/app/api/organizations/[id]/members/[memberId]/route.ts +++ b/apps/sim/app/api/organizations/[id]/members/[memberId]/route.ts @@ -18,6 +18,7 @@ import { } from '@/lib/billing/organizations/membership' import { reconcileOrganizationSeats } from '@/lib/billing/organizations/seats' import { withRouteHandler } from '@/lib/core/utils/with-route-handler' +import { captureServerEvent } from '@/lib/posthog/server' const logger = createLogger('OrganizationMemberAPI') @@ -253,6 +254,13 @@ export const PUT = withRouteHandler( request, }) + captureServerEvent( + session.user.id, + 'org_member_role_changed', + { organization_id: organizationId, new_role: role }, + { groups: { organization: organizationId } } + ) + return NextResponse.json({ success: true, message: 'Member role updated successfully', @@ -382,6 +390,13 @@ export const DELETE = withRouteHandler( request, }) + captureServerEvent( + session.user.id, + 'org_member_removed', + { organization_id: organizationId, is_self_removal: session.user.id === targetUserId }, + { groups: { organization: organizationId } } + ) + return NextResponse.json({ success: true, message: 'External member removed successfully', @@ -422,6 +437,7 @@ export const DELETE = withRouteHandler( seatReduction = await reconcileOrganizationSeats({ organizationId, reason: 'member-removed', + actorId: session.user.id, }) } catch (seatError) { logger.error('Failed to reduce seats after member removal', { @@ -479,6 +495,13 @@ export const DELETE = withRouteHandler( request, }) + captureServerEvent( + session.user.id, + 'org_member_removed', + { organization_id: organizationId, is_self_removal: session.user.id === targetUserId }, + { groups: { organization: organizationId } } + ) + return NextResponse.json({ success: true, message: diff --git a/apps/sim/app/api/organizations/route.ts b/apps/sim/app/api/organizations/route.ts index ba1fece2f3d..839ff3c7617 100644 --- a/apps/sim/app/api/organizations/route.ts +++ b/apps/sim/app/api/organizations/route.ts @@ -23,6 +23,7 @@ import { import { isOrgPlan } from '@/lib/billing/plan-helpers' import { ENTITLED_SUBSCRIPTION_STATUSES } from '@/lib/billing/subscriptions/utils' import { withRouteHandler } from '@/lib/core/utils/with-route-handler' +import { captureServerEvent } from '@/lib/posthog/server' import { attachOwnedWorkspacesToOrganization, WorkspaceOrganizationMembershipConflictError, @@ -256,6 +257,15 @@ export const POST = withRouteHandler(async (request: Request) => { metadata: { organizationSlug }, request, }) + captureServerEvent( + user.id, + 'organization_created', + { + organization_id: organizationId, + ...(organizationName ? { name: organizationName } : {}), + }, + { groups: { organization: organizationId } } + ) } return NextResponse.json({ diff --git a/apps/sim/app/api/table/[tableId]/export-async/route.ts b/apps/sim/app/api/table/[tableId]/export-async/route.ts index 9208808e61e..7ad5cdb251d 100644 --- a/apps/sim/app/api/table/[tableId]/export-async/route.ts +++ b/apps/sim/app/api/table/[tableId]/export-async/route.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { createLogger } from '@sim/logger' import { generateId } from '@sim/utils/id' import { type NextRequest, NextResponse } from 'next/server' @@ -8,6 +9,7 @@ import { isTriggerDevEnabled } from '@/lib/core/config/env-flags' import { runDetached } from '@/lib/core/utils/background' import { generateRequestId } from '@/lib/core/utils/request' import { withRouteHandler } from '@/lib/core/utils/with-route-handler' +import { captureServerEvent } from '@/lib/posthog/server' import { runTableExport, type TableExportPayload } from '@/lib/table/export-runner' import { markTableJobRunning, releaseJobClaim } from '@/lib/table/jobs/service' import type { TableExportJobPayload } from '@/lib/table/types' @@ -58,7 +60,12 @@ export const POST = withRouteHandler(async (request: NextRequest, { params }: Ro return NextResponse.json({ error: 'Failed to start export' }, { status: 409 }) } - const payload: TableExportPayload = { jobId, tableId, workspaceId, format } + const payload: TableExportPayload = { + jobId, + tableId, + workspaceId, + format, + } if (isTriggerDevEnabled) { try { const [{ tableExportTask }, { tasks }, { resolveTriggerRegion }] = await Promise.all([ @@ -80,6 +87,27 @@ export const POST = withRouteHandler(async (request: NextRequest, { params }: Ro runDetached('table-export', () => runTableExport(payload)) } + // Audit at authorization (like the sync route) so a failed/abandoned job still records the export. + recordAudit({ + workspaceId, + actorId: authResult.userId, + action: AuditAction.TABLE_EXPORTED, + resourceType: AuditResourceType.TABLE, + resourceId: tableId, + resourceName: access.table.name, + description: `Exported table "${access.table.name}" as ${format.toUpperCase()}`, + metadata: { format, rowCount: access.table.rowCount, async: true }, + request, + }) + if (access.table.workspaceId) { + captureServerEvent( + authResult.userId, + 'table_exported', + { table_id: tableId, workspace_id: workspaceId }, + { groups: { workspace: workspaceId } } + ) + } + logger.info(`[${requestId}] Async export started`, { tableId, jobId, format }) return NextResponse.json({ success: true, data: { tableId, jobId } }) }) diff --git a/apps/sim/app/api/table/[tableId]/export/route.ts b/apps/sim/app/api/table/[tableId]/export/route.ts index 75208e3d982..df217ec7d31 100644 --- a/apps/sim/app/api/table/[tableId]/export/route.ts +++ b/apps/sim/app/api/table/[tableId]/export/route.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { createLogger } from '@sim/logger' import { type NextRequest, NextResponse } from 'next/server' import { tableExportFormatSchema, tableIdParamsSchema } from '@/lib/api/contracts/tables' @@ -6,6 +7,7 @@ import { checkSessionOrInternalAuth } from '@/lib/auth/hybrid' import { neutralizeCsvFormula } from '@/lib/core/utils/csv' import { generateRequestId } from '@/lib/core/utils/request' import { withRouteHandler } from '@/lib/core/utils/with-route-handler' +import { captureServerEvent } from '@/lib/posthog/server' import { buildNameById, getColumnId, rowDataIdToName } from '@/lib/table/column-keys' import { queryRows } from '@/lib/table/rows/service' import { accessError, checkAccess } from '@/app/api/table/utils' @@ -29,6 +31,7 @@ export const GET = withRouteHandler(async (request: NextRequest, { params }: Rou if (!auth.success || !auth.userId) { return NextResponse.json({ error: 'Authentication required' }, { status: 401 }) } + const userId = auth.userId const { searchParams } = new URL(request.url) const formatValidation = tableExportFormatSchema.safeParse( @@ -53,6 +56,27 @@ export const GET = withRouteHandler(async (request: NextRequest, { params }: Rou const safeName = sanitizeFilename(table.name) const filename = `${safeName}.${format}` + // Audit before streaming: rows leave incrementally, so a mid-stream failure still exfiltrates partial data. + recordAudit({ + workspaceId: table.workspaceId ?? null, + actorId: userId, + action: AuditAction.TABLE_EXPORTED, + resourceType: AuditResourceType.TABLE, + resourceId: tableId, + resourceName: table.name, + description: `Exported table "${table.name}" as ${format.toUpperCase()}`, + metadata: { format, rowCount: table.rowCount }, + request, + }) + if (table.workspaceId) { + captureServerEvent( + userId, + 'table_exported', + { table_id: tableId, workspace_id: table.workspaceId }, + { groups: { workspace: table.workspaceId } } + ) + } + const stream = new ReadableStream({ async start(controller) { const encoder = new TextEncoder() diff --git a/apps/sim/app/api/table/[tableId]/route.ts b/apps/sim/app/api/table/[tableId]/route.ts index bd398867eeb..5d0069fa570 100644 --- a/apps/sim/app/api/table/[tableId]/route.ts +++ b/apps/sim/app/api/table/[tableId]/route.ts @@ -125,7 +125,7 @@ export const PATCH = withRouteHandler( return NextResponse.json({ error: 'Invalid workspace ID' }, { status: 400 }) } - const updated = await renameTable(tableId, validated.name, requestId) + const updated = await renameTable(tableId, validated.name, requestId, authResult.userId) return NextResponse.json({ success: true, @@ -172,7 +172,7 @@ export const DELETE = withRouteHandler( return NextResponse.json({ error: 'Invalid workspace ID' }, { status: 400 }) } - await deleteTable(tableId, requestId) + await deleteTable(tableId, requestId, authResult.userId) captureServerEvent( authResult.userId, diff --git a/apps/sim/app/api/users/me/api-keys/[id]/route.ts b/apps/sim/app/api/users/me/api-keys/[id]/route.ts index 4ae92aff51d..514832d4a06 100644 --- a/apps/sim/app/api/users/me/api-keys/[id]/route.ts +++ b/apps/sim/app/api/users/me/api-keys/[id]/route.ts @@ -9,6 +9,7 @@ import { getValidationErrorMessage } from '@/lib/api/server' import { getSession } from '@/lib/auth' import { generateRequestId } from '@/lib/core/utils/request' import { withRouteHandler } from '@/lib/core/utils/with-route-handler' +import { captureServerEvent } from '@/lib/posthog/server' const logger = createLogger('ApiKeyAPI') @@ -59,6 +60,11 @@ export const DELETE = withRouteHandler( request, }) + captureServerEvent(userId, 'api_key_revoked', { + key_name: deletedKey.name, + scope: 'personal', + }) + return NextResponse.json({ success: true }) } catch (error) { logger.error('Failed to delete API key', { error }) diff --git a/apps/sim/app/api/users/me/api-keys/route.ts b/apps/sim/app/api/users/me/api-keys/route.ts index e14a00a8118..fb2411ace55 100644 --- a/apps/sim/app/api/users/me/api-keys/route.ts +++ b/apps/sim/app/api/users/me/api-keys/route.ts @@ -11,6 +11,7 @@ import { createApiKey, getApiKeyDisplayFormat } from '@/lib/api-key/auth' import { hashApiKey } from '@/lib/api-key/crypto' import { getSession } from '@/lib/auth' import { withRouteHandler } from '@/lib/core/utils/with-route-handler' +import { captureServerEvent } from '@/lib/posthog/server' const logger = createLogger('ApiKeysAPI') @@ -122,6 +123,11 @@ export const POST = withRouteHandler(async (request: NextRequest) => { request, }) + captureServerEvent(userId, 'api_key_created', { + key_name: name, + scope: 'personal', + }) + return NextResponse.json({ key: { ...newKey, diff --git a/apps/sim/app/api/users/me/subscription/[id]/transfer/route.ts b/apps/sim/app/api/users/me/subscription/[id]/transfer/route.ts index c1a64e93175..adce3c771ef 100644 --- a/apps/sim/app/api/users/me/subscription/[id]/transfer/route.ts +++ b/apps/sim/app/api/users/me/subscription/[id]/transfer/route.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { member, organization, subscription } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -13,6 +14,7 @@ import { hasPaidSubscriptionStatus, } from '@/lib/billing/subscriptions/utils' import { withRouteHandler } from '@/lib/core/utils/with-route-handler' +import { captureServerEvent } from '@/lib/posthog/server' const logger = createLogger('SubscriptionTransferAPI') @@ -132,6 +134,26 @@ export const POST = withRouteHandler( organizationId, userId, }) + + recordAudit({ + actorId: userId, + action: AuditAction.SUBSCRIPTION_TRANSFERRED, + resourceType: AuditResourceType.SUBSCRIPTION, + resourceId: subscriptionId, + description: `Subscription transferred to organization ${organizationId}`, + metadata: { + subscriptionId, + organizationId, + fromEntity: 'user', + toEntity: 'organization', + }, + request, + }) + captureServerEvent(userId, 'subscription_transferred', { + subscription_id: subscriptionId, + from_entity: 'user', + to_entity: 'organization', + }) } return NextResponse.json({ success: true, message: outcome.message }) diff --git a/apps/sim/app/api/v1/admin/credits/route.ts b/apps/sim/app/api/v1/admin/credits/route.ts index cc78f84170f..2c41426d1f2 100644 --- a/apps/sim/app/api/v1/admin/credits/route.ts +++ b/apps/sim/app/api/v1/admin/credits/route.ts @@ -23,6 +23,7 @@ * Usage limits are updated accordingly to allow spending the credits. */ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { organization, subscription, user, userStats } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -210,6 +211,26 @@ export const POST = withRouteHandler( reason: reason || 'No reason provided', }) + recordAudit({ + actorId: 'admin-api', + action: AuditAction.CREDIT_ISSUED, + resourceType: AuditResourceType.BILLING, + resourceId: entityId, + description: `Admin API issued $${Number(amount).toFixed(2)} credits to ${entityType} ${entityId}`, + metadata: { + targetUserId: resolvedUserId, + ...(entityType === 'organization' + ? { targetOrgId: entityId, organizationId: entityId } + : {}), + entityType, + amount, + currency: 'usd', + reason: reason || null, + newCreditBalance, + }, + request, + }) + return singleResponse({ success: true, userId: resolvedUserId, diff --git a/apps/sim/app/api/v1/admin/organizations/[id]/members/[memberId]/route.ts b/apps/sim/app/api/v1/admin/organizations/[id]/members/[memberId]/route.ts index 0f25618fc2c..68b79e3a78a 100644 --- a/apps/sim/app/api/v1/admin/organizations/[id]/members/[memberId]/route.ts +++ b/apps/sim/app/api/v1/admin/organizations/[id]/members/[memberId]/route.ts @@ -25,6 +25,7 @@ * Response: { success: true, memberId: string, billingActions: {...} } */ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { member, organization, user, userStats } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -205,6 +206,22 @@ export const PATCH = withRouteHandler( previousRole: existingMember.role, }) + recordAudit({ + workspaceId: null, + actorId: 'admin-api', + action: AuditAction.ORG_MEMBER_ROLE_CHANGED, + resourceType: AuditResourceType.ORGANIZATION, + resourceId: organizationId, + description: `Admin API changed organization member role to ${role}`, + metadata: { + memberId, + targetUserId: existingMember.userId, + previousRole: existingMember.role, + role, + }, + request, + }) + return singleResponse(data) } catch (error) { logger.error('Admin API: Failed to update member', { error, organizationId, memberId }) @@ -275,6 +292,17 @@ export const DELETE = withRouteHandler( billingActions: result.billingActions, }) + recordAudit({ + workspaceId: null, + actorId: 'admin-api', + action: AuditAction.ORG_MEMBER_REMOVED, + resourceType: AuditResourceType.ORGANIZATION, + resourceId: organizationId, + description: 'Admin API removed member from organization', + metadata: { memberId, targetUserId: userId }, + request, + }) + return singleResponse({ success: true, memberId, diff --git a/apps/sim/app/api/v1/admin/organizations/[id]/members/route.ts b/apps/sim/app/api/v1/admin/organizations/[id]/members/route.ts index 99e6d2c791c..5f77c3aa1e9 100644 --- a/apps/sim/app/api/v1/admin/organizations/[id]/members/route.ts +++ b/apps/sim/app/api/v1/admin/organizations/[id]/members/route.ts @@ -28,6 +28,7 @@ * }> */ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { member, organization, user, userStats } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -204,6 +205,17 @@ export const POST = withRouteHandler( } ) + recordAudit({ + workspaceId: null, + actorId: 'admin-api', + action: AuditAction.ORG_MEMBER_ROLE_CHANGED, + resourceType: AuditResourceType.ORGANIZATION, + resourceId: organizationId, + description: `Admin API changed organization member role to ${role}`, + metadata: { targetUserId: userId, previousRole: existingMember.role, role }, + request, + }) + return singleResponse({ id: existingMember.id, userId, @@ -268,6 +280,17 @@ export const POST = withRouteHandler( billingActions: result.billingActions, }) + recordAudit({ + workspaceId: null, + actorId: 'admin-api', + action: AuditAction.ORG_MEMBER_ADDED, + resourceType: AuditResourceType.ORGANIZATION, + resourceId: organizationId, + description: `Admin API added member to organization as ${role}`, + metadata: { targetUserId: userId, role, memberId: result.memberId }, + request, + }) + return singleResponse({ ...data, action: 'created' as const, diff --git a/apps/sim/app/api/v1/admin/organizations/[id]/route.ts b/apps/sim/app/api/v1/admin/organizations/[id]/route.ts index 5f8881dc739..a1ef18a9cd0 100644 --- a/apps/sim/app/api/v1/admin/organizations/[id]/route.ts +++ b/apps/sim/app/api/v1/admin/organizations/[id]/route.ts @@ -16,6 +16,7 @@ * Response: AdminSingleResponse */ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { member, organization, subscription } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -161,6 +162,18 @@ export const PATCH = withRouteHandler( fields: Object.keys(updateData).filter((k) => k !== 'updatedAt'), }) + recordAudit({ + workspaceId: null, + actorId: 'admin-api', + action: AuditAction.ORGANIZATION_UPDATED, + resourceType: AuditResourceType.ORGANIZATION, + resourceId: organizationId, + resourceName: updated.name, + description: `Admin API updated organization "${updated.name}"`, + metadata: { fields: Object.keys(updateData).filter((k) => k !== 'updatedAt') }, + request, + }) + return singleResponse(toAdminOrganization(updated)) } catch (error) { if (error instanceof OrganizationSlugInvalidError) { diff --git a/apps/sim/app/api/v1/admin/organizations/[id]/transfer-ownership/route.ts b/apps/sim/app/api/v1/admin/organizations/[id]/transfer-ownership/route.ts index 9da30b930d2..026d3458488 100644 --- a/apps/sim/app/api/v1/admin/organizations/[id]/transfer-ownership/route.ts +++ b/apps/sim/app/api/v1/admin/organizations/[id]/transfer-ownership/route.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { member, organization, user } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -108,6 +109,22 @@ export const POST = withRouteHandler( billingBlockInherited: result.billingBlockInherited, }) + recordAudit({ + workspaceId: null, + actorId: 'admin-api', + action: AuditAction.ORG_MEMBER_ROLE_CHANGED, + resourceType: AuditResourceType.ORGANIZATION, + resourceId: organizationId, + description: 'Admin API transferred organization ownership', + metadata: { + currentOwnerUserId, + newOwnerUserId, + workspacesReassigned: result.workspacesReassigned, + billedAccountReassigned: result.billedAccountReassigned, + }, + request, + }) + return singleResponse({ organizationId, currentOwnerUserId, diff --git a/apps/sim/app/api/v1/admin/organizations/route.ts b/apps/sim/app/api/v1/admin/organizations/route.ts index 5799c2bf1ad..26a2a652868 100644 --- a/apps/sim/app/api/v1/admin/organizations/route.ts +++ b/apps/sim/app/api/v1/admin/organizations/route.ts @@ -21,6 +21,7 @@ * Response: AdminSingleResponse */ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db, dbReplica } from '@sim/db' import { member, organization, user } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -167,6 +168,18 @@ export const POST = withRouteHandler( memberId, }) + recordAudit({ + workspaceId: null, + actorId: 'admin-api', + action: AuditAction.ORGANIZATION_CREATED, + resourceType: AuditResourceType.ORGANIZATION, + resourceId: organizationId, + resourceName: name, + description: `Admin API created organization "${name}"`, + metadata: { slug, ownerId, memberId }, + request, + }) + return singleResponse({ ...toAdminOrganization(createdOrg), memberId, diff --git a/apps/sim/app/api/v1/admin/workflows/export/route.ts b/apps/sim/app/api/v1/admin/workflows/export/route.ts index e5021518a3e..f3f90f968cd 100644 --- a/apps/sim/app/api/v1/admin/workflows/export/route.ts +++ b/apps/sim/app/api/v1/admin/workflows/export/route.ts @@ -14,6 +14,7 @@ * - JSON: AdminListResponse */ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { workflow } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -101,7 +102,25 @@ export const POST = withRouteHandler( logger.info(`Admin API: Exporting ${workflowExports.length} workflows`) + const auditExport = () => { + if (workflowExports.length === 0) return + recordAudit({ + actorId: 'admin-api', + action: AuditAction.WORKFLOW_EXPORTED, + resourceType: AuditResourceType.WORKFLOW, + description: `Admin API exported ${workflowExports.length} workflow(s)`, + metadata: { + format, + requestedCount: body.ids.length, + exportedCount: workflowExports.length, + requestedIds: body.ids, + }, + request, + }) + } + if (format === 'json') { + auditExport() return listResponse(workflowExports, { total: workflowExports.length, limit: workflowExports.length, @@ -122,6 +141,7 @@ export const POST = withRouteHandler( const filename = `workflows-export-${new Date().toISOString().split('T')[0]}.zip` + auditExport() return new NextResponse(arrayBuffer, { status: 200, headers: { diff --git a/apps/sim/app/api/v1/admin/workspaces/[id]/export/route.ts b/apps/sim/app/api/v1/admin/workspaces/[id]/export/route.ts index dcc1638c9b9..e8913c74e0f 100644 --- a/apps/sim/app/api/v1/admin/workspaces/[id]/export/route.ts +++ b/apps/sim/app/api/v1/admin/workspaces/[id]/export/route.ts @@ -11,6 +11,7 @@ * - JSON: WorkspaceExportPayload */ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { workflow, workflowFolder, workspace } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -124,7 +125,25 @@ export const GET = withRouteHandler( `Admin API: Exporting workspace ${workspaceId} with ${workflowExports.length} workflows and ${folderExports.length} folders` ) + const auditExport = () => + recordAudit({ + workspaceId, + actorId: 'admin-api', + action: AuditAction.WORKSPACE_EXPORTED, + resourceType: AuditResourceType.WORKSPACE, + resourceId: workspaceId, + resourceName: workspaceData.name, + description: `Admin API exported workspace "${workspaceData.name}"`, + metadata: { + format, + workflowCount: workflowExports.length, + folderCount: folderExports.length, + }, + request, + }) + if (format === 'json') { + auditExport() const exportPayload: WorkspaceExportPayload = { version: '1.0', exportedAt: new Date().toISOString(), @@ -156,6 +175,7 @@ export const GET = withRouteHandler( const sanitizedName = sanitizePathSegment(workspaceData.name) const filename = `${sanitizedName}-${new Date().toISOString().split('T')[0]}.zip` + auditExport() return new NextResponse(arrayBuffer, { status: 200, headers: { diff --git a/apps/sim/app/api/v1/admin/workspaces/[id]/members/[memberId]/route.ts b/apps/sim/app/api/v1/admin/workspaces/[id]/members/[memberId]/route.ts index c4c0dfe0324..fc3082427ab 100644 --- a/apps/sim/app/api/v1/admin/workspaces/[id]/members/[memberId]/route.ts +++ b/apps/sim/app/api/v1/admin/workspaces/[id]/members/[memberId]/route.ts @@ -21,6 +21,7 @@ * Response: AdminSingleResponse<{ removed: true, memberId: string, userId: string }> */ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { permissions, user, workspace } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -196,6 +197,22 @@ export const PATCH = withRouteHandler( previousPermissions: existingMember.permissionType, }) + recordAudit({ + workspaceId, + actorId: 'admin-api', + action: AuditAction.MEMBER_ROLE_CHANGED, + resourceType: AuditResourceType.WORKSPACE, + resourceId: workspaceId, + description: `Admin API changed workspace member permissions to ${permissionLevel}`, + metadata: { + memberId, + targetUserId: existingMember.userId, + previousPermissions: existingMember.permissionType, + permissions: permissionLevel, + }, + request, + }) + return singleResponse(data) } catch (error) { logger.error('Admin API: Failed to update workspace member', { error, workspaceId, memberId }) @@ -275,6 +292,17 @@ export const DELETE = withRouteHandler( userId: existingMember.userId, }) + recordAudit({ + workspaceId, + actorId: 'admin-api', + action: AuditAction.MEMBER_REMOVED, + resourceType: AuditResourceType.WORKSPACE, + resourceId: workspaceId, + description: 'Admin API removed member from workspace', + metadata: { memberId, targetUserId: existingMember.userId }, + request, + }) + return singleResponse({ removed: true, memberId, diff --git a/apps/sim/app/api/v1/admin/workspaces/[id]/members/route.ts b/apps/sim/app/api/v1/admin/workspaces/[id]/members/route.ts index 8d81b839099..0be8954b693 100644 --- a/apps/sim/app/api/v1/admin/workspaces/[id]/members/route.ts +++ b/apps/sim/app/api/v1/admin/workspaces/[id]/members/route.ts @@ -30,6 +30,7 @@ * Response: AdminSingleResponse<{ removed: true }> */ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { permissions, user, workspace, workspaceEnvironment } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -199,6 +200,21 @@ export const POST = withRouteHandler( newPermissions: permissionLevel, }) + recordAudit({ + workspaceId, + actorId: 'admin-api', + action: AuditAction.MEMBER_ROLE_CHANGED, + resourceType: AuditResourceType.WORKSPACE, + resourceId: workspaceId, + description: `Admin API changed workspace member permissions to ${permissionLevel}`, + metadata: { + targetUserId: userId, + previousPermissions: existingPermission.permissionType, + permissions: permissionLevel, + }, + request, + }) + return singleResponse({ id: existingPermission.id, workspaceId, @@ -245,6 +261,17 @@ export const POST = withRouteHandler( permissionId, }) + recordAudit({ + workspaceId, + actorId: 'admin-api', + action: AuditAction.MEMBER_ADDED, + resourceType: AuditResourceType.WORKSPACE, + resourceId: workspaceId, + description: `Admin API added member to workspace with ${permissionLevel} permissions`, + metadata: { targetUserId: userId, permissions: permissionLevel }, + request, + }) + const [wsEnvRow] = await db .select({ variables: workspaceEnvironment.variables }) .from(workspaceEnvironment) @@ -348,6 +375,17 @@ export const DELETE = withRouteHandler( logger.info(`Admin API: Removed user ${userId} from workspace ${workspaceId}`) + recordAudit({ + workspaceId, + actorId: 'admin-api', + action: AuditAction.MEMBER_REMOVED, + resourceType: AuditResourceType.WORKSPACE, + resourceId: workspaceId, + description: 'Admin API removed member from workspace', + metadata: { targetUserId: userId }, + request, + }) + return singleResponse({ removed: true, userId, workspaceId }) } catch (error) { if (error instanceof WorkspaceBillingAccountRemovalError) { diff --git a/apps/sim/app/api/v1/files/[fileId]/route.ts b/apps/sim/app/api/v1/files/[fileId]/route.ts index 5482a4d378f..258e36b9ffb 100644 --- a/apps/sim/app/api/v1/files/[fileId]/route.ts +++ b/apps/sim/app/api/v1/files/[fileId]/route.ts @@ -1,9 +1,11 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { createLogger } from '@sim/logger' import { type NextRequest, NextResponse } from 'next/server' import { v1DeleteFileContract, v1DownloadFileContract } from '@/lib/api/contracts/v1/files' import { parseRequest } from '@/lib/api/server' import { generateRequestId } from '@/lib/core/utils/request' import { withRouteHandler } from '@/lib/core/utils/with-route-handler' +import { captureServerEvent } from '@/lib/posthog/server' import { fetchWorkspaceFileBuffer, getWorkspaceFile } from '@/lib/uploads/contexts/workspace' import { performDeleteWorkspaceFileItems } from '@/lib/workspace-files/orchestration' import { @@ -48,6 +50,29 @@ export const GET = withRouteHandler(async (request: NextRequest, context: FileRo const buffer = await fetchWorkspaceFileBuffer(fileRecord) + recordAudit({ + workspaceId, + actorId: userId, + action: AuditAction.FILE_DOWNLOADED, + resourceType: AuditResourceType.FILE, + resourceId: fileRecord.id, + resourceName: fileRecord.name, + description: `Downloaded file "${fileRecord.name}" via API`, + metadata: { + fileId: fileRecord.id, + fileName: fileRecord.name, + bytes: buffer.length, + source: 'api_v1', + }, + request, + }) + captureServerEvent( + userId, + 'file_downloaded', + { workspace_id: workspaceId, is_bulk: false, file_count: 1 }, + { groups: { workspace: workspaceId } } + ) + return new Response(new Uint8Array(buffer), { status: 200, headers: { diff --git a/apps/sim/app/api/workflows/[id]/deploy/route.ts b/apps/sim/app/api/workflows/[id]/deploy/route.ts index 75eca4dc779..440636186e1 100644 --- a/apps/sim/app/api/workflows/[id]/deploy/route.ts +++ b/apps/sim/app/api/workflows/[id]/deploy/route.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db, workflow } from '@sim/db' import { createLogger } from '@sim/logger' import { assertWorkflowMutable, WorkflowLockedError } from '@sim/platform-authz/workflow' @@ -186,6 +187,19 @@ export const PATCH = withRouteHandler( logger.info(`[${requestId}] Updated isPublicApi for workflow ${id} to ${isPublicApi}`) const wsId = workflowData?.workspaceId + + recordAudit({ + workspaceId: wsId ?? null, + actorId: session!.user.id, + action: AuditAction.WORKFLOW_PUBLIC_API_TOGGLED, + resourceType: AuditResourceType.WORKFLOW, + resourceId: id, + resourceName: workflowData?.name ?? undefined, + description: `${isPublicApi ? 'Enabled' : 'Disabled'} public API for workflow "${workflowData?.name ?? id}"`, + metadata: { isPublicApi }, + request, + }) + captureServerEvent( session!.user.id, 'workflow_public_api_toggled', diff --git a/apps/sim/app/api/workflows/[id]/route.ts b/apps/sim/app/api/workflows/[id]/route.ts index d2c1f607b2d..08867154aea 100644 --- a/apps/sim/app/api/workflows/[id]/route.ts +++ b/apps/sim/app/api/workflows/[id]/route.ts @@ -319,6 +319,7 @@ export const PUT = withRouteHandler( workspaceId: workflowData.workspaceId, currentName: workflowData.name, currentFolderId: workflowData.folderId, + currentLocked: workflowData.locked, ...updates, requestId, }) diff --git a/apps/sim/app/api/workspaces/[id]/files/[fileId]/download/route.ts b/apps/sim/app/api/workspaces/[id]/files/[fileId]/download/route.ts index d56e7ab6442..77c8900a718 100644 --- a/apps/sim/app/api/workspaces/[id]/files/[fileId]/download/route.ts +++ b/apps/sim/app/api/workspaces/[id]/files/[fileId]/download/route.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { createLogger } from '@sim/logger' import { getErrorMessage } from '@sim/utils/errors' import { type NextRequest, NextResponse } from 'next/server' @@ -6,6 +7,7 @@ import { getValidationErrorMessage } from '@/lib/api/server' import { getSession } from '@/lib/auth' import { generateRequestId } from '@/lib/core/utils/request' import { withRouteHandler } from '@/lib/core/utils/with-route-handler' +import { captureServerEvent } from '@/lib/posthog/server' import { getWorkspaceFile } from '@/lib/uploads/contexts/workspace' import { verifyWorkspaceMembership } from '@/app/api/workflows/utils' @@ -55,6 +57,24 @@ export const POST = withRouteHandler( logger.info(`[${requestId}] Generated download URL for workspace file: ${fileRecord.name}`) + recordAudit({ + workspaceId, + actorId: session.user.id, + action: AuditAction.FILE_DOWNLOADED, + resourceType: AuditResourceType.FILE, + resourceId: fileId, + resourceName: fileRecord.name, + description: `Downloaded file "${fileRecord.name}"`, + metadata: { fileId, fileName: fileRecord.name, bytes: fileRecord.size }, + request, + }) + captureServerEvent( + session.user.id, + 'file_downloaded', + { workspace_id: workspaceId, is_bulk: false, file_count: 1 }, + { groups: { workspace: workspaceId } } + ) + return NextResponse.json({ success: true, downloadUrl: serveUrl, diff --git a/apps/sim/app/api/workspaces/[id]/files/download/route.ts b/apps/sim/app/api/workspaces/[id]/files/download/route.ts index c65b5438158..b6220308e55 100644 --- a/apps/sim/app/api/workspaces/[id]/files/download/route.ts +++ b/apps/sim/app/api/workspaces/[id]/files/download/route.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { createLogger } from '@sim/logger' import JSZip from 'jszip' import { type NextRequest, NextResponse } from 'next/server' @@ -5,6 +6,7 @@ import { downloadWorkspaceFileItemsContract } from '@/lib/api/contracts/workspac import { parseRequest } from '@/lib/api/server' import { getSession } from '@/lib/auth' import { withRouteHandler } from '@/lib/core/utils/with-route-handler' +import { captureServerEvent } from '@/lib/posthog/server' import { buildWorkspaceFileFolderPathMap, fetchWorkspaceFileBuffer, @@ -135,6 +137,23 @@ export const GET = withRouteHandler( } const zipBuffer = await zip.generateAsync({ type: 'nodebuffer' }) + + recordAudit({ + workspaceId, + actorId: session.user.id, + action: AuditAction.FILE_DOWNLOADED, + resourceType: AuditResourceType.FILE, + description: `Downloaded ${filesToZip.length} file${filesToZip.length === 1 ? '' : 's'} as zip`, + metadata: { fileCount: filesToZip.length, totalBytes }, + request, + }) + captureServerEvent( + session.user.id, + 'file_downloaded', + { workspace_id: workspaceId, is_bulk: true, file_count: filesToZip.length }, + { groups: { workspace: workspaceId } } + ) + return new NextResponse(new Uint8Array(zipBuffer), { headers: { 'Content-Type': 'application/zip', diff --git a/apps/sim/app/api/workspaces/members/[id]/route.ts b/apps/sim/app/api/workspaces/members/[id]/route.ts index 54889076a58..51a1e038c63 100644 --- a/apps/sim/app/api/workspaces/members/[id]/route.ts +++ b/apps/sim/app/api/workspaces/members/[id]/route.ts @@ -188,6 +188,7 @@ export const DELETE = withRouteHandler( seatReduction = await reconcileOrganizationSeats({ organizationId, reason: 'member-removed', + actorId: session.user.id, }) } catch (seatError) { logger.error('Failed to reduce seats after workspace member removal', { diff --git a/apps/sim/app/workspace/[workspaceId]/providers/workspace-scope-sync.tsx b/apps/sim/app/workspace/[workspaceId]/providers/workspace-scope-sync.tsx index 72c859a4a56..7173e394dd2 100644 --- a/apps/sim/app/workspace/[workspaceId]/providers/workspace-scope-sync.tsx +++ b/apps/sim/app/workspace/[workspaceId]/providers/workspace-scope-sync.tsx @@ -3,6 +3,7 @@ import { useEffect } from 'react' import { useParams } from 'next/navigation' import { usePostHog } from 'posthog-js/react' +import { useWorkspacesWithMetadata } from '@/hooks/queries/workspace' import { useWorkflowRegistry } from '@/stores/workflows/registry/store' /** @@ -13,11 +14,25 @@ export function WorkspaceScopeSync() { const hydrationWorkspaceId = useWorkflowRegistry((state) => state.hydration.workspaceId) const switchToWorkspace = useWorkflowRegistry((state) => state.switchToWorkspace) const posthog = usePostHog() + const { data: workspaceData } = useWorkspacesWithMetadata() + + const activeWorkspace = workspaceData?.workspaces.find((ws) => ws.id === workspaceId) + const workspaceName = activeWorkspace?.name + const organizationId = activeWorkspace?.organizationId ?? null useEffect(() => { - if (!workspaceId) return - posthog?.group('workspace', workspaceId) - }, [posthog, workspaceId]) + // Wait for metadata so the workspace and org groups switch together; acting + // mid-load (organizationId transiently null) would mismatch or strip them. + if (!workspaceId || !activeWorkspace) return + if (organizationId) { + posthog?.group('organization', organizationId) + } else { + // No org — clear any stale org group; resetGroups clears all, so the + // workspace group is re-applied immediately below. + posthog?.resetGroups() + } + posthog?.group('workspace', workspaceId, workspaceName ? { name: workspaceName } : undefined) + }, [posthog, workspaceId, workspaceName, organizationId, activeWorkspace]) useEffect(() => { if (!workspaceId || hydrationWorkspaceId === workspaceId) { diff --git a/apps/sim/lib/auth/auth.ts b/apps/sim/lib/auth/auth.ts index 8accab00a40..96c86881aa9 100644 --- a/apps/sim/lib/auth/auth.ts +++ b/apps/sim/lib/auth/auth.ts @@ -2991,6 +2991,7 @@ export const auth = betterAuth({ params: { allow_promotion_codes: true }, }), onSubscriptionComplete: async ({ + event, stripeSubscription, subscription, }: { @@ -3044,7 +3045,7 @@ export const auth = betterAuth({ throw orgError } - await handleSubscriptionCreated(resolvedSubscription) + await handleSubscriptionCreated(resolvedSubscription, event.id) await syncSubscriptionUsageLimits(resolvedSubscription) diff --git a/apps/sim/lib/billing/organizations/seats.test.ts b/apps/sim/lib/billing/organizations/seats.test.ts index da1d27aef90..3cd578055ed 100644 --- a/apps/sim/lib/billing/organizations/seats.test.ts +++ b/apps/sim/lib/billing/organizations/seats.test.ts @@ -1,6 +1,7 @@ /** * @vitest-environment node */ +import { auditMock } from '@sim/testing' import { beforeEach, describe, expect, it, vi } from 'vitest' const { mockSyncSubscriptionUsageLimits, enqueueMock, setMock, queryQueue, mockFeatureFlags } = @@ -58,6 +59,8 @@ vi.mock('@/lib/core/config/env-flags', () => ({ }, })) +vi.mock('@sim/audit', () => auditMock) + import { reconcileOrganizationSeats } from '@/lib/billing/organizations/seats' const teamSub = { @@ -101,6 +104,27 @@ describe('reconcileOrganizationSeats', () => { ) }) + it('still records the seat audit when the post-commit usage-limit sync fails', async () => { + queryQueue.value = [[teamSub], [{ value: 2 }]] + mockSyncSubscriptionUsageLimits.mockRejectedValueOnce(new Error('sync unavailable')) + + const result = await reconcileOrganizationSeats({ + organizationId: 'org-1', + reason: 'member-accepted-invite', + actorId: 'user-1', + }) + + expect(result.changed).toBe(true) + expect(setMock).toHaveBeenCalledWith({ seats: 2 }) + expect(auditMock.recordAudit).toHaveBeenCalledWith( + expect.objectContaining({ + actorId: 'user-1', + action: auditMock.AuditAction.ORG_SEAT_PROVISIONED, + resourceId: 'org-1', + }) + ) + }) + it('reduces seats to the member count on removal', async () => { queryQueue.value = [[{ ...teamSub, seats: 3 }], [{ value: 2 }]] diff --git a/apps/sim/lib/billing/organizations/seats.ts b/apps/sim/lib/billing/organizations/seats.ts index a956a38d444..1789d4929b3 100644 --- a/apps/sim/lib/billing/organizations/seats.ts +++ b/apps/sim/lib/billing/organizations/seats.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { member, subscription } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -8,6 +9,7 @@ import { USABLE_SUBSCRIPTION_STATUSES } from '@/lib/billing/subscriptions/utils' import { OUTBOX_EVENT_TYPES } from '@/lib/billing/webhooks/outbox-handlers' import { isBillingEnabled } from '@/lib/core/config/env-flags' import { enqueueOutboxEvent } from '@/lib/core/outbox/service' +import { captureServerEvent } from '@/lib/posthog/server' const logger = createLogger('OrganizationSeats') @@ -22,6 +24,13 @@ export interface ReconcileOrganizationSeatsResult { interface ReconcileOrganizationSeatsParams { organizationId: string reason: string + /** + * Real `user.id` of the actor whose action triggered this reconcile, used to + * attribute the seat-change audit log and analytics event. Omit for system + * reconciles (e.g. the seat-drift sweep) that have no acting user; the audit + * is then skipped and analytics fall back to the organization id. + */ + actorId?: string } /** @@ -41,6 +50,7 @@ interface ReconcileOrganizationSeatsParams { export async function reconcileOrganizationSeats({ organizationId, reason, + actorId, }: ReconcileOrganizationSeatsParams): Promise { if (!isBillingEnabled) { return { changed: false, reason: 'Billing is not enabled' } @@ -126,13 +136,24 @@ export async function reconcileOrganizationSeats({ return { changed: false, previousSeats: outcome.seats, seats: outcome.seats } } - await syncSubscriptionUsageLimits({ - id: outcome.sync.id, - plan: outcome.sync.plan, - referenceId: organizationId, - status: outcome.sync.status, - seats: outcome.seats, - }) + try { + await syncSubscriptionUsageLimits({ + id: outcome.sync.id, + plan: outcome.sync.plan, + referenceId: organizationId, + status: outcome.sync.status, + seats: outcome.seats, + }) + } catch (error) { + // Seats already committed in the transaction above; a failure here must not + // suppress the audit/analytics events below for a change that already happened. + logger.error('Failed to sync usage limits after seat reconciliation', { + organizationId, + previousSeats: outcome.previousSeats, + seats: outcome.seats, + error, + }) + } logger.info('Reconciled organization seats to member count', { organizationId, @@ -142,6 +163,30 @@ export async function reconcileOrganizationSeats({ outboxEventId: outcome.outboxEventId, }) + const increased = outcome.seats > outcome.previousSeats + if (actorId) { + recordAudit({ + workspaceId: null, + actorId, + action: increased ? AuditAction.ORG_SEAT_PROVISIONED : AuditAction.ORG_SEAT_DEPROVISIONED, + resourceType: AuditResourceType.ORGANIZATION, + resourceId: organizationId, + description: `${increased ? 'Provisioned' : 'Deprovisioned'} organization seats: ${outcome.previousSeats} → ${outcome.seats}`, + metadata: { previousSeats: outcome.previousSeats, seats: outcome.seats, reason }, + }) + } + captureServerEvent( + actorId ?? organizationId, + increased ? 'seats_provisioned' : 'seats_deprovisioned', + { + organization_id: organizationId, + previous_seats: outcome.previousSeats, + seats: outcome.seats, + reason, + }, + { groups: { organization: organizationId } } + ) + return { changed: true, previousSeats: outcome.previousSeats, diff --git a/apps/sim/lib/billing/storage/index.ts b/apps/sim/lib/billing/storage/index.ts index 50e10480a3d..9203c24b455 100644 --- a/apps/sim/lib/billing/storage/index.ts +++ b/apps/sim/lib/billing/storage/index.ts @@ -1,2 +1,6 @@ export { checkStorageQuota, getUserStorageLimit, getUserStorageUsage } from './limits' -export { decrementStorageUsage, incrementStorageUsage } from './tracking' +export { + decrementStorageUsage, + decrementStorageUsageInTx, + incrementStorageUsage, +} from './tracking' diff --git a/apps/sim/lib/billing/storage/tracking.ts b/apps/sim/lib/billing/storage/tracking.ts index 8c29fbb8b75..6311a881846 100644 --- a/apps/sim/lib/billing/storage/tracking.ts +++ b/apps/sim/lib/billing/storage/tracking.ts @@ -165,3 +165,33 @@ export async function decrementStorageUsage( void maybeNotifyStorageLimit(userId, workspaceId, sub, true) } } + +type StorageTransaction = Parameters[0]>[0] + +/** + * Decrement a user's (or their org's) storage counter inside an existing + * transaction, using a pre-resolved subscription. This lets a caller make the + * counter update atomic with the DB rows it is deleting (e.g. hard-deleting + * documents), so a failure of either rolls back both — no inflated counter, no + * over-decrement. The caller resolves the subscription (a read) before opening + * the transaction. + */ +export async function decrementStorageUsageInTx( + tx: StorageTransaction, + sub: HighestPrioritySubscription | null, + userId: string, + bytes: number +): Promise { + if (!isBillingEnabled || bytes <= 0) return + if (isOrgScopedSubscription(sub, userId) && sub) { + await tx + .update(organization) + .set({ storageUsedBytes: sql`GREATEST(0, ${organization.storageUsedBytes} - ${bytes})` }) + .where(eq(organization.id, sub.referenceId)) + } else { + await tx + .update(userStats) + .set({ storageUsedBytes: sql`GREATEST(0, ${userStats.storageUsedBytes} - ${bytes})` }) + .where(eq(userStats.userId, userId)) + } +} diff --git a/apps/sim/lib/billing/threshold-billing.ts b/apps/sim/lib/billing/threshold-billing.ts index 1f5cfd67d4f..63d239fec82 100644 --- a/apps/sim/lib/billing/threshold-billing.ts +++ b/apps/sim/lib/billing/threshold-billing.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { member, organization, subscription, userStats } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -19,6 +20,7 @@ import { toDecimal, toNumber } from '@/lib/billing/utils/decimal' import { OUTBOX_EVENT_TYPES } from '@/lib/billing/webhooks/outbox-handlers' import { env, envNumber } from '@/lib/core/config/env' import { enqueueOutboxEvent } from '@/lib/core/outbox/service' +import { captureServerEvent } from '@/lib/posthog/server' const logger = createLogger('ThresholdBilling') @@ -118,73 +120,97 @@ export async function checkAndBillOverageThreshold(userId: string): Promise { - await tx.execute(sql.raw(`SET LOCAL lock_timeout = '${BILLING_LOCK_TIMEOUT_MS}ms'`)) - - const statsRecords = await tx - .select() - .from(userStats) - .where(eq(userStats.userId, userId)) - .for('update') - .limit(1) + const billedResult = await db.transaction( + async ( + tx + ): Promise<{ + amount: number + creditsApplied: number + settledVia: 'stripe' | 'credits' + } | null> => { + await tx.execute(sql.raw(`SET LOCAL lock_timeout = '${BILLING_LOCK_TIMEOUT_MS}ms'`)) + + const statsRecords = await tx + .select() + .from(userStats) + .where(eq(userStats.userId, userId)) + .for('update') + .limit(1) + + if (statsRecords.length === 0) { + logger.warn('User stats not found for threshold billing', { userId }) + return null + } + + const stats = statsRecords[0] + const lockedUsageSnapshot = personalUsageSnapshotFromStats(stats) + if (!personalUsageSnapshotMatches(usageSnapshot, lockedUsageSnapshot)) { + logger.debug('Personal usage changed during threshold billing check; retry later', { + userId, + usageSnapshot, + lockedUsageSnapshot, + }) + return null + } - if (statsRecords.length === 0) { - logger.warn('User stats not found for threshold billing', { userId }) - return - } + const billedOverageThisPeriod = toNumber(toDecimal(stats.billedOverageThisPeriod)) + const unbilledOverage = Math.max(0, currentOverage - billedOverageThisPeriod) - const stats = statsRecords[0] - const lockedUsageSnapshot = personalUsageSnapshotFromStats(stats) - if (!personalUsageSnapshotMatches(usageSnapshot, lockedUsageSnapshot)) { - logger.debug('Personal usage changed during threshold billing check; retry later', { + logger.debug('Threshold billing check', { userId, - usageSnapshot, - lockedUsageSnapshot, + plan: userSubscription.plan, + currentOverage, + billedOverageThisPeriod, + unbilledOverage, + threshold, }) - return - } - const billedOverageThisPeriod = toNumber(toDecimal(stats.billedOverageThisPeriod)) - const unbilledOverage = Math.max(0, currentOverage - billedOverageThisPeriod) - - logger.debug('Threshold billing check', { - userId, - plan: userSubscription.plan, - currentOverage, - billedOverageThisPeriod, - unbilledOverage, - threshold, - }) - - if (unbilledOverage < threshold) { - return - } - - // Apply credits to reduce the amount to bill (use stats from locked row) - let amountToBill = unbilledOverage - let creditsApplied = 0 - const creditBalance = toNumber(toDecimal(stats.creditBalance)) - - if (creditBalance > 0) { - creditsApplied = Math.min(creditBalance, amountToBill) - await tx - .update(userStats) - .set({ - creditBalance: sql`GREATEST(0, ${userStats.creditBalance} - ${creditsApplied})`, + if (unbilledOverage < threshold) { + return null + } + + // Apply credits to reduce the amount to bill (use stats from locked row) + let amountToBill = unbilledOverage + let creditsApplied = 0 + const creditBalance = toNumber(toDecimal(stats.creditBalance)) + + if (creditBalance > 0) { + creditsApplied = Math.min(creditBalance, amountToBill) + await tx + .update(userStats) + .set({ + creditBalance: sql`GREATEST(0, ${userStats.creditBalance} - ${creditsApplied})`, + }) + .where(eq(userStats.userId, userId)) + amountToBill = amountToBill - creditsApplied + + logger.info('Applied credits to reduce threshold overage', { + userId, + creditBalance, + creditsApplied, + remainingToBill: amountToBill, }) - .where(eq(userStats.userId, userId)) - amountToBill = amountToBill - creditsApplied + } + + // If credits covered everything, bump billed tracker but don't enqueue Stripe invoice. + if (amountToBill <= 0) { + await tx + .update(userStats) + .set({ + billedOverageThisPeriod: sql`${userStats.billedOverageThisPeriod} + ${unbilledOverage}`, + }) + .where(eq(userStats.userId, userId)) + + logger.info('Credits fully covered threshold overage', { + userId, + creditsApplied, + unbilledOverage, + }) + return { amount: unbilledOverage, creditsApplied, settledVia: 'credits' } + } - logger.info('Applied credits to reduce threshold overage', { - userId, - creditBalance, - creditsApplied, - remainingToBill: amountToBill, - }) - } + const amountCents = Math.round(amountToBill * 100) - // If credits covered everything, bump billed tracker but don't enqueue Stripe invoice. - if (amountToBill <= 0) { await tx .update(userStats) .set({ @@ -192,51 +218,66 @@ export async function checkAndBillOverageThreshold(userId: string): Promise { - await tx.execute(sql.raw(`SET LOCAL lock_timeout = '${BILLING_LOCK_TIMEOUT_MS}ms'`)) - - const lockedOwnerRows = await tx - .select({ userId: member.userId }) - .from(member) - .where(and(eq(member.organizationId, organizationId), eq(member.role, 'owner'))) - .for('update') - .limit(1) - const lockedOwnerId = lockedOwnerRows[0]?.userId - if (!lockedOwnerId) { - logger.error('Organization owner not found after locking organization', { organizationId }) - return - } + const orgBilledResult = await db.transaction( + async ( + tx + ): Promise<{ + amount: number + creditsApplied: number + ownerId: string + settledVia: 'stripe' | 'credits' + } | null> => { + await tx.execute(sql.raw(`SET LOCAL lock_timeout = '${BILLING_LOCK_TIMEOUT_MS}ms'`)) + + const lockedOwnerRows = await tx + .select({ userId: member.userId }) + .from(member) + .where(and(eq(member.organizationId, organizationId), eq(member.role, 'owner'))) + .for('update') + .limit(1) + const lockedOwnerId = lockedOwnerRows[0]?.userId + if (!lockedOwnerId) { + logger.error('Organization owner not found after locking organization', { + organizationId, + }) + return null + } - const ownerStatsLock = await tx - .select() - .from(userStats) - .where(eq(userStats.userId, lockedOwnerId)) - .for('update') - .limit(1) - if (ownerStatsLock.length === 0) { - logger.error('Owner stats not found', { organizationId, ownerId: lockedOwnerId }) - return - } + const ownerStatsLock = await tx + .select() + .from(userStats) + .where(eq(userStats.userId, lockedOwnerId)) + .for('update') + .limit(1) + if (ownerStatsLock.length === 0) { + logger.error('Owner stats not found', { organizationId, ownerId: lockedOwnerId }) + return null + } + + const orgLock = await tx + .select() + .from(organization) + .where(eq(organization.id, organizationId)) + .for('update') + .limit(1) + + if (orgLock.length === 0) { + logger.error('Organization not found', { organizationId }) + return null + } + + const lockedMemberUsageRows = await tx + .select({ + userId: member.userId, + role: member.role, + currentPeriodCost: userStats.currentPeriodCost, + departedMemberUsage: organization.departedMemberUsage, + }) + .from(member) + .leftJoin(userStats, eq(member.userId, userStats.userId)) + .innerJoin(organization, eq(organization.id, member.organizationId)) + .where(eq(member.organizationId, organizationId)) + + const lockedUsageSnapshot = buildOrganizationUsageSnapshot(lockedMemberUsageRows) + if ( + !lockedUsageSnapshot || + lockedOwnerId !== usageSnapshot.ownerId || + !organizationUsageSnapshotMatches(usageSnapshot, lockedUsageSnapshot) + ) { + logger.debug('Organization usage changed during threshold billing check; retry later', { + organizationId, + usageSnapshot, + lockedUsageSnapshot, + lockedOwnerId, + }) + return null + } - const orgLock = await tx - .select() - .from(organization) - .where(eq(organization.id, organizationId)) - .for('update') - .limit(1) + const totalBilledOverage = toNumber(toDecimal(ownerStatsLock[0].billedOverageThisPeriod)) + const orgCreditBalance = toNumber(toDecimal(orgLock[0].creditBalance)) - if (orgLock.length === 0) { - logger.error('Organization not found', { organizationId }) - return - } + const unbilledOverage = Math.max(0, currentOverage - totalBilledOverage) - const lockedMemberUsageRows = await tx - .select({ - userId: member.userId, - role: member.role, - currentPeriodCost: userStats.currentPeriodCost, - departedMemberUsage: organization.departedMemberUsage, - }) - .from(member) - .leftJoin(userStats, eq(member.userId, userStats.userId)) - .innerJoin(organization, eq(organization.id, member.organizationId)) - .where(eq(member.organizationId, organizationId)) - - const lockedUsageSnapshot = buildOrganizationUsageSnapshot(lockedMemberUsageRows) - if ( - !lockedUsageSnapshot || - lockedOwnerId !== usageSnapshot.ownerId || - !organizationUsageSnapshotMatches(usageSnapshot, lockedUsageSnapshot) - ) { - logger.debug('Organization usage changed during threshold billing check; retry later', { + logger.debug('Organization threshold billing check', { organizationId, - usageSnapshot, - lockedUsageSnapshot, - lockedOwnerId, + totalTeamUsage: + usageSnapshot.pooledCurrentPeriodCost + ledgerUsage + usageSnapshot.departedMemberUsage, + ledgerUsage, + effectiveTeamUsage, + basePrice, + currentOverage, + totalBilledOverage, + unbilledOverage, + threshold, }) - return - } - const totalBilledOverage = toNumber(toDecimal(ownerStatsLock[0].billedOverageThisPeriod)) - const orgCreditBalance = toNumber(toDecimal(orgLock[0].creditBalance)) - - const unbilledOverage = Math.max(0, currentOverage - totalBilledOverage) - - logger.debug('Organization threshold billing check', { - organizationId, - totalTeamUsage: - usageSnapshot.pooledCurrentPeriodCost + ledgerUsage + usageSnapshot.departedMemberUsage, - ledgerUsage, - effectiveTeamUsage, - basePrice, - currentOverage, - totalBilledOverage, - unbilledOverage, - threshold, - }) - - if (unbilledOverage < threshold) { - return - } - - let amountToBill = unbilledOverage - let creditsApplied = 0 - - if (orgCreditBalance > 0) { - creditsApplied = Math.min(orgCreditBalance, amountToBill) - await tx - .update(organization) - .set({ - creditBalance: sql`GREATEST(0, ${organization.creditBalance} - ${creditsApplied})`, + if (unbilledOverage < threshold) { + return null + } + + let amountToBill = unbilledOverage + let creditsApplied = 0 + + if (orgCreditBalance > 0) { + creditsApplied = Math.min(orgCreditBalance, amountToBill) + await tx + .update(organization) + .set({ + creditBalance: sql`GREATEST(0, ${organization.creditBalance} - ${creditsApplied})`, + }) + .where(eq(organization.id, organizationId)) + amountToBill = amountToBill - creditsApplied + + logger.info('Applied org credits to reduce threshold overage', { + organizationId, + creditBalance: orgCreditBalance, + creditsApplied, + remainingToBill: amountToBill, }) - .where(eq(organization.id, organizationId)) - amountToBill = amountToBill - creditsApplied - - logger.info('Applied org credits to reduce threshold overage', { - organizationId, - creditBalance: orgCreditBalance, - creditsApplied, - remainingToBill: amountToBill, - }) - } - - // If credits covered everything, bump billed tracker but don't enqueue Stripe invoice. - if (amountToBill <= 0) { + } + + // If credits covered everything, bump billed tracker but don't enqueue Stripe invoice. + if (amountToBill <= 0) { + await tx + .update(userStats) + .set({ + billedOverageThisPeriod: sql`${userStats.billedOverageThisPeriod} + ${unbilledOverage}`, + }) + .where(eq(userStats.userId, lockedOwnerId)) + + logger.info('Credits fully covered org threshold overage', { + organizationId, + creditsApplied, + unbilledOverage, + }) + return { + amount: unbilledOverage, + creditsApplied, + ownerId: lockedOwnerId, + settledVia: 'credits', + } + } + + const amountCents = Math.round(amountToBill * 100) + + // Bump billed tracker and enqueue Stripe invoice atomically. + // See user-path above for the full retry-invariant reasoning. await tx .update(userStats) .set({ @@ -489,52 +564,71 @@ async function checkAndBillOrganizationOverageThreshold(organizationId: string): }) .where(eq(userStats.userId, lockedOwnerId)) - logger.info('Credits fully covered org threshold overage', { + await enqueueOutboxEvent(tx, OUTBOX_EVENT_TYPES.STRIPE_THRESHOLD_OVERAGE_INVOICE, { + customerId, + stripeSubscriptionId, + amountCents, + description: `Team threshold overage billing – ${billingPeriod}`, + itemDescription: `Team usage overage ($${amountToBill.toFixed(2)})`, + billingPeriod, + invoiceIdemKeyStem: `threshold-overage-org-invoice:${customerId}:${stripeSubscriptionId}:${billingPeriod}:${totalOverageCents}:${amountCents}`, + itemIdemKeyStem: `threshold-overage-org-item:${customerId}:${stripeSubscriptionId}:${billingPeriod}:${totalOverageCents}:${amountCents}`, + metadata: { + type: 'overage_threshold_billing_org', + organizationId, + subscriptionId: stripeSubscriptionId, + billingPeriod, + totalOverageAtTimeOfBilling: currentOverage.toFixed(2), + }, + }) + + logger.info('Queued organization threshold overage invoice for Stripe', { organizationId, + ownerId: lockedOwnerId, creditsApplied, - unbilledOverage, + amountBilled: amountToBill, + totalProcessed: unbilledOverage, + billingPeriod, }) - return - } - - const amountCents = Math.round(amountToBill * 100) - // Bump billed tracker and enqueue Stripe invoice atomically. - // See user-path above for the full retry-invariant reasoning. - await tx - .update(userStats) - .set({ - billedOverageThisPeriod: sql`${userStats.billedOverageThisPeriod} + ${unbilledOverage}`, - }) - .where(eq(userStats.userId, lockedOwnerId)) - - await enqueueOutboxEvent(tx, OUTBOX_EVENT_TYPES.STRIPE_THRESHOLD_OVERAGE_INVOICE, { - customerId, - stripeSubscriptionId, - amountCents, - description: `Team threshold overage billing – ${billingPeriod}`, - itemDescription: `Team usage overage ($${amountToBill.toFixed(2)})`, - billingPeriod, - invoiceIdemKeyStem: `threshold-overage-org-invoice:${customerId}:${stripeSubscriptionId}:${billingPeriod}:${totalOverageCents}:${amountCents}`, - itemIdemKeyStem: `threshold-overage-org-item:${customerId}:${stripeSubscriptionId}:${billingPeriod}:${totalOverageCents}:${amountCents}`, + return { + amount: amountToBill, + creditsApplied, + ownerId: lockedOwnerId, + settledVia: 'stripe', + } + } + ) + + if (orgBilledResult) { + const { amount, creditsApplied, ownerId, settledVia } = orgBilledResult + const settledLabel = settledVia === 'credits' ? 'covered by credits' : 'billed' + recordAudit({ + actorId: ownerId, + action: AuditAction.OVERAGE_BILLED, + resourceType: AuditResourceType.BILLING, + resourceId: orgSubscription.id, + description: `Overage of $${amount.toFixed(2)} ${settledLabel} for organization ${organizationId}`, metadata: { - type: 'overage_threshold_billing_org', + entityType: 'organization', + referenceId: organizationId, organizationId, - subscriptionId: stripeSubscriptionId, + plan: orgSubscription.plan, + amount, + currency: 'usd', + creditsApplied, + settledVia, billingPeriod, - totalOverageAtTimeOfBilling: currentOverage.toFixed(2), }, }) - - logger.info('Queued organization threshold overage invoice for Stripe', { - organizationId, - ownerId: lockedOwnerId, - creditsApplied, - amountBilled: amountToBill, - totalProcessed: unbilledOverage, - billingPeriod, + captureServerEvent(ownerId, 'overage_billed', { + amount, + currency: 'usd', + entity_type: 'organization', + reference_id: organizationId, + settled_via: settledVia, }) - }) + } } catch (error) { logger.error('Error in organization threshold billing', { organizationId, diff --git a/apps/sim/lib/billing/webhooks/disputes.ts b/apps/sim/lib/billing/webhooks/disputes.ts index 647ad8a9cae..781b577ac9f 100644 --- a/apps/sim/lib/billing/webhooks/disputes.ts +++ b/apps/sim/lib/billing/webhooks/disputes.ts @@ -1,10 +1,13 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' -import { subscription, user, userStats } from '@sim/db/schema' +import { member, subscription, user, userStats } from '@sim/db/schema' import { createLogger } from '@sim/logger' import { and, eq } from 'drizzle-orm' import type Stripe from 'stripe' import { blockOrgMembers, unblockOrgMembers } from '@/lib/billing' import { requireStripeClient } from '@/lib/billing/stripe-client' +import { stripeWebhookIdempotency } from '@/lib/billing/webhooks/idempotency' +import { captureServerEvent } from '@/lib/posthog/server' const logger = createLogger('DisputeWebhooks') @@ -17,57 +20,128 @@ async function getCustomerIdFromDispute(dispute: Stripe.Dispute): Promise { + try { + const rows = await db + .select({ userId: member.userId }) + .from(member) + .where(and(eq(member.organizationId, organizationId), eq(member.role, 'owner'))) + .limit(1) + return rows[0]?.userId ?? null + } catch (error) { + logger.warn('Failed to resolve organization owner for dispute audit', { organizationId, error }) + return null + } +} + +/** + * Record audit + PostHog instrumentation for a charge dispute money event. + * `actorId` must be the responsible user (org owner for org-scoped charges). + */ +function recordDisputeInstrumentation( + status: 'opened' | 'closed', + dispute: Stripe.Dispute, + customerId: string, + actorId: string, + entity: { type: 'user' | 'organization'; id: string } +): void { + const amount = dispute.amount / 100 + recordAudit({ + actorId, + action: + status === 'opened' ? AuditAction.CHARGE_DISPUTE_OPENED : AuditAction.CHARGE_DISPUTE_CLOSED, + resourceType: AuditResourceType.BILLING, + resourceId: dispute.id, + description: `Charge dispute ${status} for $${amount.toFixed(2)} (${dispute.reason})`, + metadata: { + entityType: entity.type, + entityId: entity.id, + ...(entity.type === 'organization' ? { organizationId: entity.id } : {}), + customerId, + amount, + currency: dispute.currency, + reason: dispute.reason, + status: dispute.status, + }, + }) + captureServerEvent(actorId, 'charge_disputed', { + amount, + currency: dispute.currency, + reason: dispute.reason, + status, + entity_type: entity.type, + reference_id: entity.id, + }) +} + /** * Handles charge.dispute.created - blocks the responsible user */ export async function handleChargeDispute(event: Stripe.Event): Promise { const dispute = event.data.object as Stripe.Dispute - const customerId = await getCustomerIdFromDispute(dispute) - if (!customerId) { - logger.warn('No customer ID found in dispute', { disputeId: dispute.id }) - return - } - - // Find user by stripeCustomerId (Pro plans) - const users = await db - .select({ id: user.id }) - .from(user) - .where(eq(user.stripeCustomerId, customerId)) - .limit(1) - - if (users.length > 0) { - await db - .update(userStats) - .set({ billingBlocked: true, billingBlockedReason: 'dispute' }) - .where(eq(userStats.userId, users[0].id)) - - logger.warn('Blocked user due to dispute', { - disputeId: dispute.id, - userId: users[0].id, - }) - return - } - - // Find subscription by stripeCustomerId (Team/Enterprise) - const subs = await db - .select({ referenceId: subscription.referenceId }) - .from(subscription) - .where(eq(subscription.stripeCustomerId, customerId)) - .limit(1) - - if (subs.length > 0) { - const orgId = subs[0].referenceId - const memberCount = await blockOrgMembers(orgId, 'dispute') - - if (memberCount > 0) { - logger.warn('Blocked all org members due to dispute', { - disputeId: dispute.id, - organizationId: orgId, - memberCount, - }) + await stripeWebhookIdempotency.executeWithIdempotency( + 'charge-dispute-opened', + event.id, + async () => { + const customerId = await getCustomerIdFromDispute(dispute) + if (!customerId) { + logger.warn('No customer ID found in dispute', { disputeId: dispute.id }) + return + } + + // Find user by stripeCustomerId (Pro plans) + const users = await db + .select({ id: user.id }) + .from(user) + .where(eq(user.stripeCustomerId, customerId)) + .limit(1) + + if (users.length > 0) { + await db + .update(userStats) + .set({ billingBlocked: true, billingBlockedReason: 'dispute' }) + .where(eq(userStats.userId, users[0].id)) + + logger.warn('Blocked user due to dispute', { + disputeId: dispute.id, + userId: users[0].id, + }) + + recordDisputeInstrumentation('opened', dispute, customerId, users[0].id, { + type: 'user', + id: users[0].id, + }) + return + } + + // Find subscription by stripeCustomerId (Team/Enterprise) + const subs = await db + .select({ referenceId: subscription.referenceId }) + .from(subscription) + .where(eq(subscription.stripeCustomerId, customerId)) + .limit(1) + + if (subs.length > 0) { + const orgId = subs[0].referenceId + const memberCount = await blockOrgMembers(orgId, 'dispute') + + if (memberCount > 0) { + logger.warn('Blocked all org members due to dispute', { + disputeId: dispute.id, + organizationId: orgId, + memberCount, + }) + } + + const actorId = (await getOrganizationOwnerId(orgId)) ?? orgId + recordDisputeInstrumentation('opened', dispute, customerId, actorId, { + type: 'organization', + id: orgId, + }) + } } - } + ) } /** @@ -81,59 +155,72 @@ export async function handleChargeDispute(event: Stripe.Event): Promise { export async function handleDisputeClosed(event: Stripe.Event): Promise { const dispute = event.data.object as Stripe.Dispute - // Only unblock if we won or the warning was closed without a full dispute - const shouldUnblock = dispute.status === 'won' || dispute.status === 'warning_closed' - - if (!shouldUnblock) { - logger.info('Dispute resolved against us, user remains blocked', { - disputeId: dispute.id, - status: dispute.status, - }) - return - } - - const customerId = await getCustomerIdFromDispute(dispute) - if (!customerId) { - return - } - - // Find and unblock user (Pro plans) - only if blocked for dispute, not other reasons - const users = await db - .select({ id: user.id }) - .from(user) - .where(eq(user.stripeCustomerId, customerId)) - .limit(1) - - if (users.length > 0) { - await db - .update(userStats) - .set({ billingBlocked: false, billingBlockedReason: null }) - .where(and(eq(userStats.userId, users[0].id), eq(userStats.billingBlockedReason, 'dispute'))) - - logger.info('Unblocked user after dispute resolved in our favor', { - disputeId: dispute.id, - userId: users[0].id, - status: dispute.status, - }) - return - } - - // Find and unblock all org members (Team/Enterprise) - consistent with payment success - const subs = await db - .select({ referenceId: subscription.referenceId }) - .from(subscription) - .where(eq(subscription.stripeCustomerId, customerId)) - .limit(1) - - if (subs.length > 0) { - const orgId = subs[0].referenceId - const memberCount = await unblockOrgMembers(orgId, 'dispute') - - logger.info('Unblocked all org members after dispute resolved in our favor', { - disputeId: dispute.id, - organizationId: orgId, - memberCount, - status: dispute.status, - }) - } + await stripeWebhookIdempotency.executeWithIdempotency( + 'charge-dispute-closed', + event.id, + async () => { + const customerId = await getCustomerIdFromDispute(dispute) + if (!customerId) { + return + } + + // Unblock only on won/warning_closed; a 'lost' dispute stays blocked. The close + // is audited in every case (dispute.status in metadata distinguishes the outcome). + const shouldUnblock = dispute.status === 'won' || dispute.status === 'warning_closed' + + const users = await db + .select({ id: user.id }) + .from(user) + .where(eq(user.stripeCustomerId, customerId)) + .limit(1) + + if (users.length > 0) { + if (shouldUnblock) { + await db + .update(userStats) + .set({ billingBlocked: false, billingBlockedReason: null }) + .where( + and(eq(userStats.userId, users[0].id), eq(userStats.billingBlockedReason, 'dispute')) + ) + } + logger.info('Dispute closed for user', { + disputeId: dispute.id, + userId: users[0].id, + status: dispute.status, + unblocked: shouldUnblock, + }) + + recordDisputeInstrumentation('closed', dispute, customerId, users[0].id, { + type: 'user', + id: users[0].id, + }) + return + } + + const subs = await db + .select({ referenceId: subscription.referenceId }) + .from(subscription) + .where(eq(subscription.stripeCustomerId, customerId)) + .limit(1) + + if (subs.length > 0) { + const orgId = subs[0].referenceId + if (shouldUnblock) { + await unblockOrgMembers(orgId, 'dispute') + } + logger.info('Dispute closed for organization', { + disputeId: dispute.id, + organizationId: orgId, + status: dispute.status, + unblocked: shouldUnblock, + }) + + const actorId = (await getOrganizationOwnerId(orgId)) ?? orgId + recordDisputeInstrumentation('closed', dispute, customerId, actorId, { + type: 'organization', + id: orgId, + }) + } + } + ) } diff --git a/apps/sim/lib/billing/webhooks/enterprise.ts b/apps/sim/lib/billing/webhooks/enterprise.ts index c717024001e..330bf0c45d0 100644 --- a/apps/sim/lib/billing/webhooks/enterprise.ts +++ b/apps/sim/lib/billing/webhooks/enterprise.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { organization, subscription, user } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -5,8 +6,10 @@ import { generateId } from '@sim/utils/id' import { eq } from 'drizzle-orm' import type Stripe from 'stripe' import { getEmailSubject, renderEnterpriseSubscriptionEmail } from '@/components/emails' +import { stripeWebhookIdempotency } from '@/lib/billing/webhooks/idempotency' import { sendEmail } from '@/lib/messaging/email/mailer' import { getFromEmailAddress } from '@/lib/messaging/email/utils' +import { captureServerEvent } from '@/lib/posthog/server' import { parseEnterpriseSubscriptionMetadata } from '../types' const logger = createLogger('BillingEnterprise') @@ -145,6 +148,51 @@ export async function handleManualEnterpriseSubscription(event: Stripe.Event) { note: 'Seats from metadata, Stripe quantity set to 1', }) + let actorId = referenceId + try { + const [provisioningUser] = await db + .select({ id: user.id }) + .from(user) + .where(eq(user.stripeCustomerId, stripeCustomerId)) + .limit(1) + actorId = provisioningUser?.id ?? referenceId + } catch (error) { + logger.warn('Failed to resolve enterprise provisioning actor; falling back to reference id', { + referenceId, + error, + }) + } + + // Dedupe against Stripe redelivery — the upsert above is idempotent, but + // recordAudit/captureServerEvent are pure appends and would double-record. + await stripeWebhookIdempotency.executeWithIdempotency( + 'enterprise-subscription-provisioned', + event.id, + async () => { + recordAudit({ + actorId, + action: AuditAction.ENTERPRISE_SUBSCRIPTION_PROVISIONED, + resourceType: AuditResourceType.SUBSCRIPTION, + resourceId: subscriptionRow.id, + description: `Enterprise subscription provisioned for organization ${referenceId} (${seats} seats)`, + metadata: { + organizationId: referenceId, + stripeCustomerId, + stripeSubscriptionId: stripeSubscription.id, + seats, + monthlyPrice, + currency: 'usd', + }, + }) + captureServerEvent(actorId, 'enterprise_subscription_created', { + reference_id: referenceId, + seats, + monthly_price: monthlyPrice, + currency: 'usd', + }) + } + ) + try { const userDetails = await db .select({ diff --git a/apps/sim/lib/billing/webhooks/invoices.test.ts b/apps/sim/lib/billing/webhooks/invoices.test.ts index 6dae02abb64..360b954b1c0 100644 --- a/apps/sim/lib/billing/webhooks/invoices.test.ts +++ b/apps/sim/lib/billing/webhooks/invoices.test.ts @@ -207,6 +207,7 @@ describe('invoice billing recovery', () => { }, ], }) + queueSelectResponse({ limitResult: [{ userId: 'owner-1' }] }) // resolveBillingActorId owner lookup (payment_failed instrumentation) queueSelectResponse({ whereResult: [{ userId: 'owner-1', role: 'owner' }], }) diff --git a/apps/sim/lib/billing/webhooks/invoices.ts b/apps/sim/lib/billing/webhooks/invoices.ts index 846c9aec758..52e8b423a3b 100644 --- a/apps/sim/lib/billing/webhooks/invoices.ts +++ b/apps/sim/lib/billing/webhooks/invoices.ts @@ -1,4 +1,5 @@ import { render } from '@react-email/render' +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { member, @@ -31,9 +32,35 @@ import { getBaseUrl } from '@/lib/core/utils/urls' import { sendEmail } from '@/lib/messaging/email/mailer' import { getHelpEmailAddress, getPersonalEmailFrom } from '@/lib/messaging/email/utils' import { quickValidateEmail } from '@/lib/messaging/email/validation' +import { captureServerEvent } from '@/lib/posthog/server' const logger = createLogger('StripeInvoiceWebhooks') +/** + * Resolve the audit actor for a billing event. For org-scoped subscriptions the + * actor is the org owner; for personal subscriptions it is the reference (user) + * id. The owner lookup is best-effort — a failure must never break webhook + * processing, so it falls back to the reference id (which the audit layer nulls + * to a system actor if it is not a real user id). + */ +async function resolveBillingActorId(isOrgScoped: boolean, referenceId: string): Promise { + if (!isOrgScoped) return referenceId + try { + const ownerRows = await db + .select({ userId: member.userId }) + .from(member) + .where(and(eq(member.organizationId, referenceId), eq(member.role, 'owner'))) + .limit(1) + return ownerRows[0]?.userId ?? referenceId + } catch (error) { + logger.warn('Failed to resolve billing actor; falling back to reference id', { + referenceId, + error, + }) + return referenceId + } +} + function getSubscriptionLinePeriod( invoice: Stripe.Invoice, stripeSubscriptionId: string @@ -712,6 +739,31 @@ async function handleCreditPurchaseSuccess(invoice: Stripe.Invoice): Promise = [] @@ -863,6 +915,34 @@ export async function handleInvoicePaymentSucceeded(event: Stripe.Event) { periodEnd: invoicePeriod?.periodEnd ?? null, }) } + + const entityType = subIsOrgScoped ? 'organization' : 'user' + const amountPaid = (invoice.amount_paid ?? 0) / 100 + const actorId = await resolveBillingActorId(subIsOrgScoped, sub.referenceId) + + recordAudit({ + actorId, + action: AuditAction.INVOICE_PAYMENT_SUCCEEDED, + resourceType: AuditResourceType.BILLING, + resourceId: invoice.id, + description: `Invoice payment of $${amountPaid.toFixed(2)} succeeded for ${entityType} ${sub.referenceId}`, + metadata: { + entityType, + referenceId: sub.referenceId, + ...(entityType === 'organization' ? { organizationId: sub.referenceId } : {}), + plan: sub.plan, + amount: amountPaid, + currency: invoice.currency ?? 'usd', + invoiceId: invoice.id, + }, + }) + captureServerEvent(actorId, 'payment_succeeded', { + plan: sub.plan ?? 'unknown', + amount: amountPaid, + currency: invoice.currency ?? 'usd', + entity_type: entityType, + reference_id: sub.referenceId, + }) } ) } catch (error) { @@ -915,6 +995,43 @@ export async function handleInvoicePaymentFailed(event: Stripe.Event) { resolutionSource, }) + // Best-effort instrumentation; its DB reads must never abort the + // user-blocking that follows, so the whole block is guarded. + try { + const failureOrgScoped = await isSubscriptionOrgScoped(sub) + const failureEntityType = failureOrgScoped ? 'organization' : 'user' + const failureActorId = await resolveBillingActorId(failureOrgScoped, sub.referenceId) + + recordAudit({ + actorId: failureActorId, + action: AuditAction.INVOICE_PAYMENT_FAILED, + resourceType: AuditResourceType.BILLING, + resourceId: invoice.id, + description: `Invoice payment of $${failedAmount.toFixed(2)} failed for ${failureEntityType} ${sub.referenceId} (attempt ${attemptCount})`, + metadata: { + entityType: failureEntityType, + referenceId: sub.referenceId, + ...(failureEntityType === 'organization' ? { organizationId: sub.referenceId } : {}), + plan: sub.plan, + amount: failedAmount, + currency: invoice.currency ?? 'usd', + attemptCount, + invoiceType: invoiceType ?? 'subscription', + invoiceId: invoice.id, + }, + }) + captureServerEvent(failureActorId, 'payment_failed', { + plan: sub.plan ?? 'unknown', + amount: failedAmount, + currency: invoice.currency ?? 'usd', + entity_type: failureEntityType, + reference_id: sub.referenceId, + attempt_count: attemptCount, + }) + } catch (auditError) { + logger.warn('Failed to record payment_failed instrumentation', { auditError }) + } + if (attemptCount >= 1) { logger.error('Payment failure - blocking users', { customerId, diff --git a/apps/sim/lib/billing/webhooks/subscription.ts b/apps/sim/lib/billing/webhooks/subscription.ts index 13b6b0517c9..321415adb23 100644 --- a/apps/sim/lib/billing/webhooks/subscription.ts +++ b/apps/sim/lib/billing/webhooks/subscription.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { member, subscription } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -18,6 +19,28 @@ import { detachOrganizationWorkspaces } from '@/lib/workspaces/organization-work const logger = createLogger('StripeSubscriptionWebhooks') +/** + * Resolve a real `user.id` to use as the audit actor for a subscription + * event. Org-scoped subscriptions resolve to the org owner; personally + * scoped subscriptions already reference a user. + */ +async function resolveSubscriptionActorId(referenceId: string): Promise { + try { + const rows = await db + .select({ userId: member.userId }) + .from(member) + .where(and(eq(member.organizationId, referenceId), eq(member.role, 'owner'))) + .limit(1) + return rows[0]?.userId ?? referenceId + } catch (error) { + logger.warn('Failed to resolve subscription actor; falling back to reference id', { + referenceId, + error, + }) + return referenceId + } +} + /** * Restore personal Pro subscriptions for every member of an organization * when the team/enterprise subscription ends. Errors propagate so the @@ -199,66 +222,104 @@ export async function handleOrganizationPlanDowngrade( /** * Handle new subscription creation - reset usage if transitioning from free to paid */ -export async function handleSubscriptionCreated(subscriptionData: { - id: string - referenceId: string - plan: string | null - status: string - periodStart?: Date | null - periodEnd?: Date | null -}) { +export async function handleSubscriptionCreated( + subscriptionData: { + id: string + referenceId: string + plan: string | null + status: string + periodStart?: Date | null + periodEnd?: Date | null + }, + stripeEventId?: string +) { + const idempotencyIdentifier = stripeEventId ?? `sub-created:${subscriptionData.id}` + try { - const otherActiveSubscriptions = await db - .select() - .from(subscription) - .where( - and( - eq(subscription.referenceId, subscriptionData.referenceId), - inArray(subscription.status, ENTITLED_SUBSCRIPTION_STATUSES), - ne(subscription.id, subscriptionData.id) // Exclude current subscription - ) - ) - - const wasFreePreviously = otherActiveSubscriptions.length === 0 - const isPaidPlan = isPaid(subscriptionData.plan) - - if (wasFreePreviously && isPaidPlan) { - logger.info('Detected free -> paid transition, resetting usage', { - subscriptionId: subscriptionData.id, - referenceId: subscriptionData.referenceId, - plan: subscriptionData.plan, - }) - - await resetUsageForSubscription({ - plan: subscriptionData.plan, - referenceId: subscriptionData.referenceId, - periodStart: subscriptionData.periodStart ?? null, - periodEnd: subscriptionData.periodEnd ?? null, - }) - - logger.info('Successfully reset usage for free -> paid transition', { - subscriptionId: subscriptionData.id, - referenceId: subscriptionData.referenceId, - plan: subscriptionData.plan, - }) - } else { - logger.info('No usage reset needed', { - subscriptionId: subscriptionData.id, - referenceId: subscriptionData.referenceId, - plan: subscriptionData.plan, - wasFreePreviously, - isPaidPlan, - otherActiveSubscriptionsCount: otherActiveSubscriptions.length, - }) - } + await stripeWebhookIdempotency.executeWithIdempotency( + 'subscription-created', + idempotencyIdentifier, + async () => { + const otherActiveSubscriptions = await db + .select() + .from(subscription) + .where( + and( + eq(subscription.referenceId, subscriptionData.referenceId), + inArray(subscription.status, ENTITLED_SUBSCRIPTION_STATUSES), + ne(subscription.id, subscriptionData.id) // Exclude current subscription + ) + ) - if (wasFreePreviously && isPaidPlan) { - captureServerEvent(subscriptionData.referenceId, 'subscription_created', { - plan: subscriptionData.plan ?? 'unknown', - status: subscriptionData.status, - reference_id: subscriptionData.referenceId, - }) - } + const wasFreePreviously = otherActiveSubscriptions.length === 0 + const isPaidPlan = isPaid(subscriptionData.plan) + + if (wasFreePreviously && isPaidPlan) { + logger.info('Detected free -> paid transition, resetting usage', { + subscriptionId: subscriptionData.id, + referenceId: subscriptionData.referenceId, + plan: subscriptionData.plan, + }) + + await resetUsageForSubscription({ + plan: subscriptionData.plan, + referenceId: subscriptionData.referenceId, + periodStart: subscriptionData.periodStart ?? null, + periodEnd: subscriptionData.periodEnd ?? null, + }) + + logger.info('Successfully reset usage for free -> paid transition', { + subscriptionId: subscriptionData.id, + referenceId: subscriptionData.referenceId, + plan: subscriptionData.plan, + }) + } else { + logger.info('No usage reset needed', { + subscriptionId: subscriptionData.id, + referenceId: subscriptionData.referenceId, + plan: subscriptionData.plan, + wasFreePreviously, + isPaidPlan, + otherActiveSubscriptionsCount: otherActiveSubscriptions.length, + }) + } + + if (wasFreePreviously && isPaidPlan) { + // Best-effort instrumentation; a transient DB error here must never abort + // the (already-committed) free -> paid usage reset above, so it's guarded. + try { + const actorId = await resolveSubscriptionActorId(subscriptionData.referenceId) + const isOrgScoped = await isSubscriptionOrgScoped({ + referenceId: subscriptionData.referenceId, + }) + recordAudit({ + actorId, + action: AuditAction.SUBSCRIPTION_CREATED, + resourceType: AuditResourceType.SUBSCRIPTION, + resourceId: subscriptionData.id, + description: `Subscription created on ${subscriptionData.plan ?? 'unknown'} plan for ${subscriptionData.referenceId}`, + metadata: { + plan: subscriptionData.plan, + status: subscriptionData.status, + referenceId: subscriptionData.referenceId, + ...(isOrgScoped ? { organizationId: subscriptionData.referenceId } : {}), + }, + }) + captureServerEvent(subscriptionData.referenceId, 'subscription_created', { + plan: subscriptionData.plan ?? 'unknown', + status: subscriptionData.status, + reference_id: subscriptionData.referenceId, + }) + } catch (instrumentationError) { + logger.warn('Failed to record subscription-created instrumentation', { + subscriptionId: subscriptionData.id, + referenceId: subscriptionData.referenceId, + error: instrumentationError, + }) + } + } + } + ) } catch (error) { logger.error('Failed to handle subscription creation usage reset', { subscriptionId: subscriptionData.id, @@ -329,6 +390,20 @@ export async function handleSubscriptionDeleted( ...dormantResult, }) + const enterpriseActorId = await resolveSubscriptionActorId(subscription.referenceId) + recordAudit({ + actorId: enterpriseActorId, + action: AuditAction.SUBSCRIPTION_CANCELLED, + resourceType: AuditResourceType.SUBSCRIPTION, + resourceId: subscription.id, + description: `Enterprise subscription cancelled for ${subscription.referenceId}`, + metadata: { + plan: subscription.plan, + referenceId: subscription.referenceId, + organizationId: subscription.referenceId, + kind: 'enterprise', + }, + }) captureServerEvent(subscription.referenceId, 'subscription_cancelled', { plan: subscription.plan ?? 'unknown', reference_id: subscription.referenceId, @@ -428,7 +503,8 @@ export async function handleSubscriptionDeleted( let membersSynced = 0 let workspacesDetached = 0 - if (await isSubscriptionOrgScoped(subscription)) { + const isOrgScoped = await isSubscriptionOrgScoped(subscription) + if (isOrgScoped) { const dormantResult = await transitionOrganizationToDormantState( subscription.referenceId, subscription.id @@ -451,6 +527,20 @@ export async function handleSubscriptionDeleted( workspacesDetached, }) + const cancelActorId = await resolveSubscriptionActorId(subscription.referenceId) + recordAudit({ + actorId: cancelActorId, + action: AuditAction.SUBSCRIPTION_CANCELLED, + resourceType: AuditResourceType.SUBSCRIPTION, + resourceId: subscription.id, + description: `Subscription cancelled on ${subscription.plan ?? 'unknown'} plan for ${subscription.referenceId}`, + metadata: { + plan: subscription.plan, + referenceId: subscription.referenceId, + totalOverage, + ...(isOrgScoped ? { organizationId: subscription.referenceId } : {}), + }, + }) captureServerEvent(subscription.referenceId, 'subscription_cancelled', { plan: subscription.plan ?? 'unknown', reference_id: subscription.referenceId, diff --git a/apps/sim/lib/copilot/chat/post.ts b/apps/sim/lib/copilot/chat/post.ts index ddd8ba36252..ca5943ae3b7 100644 --- a/apps/sim/lib/copilot/chat/post.ts +++ b/apps/sim/lib/copilot/chat/post.ts @@ -45,6 +45,7 @@ import type { ExecutionContext, OrchestratorResult } from '@/lib/copilot/request import { persistChatResources } from '@/lib/copilot/resources/persistence' import { prepareExecutionContext } from '@/lib/copilot/tools/handlers/context' import { getEffectiveDecryptedEnv } from '@/lib/environment/utils' +import { captureServerEvent } from '@/lib/posthog/server' import { resolveWorkflowIdForUser } from '@/lib/workflows/utils' import { getUserEntityPermissions, @@ -1070,6 +1071,19 @@ export async function handleUnifiedChatPost(req: NextRequest) { }, }) + captureServerEvent( + authenticatedUserId, + 'copilot_chat_sent', + { + ...(branch.kind === 'workflow' ? { workflow_id: branch.workflowId } : {}), + ...(workspaceId ? { workspace_id: workspaceId } : {}), + has_file_attachments: (body.fileAttachments?.length ?? 0) > 0, + has_contexts: normalizedContexts.length > 0, + mode: branch.kind === 'workflow' ? branch.mode : 'agent', + }, + workspaceId ? { groups: { workspace: workspaceId } } : undefined + ) + // Expose the root gen_ai.agent.execute span's trace identity to // the browser so subsequent HTTP calls (stop, abort, confirm, // SSE reconnect) can echo it back as `traceparent` — making diff --git a/apps/sim/lib/copilot/tools/handlers/management/manage-custom-tool.ts b/apps/sim/lib/copilot/tools/handlers/management/manage-custom-tool.ts index 9387e71f93e..1e22c7aabef 100644 --- a/apps/sim/lib/copilot/tools/handlers/management/manage-custom-tool.ts +++ b/apps/sim/lib/copilot/tools/handlers/management/manage-custom-tool.ts @@ -1,6 +1,8 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { createLogger } from '@sim/logger' import { getErrorMessage, toError } from '@sim/utils/errors' import type { ExecutionContext, ToolCallResult } from '@/lib/copilot/request/types' +import { captureServerEvent } from '@/lib/posthog/server' import { deleteCustomTool, getCustomToolById, @@ -100,6 +102,30 @@ export async function executeManageCustomTool( }) const created = resultTools.find((tool) => tool.title === title) + recordAudit({ + workspaceId, + actorId: context.userId, + action: AuditAction.CUSTOM_TOOL_CREATED, + resourceType: AuditResourceType.CUSTOM_TOOL, + resourceId: created?.id, + resourceName: title, + description: `Created custom tool "${title}"`, + metadata: { source: 'tool_input' }, + }) + if (created?.id) { + captureServerEvent( + context.userId, + 'custom_tool_saved', + { + tool_id: created.id, + workspace_id: workspaceId, + tool_name: title, + source: 'tool_input', + }, + { groups: { workspace: workspaceId } } + ) + } + return { success: true, output: { @@ -148,6 +174,28 @@ export async function executeManageCustomTool( userId: context.userId, }) + recordAudit({ + workspaceId, + actorId: context.userId, + action: AuditAction.CUSTOM_TOOL_UPDATED, + resourceType: AuditResourceType.CUSTOM_TOOL, + resourceId: params.toolId, + resourceName: title, + description: `Updated custom tool "${title}"`, + metadata: { source: 'tool_input' }, + }) + captureServerEvent( + context.userId, + 'custom_tool_saved', + { + tool_id: params.toolId, + workspace_id: workspaceId, + tool_name: title, + source: 'tool_input', + }, + { groups: { workspace: workspaceId } } + ) + return { success: true, output: { @@ -182,6 +230,26 @@ export async function executeManageCustomTool( } } + for (const toolId of deleted) { + recordAudit({ + workspaceId: workspaceId ?? null, + actorId: context.userId, + action: AuditAction.CUSTOM_TOOL_DELETED, + resourceType: AuditResourceType.CUSTOM_TOOL, + resourceId: toolId, + description: 'Deleted custom tool', + metadata: { source: 'tool_input' }, + }) + if (workspaceId) { + captureServerEvent( + context.userId, + 'custom_tool_deleted', + { tool_id: toolId, workspace_id: workspaceId, source: 'tool_input' }, + { groups: { workspace: workspaceId } } + ) + } + } + return { success: deleted.length > 0, output: { diff --git a/apps/sim/lib/copilot/tools/handlers/management/manage-skill.ts b/apps/sim/lib/copilot/tools/handlers/management/manage-skill.ts index a9e0da7ece0..dc551e382e3 100644 --- a/apps/sim/lib/copilot/tools/handlers/management/manage-skill.ts +++ b/apps/sim/lib/copilot/tools/handlers/management/manage-skill.ts @@ -1,6 +1,8 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { createLogger } from '@sim/logger' import { getErrorMessage, toError } from '@sim/utils/errors' import type { ExecutionContext, ToolCallResult } from '@/lib/copilot/request/types' +import { captureServerEvent } from '@/lib/posthog/server' import { deleteSkill, listSkills, upsertSkills } from '@/lib/workflows/skills/operations' const logger = createLogger('CopilotToolExecutor') @@ -79,6 +81,30 @@ export async function executeManageSkill( }) const created = resultSkills.find((s) => s.name === params.name) + recordAudit({ + workspaceId, + actorId: context.userId, + action: AuditAction.SKILL_CREATED, + resourceType: AuditResourceType.SKILL, + resourceId: created?.id, + resourceName: params.name, + description: `Created skill "${params.name}"`, + metadata: { source: 'tool_input' }, + }) + if (created?.id) { + captureServerEvent( + context.userId, + 'skill_created', + { + skill_id: created.id, + skill_name: params.name, + workspace_id: workspaceId, + source: 'tool_input', + }, + { groups: { workspace: workspaceId } } + ) + } + return { success: true, output: { @@ -121,6 +147,29 @@ export async function executeManageSkill( userId: context.userId, }) + const updatedName = params.name || found.name + recordAudit({ + workspaceId, + actorId: context.userId, + action: AuditAction.SKILL_UPDATED, + resourceType: AuditResourceType.SKILL, + resourceId: params.skillId, + resourceName: updatedName, + description: `Updated skill "${updatedName}"`, + metadata: { source: 'tool_input' }, + }) + captureServerEvent( + context.userId, + 'skill_updated', + { + skill_id: params.skillId, + skill_name: updatedName, + workspace_id: workspaceId, + source: 'tool_input', + }, + { groups: { workspace: workspaceId } } + ) + return { success: true, output: { @@ -143,6 +192,22 @@ export async function executeManageSkill( return { success: false, error: `Skill not found: ${params.skillId}` } } + recordAudit({ + workspaceId, + actorId: context.userId, + action: AuditAction.SKILL_DELETED, + resourceType: AuditResourceType.SKILL, + resourceId: params.skillId, + description: 'Deleted skill', + metadata: { source: 'tool_input' }, + }) + captureServerEvent( + context.userId, + 'skill_deleted', + { skill_id: params.skillId, workspace_id: workspaceId, source: 'tool_input' }, + { groups: { workspace: workspaceId } } + ) + return { success: true, output: { diff --git a/apps/sim/lib/copilot/tools/server/table/user-table.ts b/apps/sim/lib/copilot/tools/server/table/user-table.ts index 9e24963856a..540ea5f7d25 100644 --- a/apps/sim/lib/copilot/tools/server/table/user-table.ts +++ b/apps/sim/lib/copilot/tools/server/table/user-table.ts @@ -1,3 +1,4 @@ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { createLogger } from '@sim/logger' import { toError } from '@sim/utils/errors' import { generateId } from '@sim/utils/id' @@ -9,6 +10,7 @@ import { } from '@/lib/copilot/tools/server/base-tool' import { isTriggerDevEnabled } from '@/lib/core/config/env-flags' import { runDetached } from '@/lib/core/utils/background' +import { captureServerEvent } from '@/lib/posthog/server' import { buildAutoMapping, COLUMN_TYPES, @@ -373,6 +375,17 @@ export const userTableServerTool: BaseServerTool requestId ) + recordAudit({ + workspaceId, + actorId: context.userId, + action: AuditAction.TABLE_CREATED, + resourceType: AuditResourceType.TABLE, + resourceId: table.id, + resourceName: table.name, + description: `Created table "${table.name}"`, + metadata: { source: 'tool_input' }, + }) + return { success: true, message: `Created table "${table.name}" (${table.id})`, @@ -445,7 +458,13 @@ export const userTableServerTool: BaseServerTool const requestId = generateId().slice(0, 8) assertNotAborted() - await deleteTable(tableId, requestId) + await deleteTable(tableId, requestId, context.userId) + captureServerEvent( + context.userId, + 'table_deleted', + { table_id: tableId, workspace_id: workspaceId }, + { groups: { workspace: workspaceId } } + ) deleted.push(tableId) } @@ -879,6 +898,21 @@ export const userTableServerTool: BaseServerTool await releaseJobClaim(table.id, inlineDeleteId).catch(() => {}) } + recordAudit({ + workspaceId, + actorId: context.userId, + action: AuditAction.TABLE_UPDATED, + resourceType: AuditResourceType.TABLE, + resourceId: table.id, + resourceName: table.name, + description: `Deleted ${result.affectedCount} row(s) from table "${table.name}"`, + metadata: { + op: 'bulk_delete', + rowsDeleted: result.affectedCount, + source: 'tool_input', + }, + }) + return { success: true, message: `Deleted ${result.affectedCount} rows`, @@ -981,6 +1015,16 @@ export const userTableServerTool: BaseServerTool requestId ) + recordAudit({ + workspaceId, + actorId: context.userId, + action: AuditAction.TABLE_UPDATED, + resourceType: AuditResourceType.TABLE, + resourceId: args.tableId, + description: `Deleted ${result.deletedCount} row(s)`, + metadata: { op: 'bulk_delete', rowsDeleted: result.deletedCount, source: 'tool_input' }, + }) + return { success: true, message: `Deleted ${result.deletedCount} rows`, @@ -1515,7 +1559,7 @@ export const userTableServerTool: BaseServerTool const requestId = generateId().slice(0, 8) assertNotAborted() - const renamed = await renameTable(args.tableId, newName, requestId) + const renamed = await renameTable(args.tableId, newName, requestId, context.userId) return { success: true, diff --git a/apps/sim/lib/invitations/core.test.ts b/apps/sim/lib/invitations/core.test.ts index 02cfaa0b2cc..ff5551138bc 100644 --- a/apps/sim/lib/invitations/core.test.ts +++ b/apps/sim/lib/invitations/core.test.ts @@ -1,7 +1,7 @@ /** * @vitest-environment node */ -import { dbChainMock, dbChainMockFns, resetDbChainMock } from '@sim/testing' +import { auditMock, dbChainMock, dbChainMockFns, resetDbChainMock } from '@sim/testing' import { beforeEach, describe, expect, it, vi } from 'vitest' const { @@ -72,6 +72,8 @@ vi.mock('@/lib/credentials/environment', () => ({ syncWorkspaceEnvCredentials: mockSyncWorkspaceEnvCredentials, })) +vi.mock('@sim/audit', () => auditMock) + import { acceptInvitation } from '@/lib/invitations/core' function queueWhereResponses(responses: unknown[][]) { @@ -316,8 +318,84 @@ describe('acceptInvitation', () => { expect(mockReconcileOrganizationSeats).toHaveBeenCalledWith({ organizationId: 'org-new', reason: 'member-accepted-invite', + actorId: 'invitee-user', }) expect(mockSetActiveOrganizationForCurrentSession).toHaveBeenCalledWith('org-new') + expect(auditMock.recordAudit).toHaveBeenCalledWith( + expect.objectContaining({ + actorId: 'invitee-user', + action: auditMock.AuditAction.ORG_MEMBER_ADDED, + resourceType: auditMock.AuditResourceType.ORGANIZATION, + resourceId: 'org-new', + metadata: expect.objectContaining({ invitationId: 'inv-1', memberRole: 'member' }), + }) + ) + }) + + it('does not record an ORG_MEMBER_ADDED audit for a user who is already a member', async () => { + mockGetWorkspaceWithOwner.mockResolvedValueOnce({ + id: 'workspace-1', + name: 'Workspace', + ownerId: 'owner-1', + organizationId: 'org-1', + workspaceMode: 'organization', + billedAccountUserId: 'owner-1', + }) + mockEnsureTeamOrganizationForAcceptance.mockResolvedValueOnce({ + success: true, + organizationId: 'org-1', + fixedSeats: false, + }) + mockEnsureUserInOrganization.mockResolvedValueOnce({ + success: true, + alreadyMember: true, + billingActions: { proUsageSnapshotted: false, proCancelledAtPeriodEnd: false }, + }) + + queueWhereResponses([ + [ + { + id: 'inv-1', + kind: 'workspace', + email: 'invitee@example.com', + organizationId: 'org-1', + membershipIntent: 'internal', + inviterId: 'owner-1', + role: 'member', + status: 'pending', + token: 'tok-1', + expiresAt: new Date(Date.now() + 60_000), + createdAt: new Date(), + updatedAt: new Date(), + }, + ], + [ + { + id: 'grant-1', + workspaceId: 'workspace-1', + permission: 'write', + workspaceName: 'Workspace', + }, + ], + [{ name: 'Acme' }], + [{ name: 'Owner', email: 'owner@example.com' }], + [{ id: 'member-1' }], + ]) + + const result = await acceptInvitation({ + userId: 'invitee-user', + userEmail: 'invitee@example.com', + invitationId: 'inv-1', + token: 'tok-1', + }) + + expect(result.success).toBe(true) + if (result.success) { + expect(result.membershipAlreadyExists).toBe(true) + } + expect(auditMock.recordAudit).not.toHaveBeenCalledWith( + expect.objectContaining({ action: auditMock.AuditAction.ORG_MEMBER_ADDED }) + ) }) it('does not reconcile seats for an Enterprise organization (fixed seats)', async () => { diff --git a/apps/sim/lib/invitations/core.ts b/apps/sim/lib/invitations/core.ts index ae99f6f3b11..2e245865831 100644 --- a/apps/sim/lib/invitations/core.ts +++ b/apps/sim/lib/invitations/core.ts @@ -374,6 +374,25 @@ export async function acceptInvitation( } else { membershipAlreadyExists = membershipResult.alreadyMember + if (!membershipResult.alreadyMember) { + const memberRole = inv.role || 'member' + recordAudit({ + workspaceId: null, + actorId: input.userId, + action: AuditAction.ORG_MEMBER_ADDED, + resourceType: AuditResourceType.ORGANIZATION, + resourceId: targetOrganizationId, + description: `Joined organization as ${memberRole} via invite acceptance`, + metadata: { invitationId: inv.id, memberRole }, + }) + captureServerEvent( + input.userId, + 'org_member_added', + { organization_id: targetOrganizationId, member_role: memberRole }, + { groups: { organization: targetOrganizationId } } + ) + } + // Grow the paid seat count to match the new member and push the charge // to Stripe asynchronously (Team plans only; Enterprise seats are // fixed). Best-effort: the member is already in, and a transient @@ -381,35 +400,11 @@ export async function acceptInvitation( // removal path's seat accounting. if (billingManagesSeats && !membershipResult.alreadyMember) { try { - const seatResult = await reconcileOrganizationSeats({ + await reconcileOrganizationSeats({ organizationId: targetOrganizationId, reason: 'member-accepted-invite', + actorId: input.userId, }) - - if (seatResult.changed) { - const previousSeats = seatResult.previousSeats ?? 0 - const seats = seatResult.seats ?? 0 - recordAudit({ - workspaceId: null, - actorId: input.userId, - action: AuditAction.ORG_SEAT_PROVISIONED, - resourceType: AuditResourceType.ORGANIZATION, - resourceId: targetOrganizationId, - description: `Provisioned ${seats} seat(s) after invite acceptance`, - metadata: { - invitationId: inv.id, - previousSeats, - seats, - reason: 'member-accepted-invite', - }, - }) - captureServerEvent(input.userId, 'seats_provisioned', { - organization_id: targetOrganizationId, - previous_seats: previousSeats, - seats, - reason: 'member-accepted-invite', - }) - } } catch (seatError) { logger.error('Failed to reconcile organization seats after invite acceptance', { userId: input.userId, diff --git a/apps/sim/lib/knowledge/documents/service.ts b/apps/sim/lib/knowledge/documents/service.ts index 599f69828de..56300b1d837 100644 --- a/apps/sim/lib/knowledge/documents/service.ts +++ b/apps/sim/lib/knowledge/documents/service.ts @@ -14,7 +14,14 @@ import { generateId } from '@sim/utils/id' import { tasks } from '@trigger.dev/sdk' import { and, asc, desc, eq, inArray, isNotNull, isNull, type SQL, sql } from 'drizzle-orm' import { checkActorUsageLimits } from '@/lib/billing/calculations/usage-monitor' +import type { HighestPrioritySubscription } from '@/lib/billing/core/plan' +import { getHighestPrioritySubscription } from '@/lib/billing/core/subscription' import { recordUsage } from '@/lib/billing/core/usage-log' +import { + checkStorageQuota, + decrementStorageUsageInTx, + incrementStorageUsage, +} from '@/lib/billing/storage' import { checkAndBillOverageThreshold } from '@/lib/billing/threshold-billing' import type { ChunkingStrategy, StrategyOptions } from '@/lib/chunkers/types' import { resolveTriggerRegion } from '@/lib/core/async-jobs/region' @@ -876,7 +883,9 @@ export async function createDocumentRecords( requestId: string, uploadedBy: string | null = null ): Promise { - return await db.transaction(async (tx) => { + let storageBilling: { userId: string; workspaceId: string | null; bytes: number } | null = null + + const returnData = await db.transaction(async (tx) => { await tx.execute(sql`SELECT 1 FROM knowledge_base WHERE id = ${knowledgeBaseId} FOR UPDATE`) const kb = await tx @@ -902,6 +911,16 @@ export async function createDocumentRecords( tx ) + const billedUserId = uploadedBy ?? kb[0].userId + const totalBytes = documents.reduce((sum, docData) => sum + (docData.fileSize || 0), 0) + if (totalBytes > 0) { + const quotaCheck = await checkStorageQuota(billedUserId, totalBytes) + if (!quotaCheck.allowed) { + throw new Error(quotaCheck.error || 'Storage limit exceeded') + } + storageBilling = { userId: billedUserId, workspaceId: kbWorkspaceId, bytes: totalBytes } + } + // One load per batch (was N+1); skip entirely if no doc carries tags. const hasTaggedDocs = documents.some((d) => d.documentTagsData) const tagDefinitions = hasTaggedDocs @@ -990,6 +1009,17 @@ export async function createDocumentRecords( return returnData }) + + if (storageBilling) { + const billing: { userId: string; workspaceId: string | null; bytes: number } = storageBilling + try { + await incrementStorageUsage(billing.userId, billing.bytes, billing.workspaceId ?? undefined) + } catch (storageError) { + logger.error(`[${requestId}] Failed to update storage tracking:`, storageError) + } + } + + return returnData } export async function getDocuments( @@ -1308,6 +1338,8 @@ export async function createSingleDocument( ...processedTags, } + let storageBilling: { userId: string; workspaceId: string | null; bytes: number } | null = null + await db.transaction(async (tx) => { await tx.execute(sql`SELECT 1 FROM knowledge_base WHERE id = ${knowledgeBaseId} FOR UPDATE`) @@ -1333,6 +1365,19 @@ export async function createSingleDocument( tx ) + const billedUserId = uploadedBy ?? kb[0].userId + if (documentData.fileSize > 0) { + const quotaCheck = await checkStorageQuota(billedUserId, documentData.fileSize) + if (!quotaCheck.allowed) { + throw new Error(quotaCheck.error || 'Storage limit exceeded') + } + storageBilling = { + userId: billedUserId, + workspaceId: kb[0].workspaceId, + bytes: documentData.fileSize, + } + } + await tx.insert(document).values(newDocument) await tx @@ -1340,6 +1385,16 @@ export async function createSingleDocument( .set({ updatedAt: now }) .where(eq(knowledgeBase.id, knowledgeBaseId)) }) + + if (storageBilling) { + const billing: { userId: string; workspaceId: string | null; bytes: number } = storageBilling + try { + await incrementStorageUsage(billing.userId, billing.bytes, billing.workspaceId ?? undefined) + } catch (storageError) { + logger.error(`[${requestId}] Failed to update storage tracking:`, storageError) + } + } + logger.info(`[${requestId}] Document created: ${documentId} in knowledge base ${knowledgeBaseId}`) return newDocument as { @@ -1987,7 +2042,11 @@ export async function hardDeleteDocuments( .select({ id: document.id, fileUrl: document.fileUrl, + fileSize: document.fileSize, + uploadedBy: document.uploadedBy, + connectorId: document.connectorId, workspaceId: knowledgeBase.workspaceId, + kbUserId: knowledgeBase.userId, }) .from(document) .innerJoin(knowledgeBase, eq(document.knowledgeBaseId, knowledgeBase.id)) @@ -1999,18 +2058,51 @@ export async function hardDeleteDocuments( const existingIds = documentsToDelete.map((doc) => doc.id) + // Resolve owner subscriptions before the transaction (reads). Connector-synced + // documents are never metered at ingest, so they are excluded from billing here. + const candidateUserIds = new Set() + for (const doc of documentsToDelete) { + if (doc.connectorId || doc.fileSize <= 0) continue + const billedUserId = doc.uploadedBy ?? doc.kbUserId + if (billedUserId) candidateUserIds.add(billedUserId) + } + const subByUser = new Map() + for (const billedUserId of candidateUserIds) { + subByUser.set(billedUserId, await getHighestPrioritySubscription(billedUserId)) + } + + // Key everything off the rows this tx actually deleted (`returning()`) so a + // concurrent delete that claimed some ids first isn't double-counted here. + let deletedDocs: typeof documentsToDelete = [] await db.transaction(async (tx) => { await tx.delete(embedding).where(inArray(embedding.documentId, existingIds)) - await tx.delete(document).where(inArray(document.id, existingIds)) + const deletedRows = await tx + .delete(document) + .where(inArray(document.id, existingIds)) + .returning({ id: document.id }) + + const deletedIds = new Set(deletedRows.map((row) => row.id)) + deletedDocs = documentsToDelete.filter((doc) => deletedIds.has(doc.id)) + + const bytesByUser = new Map() + for (const doc of deletedDocs) { + if (doc.connectorId || doc.fileSize <= 0) continue + const billedUserId = doc.uploadedBy ?? doc.kbUserId + if (!billedUserId) continue + bytesByUser.set(billedUserId, (bytesByUser.get(billedUserId) ?? 0) + doc.fileSize) + } + for (const [billedUserId, bytes] of bytesByUser) { + await decrementStorageUsageInTx(tx, subByUser.get(billedUserId) ?? null, billedUserId, bytes) + } }) - await deleteDocumentStorageFiles(documentsToDelete, requestId) + await deleteDocumentStorageFiles(deletedDocs, requestId) - logger.info(`[${requestId}] Hard deleted ${existingIds.length} documents`, { - documentIds: existingIds, + logger.info(`[${requestId}] Hard deleted ${deletedDocs.length} documents`, { + documentIds: deletedDocs.map((doc) => doc.id), }) - return existingIds.length + return deletedDocs.length } export async function deleteDocument( diff --git a/apps/sim/lib/posthog/events.ts b/apps/sim/lib/posthog/events.ts index a408325000e..a3765d44eb0 100644 --- a/apps/sim/lib/posthog/events.ts +++ b/apps/sim/lib/posthog/events.ts @@ -292,14 +292,16 @@ export interface PostHogEventMap { } api_key_created: { - workspace_id: string + workspace_id?: string key_name: string + scope?: 'workspace' | 'personal' source?: 'settings' | 'deploy_modal' } api_key_revoked: { - workspace_id: string + workspace_id?: string key_name: string + scope?: 'workspace' | 'personal' } mcp_server_connected: { @@ -339,13 +341,15 @@ export interface PostHogEventMap { } environment_updated: { - workspace_id: string + workspace_id?: string key_count: number + scope?: 'workspace' | 'personal' } environment_deleted: { - workspace_id: string + workspace_id?: string key_count: number + scope?: 'workspace' | 'personal' } seats_provisioned: { @@ -356,8 +360,8 @@ export interface PostHogEventMap { } copilot_chat_sent: { - workflow_id: string - workspace_id: string + workflow_id?: string + workspace_id?: string has_file_attachments: boolean has_contexts: boolean mode: string @@ -443,7 +447,7 @@ export interface PostHogEventMap { } file_downloaded: { - workspace_id: string + workspace_id?: string is_bulk: boolean file_count: number } @@ -653,6 +657,119 @@ export interface PostHogEventMap { file_name: string file_size: number } + + organization_created: { + organization_id: string + name?: string + } + + /** Org membership lifecycle (distinct from workspace-level membership). */ + org_member_added: { + organization_id: string + member_role: string + } + + org_member_removed: { + organization_id: string + is_self_removal: boolean + } + + org_member_role_changed: { + organization_id: string + new_role: string + } + + /** Org seat count decreased (member removal / drift reconciliation). */ + seats_deprovisioned: { + organization_id: string + previous_seats: number + seats: number + reason: string + } + + /** A workflow's edit-lock was toggled on or off. */ + workflow_lock_toggled: { + workflow_id: string + workspace_id?: string + locked: boolean + } + + workflow_schedule_created: { + workflow_id: string + workspace_id: string + } + + workflow_schedule_deleted: { + workflow_id: string + workspace_id: string + } + + /** A stored credential's plaintext secret was deliberately retrieved via the token API. */ + credential_used: { + credential_type: 'oauth' | 'env_workspace' | 'env_personal' | 'service_account' + provider_id: string + workspace_id?: string + } + + payment_succeeded: { + plan: string + amount: number + currency: string + entity_type: 'user' | 'organization' + reference_id: string + } + + payment_failed: { + plan: string + amount: number + currency: string + entity_type: 'user' | 'organization' + reference_id: string + attempt_count: number + } + + overage_billed: { + amount: number + currency: string + entity_type: 'user' | 'organization' + reference_id: string + settled_via: 'stripe' | 'credits' + } + + credits_purchased: { + amount: number + currency: string + entity_type: 'user' | 'organization' + reference_id: string + } + + charge_disputed: { + amount: number + currency: string + reason: string + status: 'opened' | 'closed' + entity_type: 'user' | 'organization' + reference_id: string + } + + plan_converted: { + organization_id: string + from_plan: string + to_plan: string + } + + enterprise_subscription_created: { + reference_id: string + seats: number + monthly_price: number + currency: string + } + + subscription_transferred: { + subscription_id: string + from_entity: 'user' | 'organization' + to_entity: 'user' | 'organization' + } } export type PostHogEventName = keyof PostHogEventMap diff --git a/apps/sim/lib/table/import-data.ts b/apps/sim/lib/table/import-data.ts index 52343113892..01740624e86 100644 --- a/apps/sim/lib/table/import-data.ts +++ b/apps/sim/lib/table/import-data.ts @@ -14,7 +14,7 @@ import { CSV_MAX_BATCH_SIZE } from '@/lib/table/import' import { nKeysBetween } from '@/lib/table/order-key' import { acquireRowOrderLock } from '@/lib/table/rows/ordering' import { batchInsertRowsWithTx, replaceTableRowsWithTx } from '@/lib/table/rows/service' -import { addTableColumnsWithTx } from '@/lib/table/service' +import { addTableColumnsWithTx, auditTableColumnsAdded } from '@/lib/table/service' import type { ReplaceRowsResult, RowData, @@ -124,9 +124,18 @@ export async function deleteAllTableRows(tableId: string): Promise { export async function addImportColumns( table: TableDefinition, additions: { name: string; type: string }[], - requestId: string + requestId: string, + actingUserId?: string ): Promise { - return db.transaction((trx) => addTableColumnsWithTx(trx, table, additions, requestId)) + const updated = await db.transaction((trx) => + addTableColumnsWithTx(trx, table, additions, requestId) + ) + auditTableColumnsAdded( + table, + additions.map((c) => c.name), + actingUserId + ) + return updated } /** Overwrites a table's schema during an import (used when inferring columns from the file). */ @@ -179,6 +188,14 @@ export async function importAppendRows( } return { inserted, table: working } }) + // Audit post-commit — a mid-import rollback means the columns weren't added. + if (additions.length > 0) { + auditTableColumnsAdded( + table, + additions.map((c) => c.name), + ctx.userId + ) + } notifyTableRowUsage({ workspaceId: ctx.workspaceId, currentRowCount: table.rowCount, @@ -218,6 +235,14 @@ export async function importReplaceRows( requestId ) }) + // Audit post-commit (see importAppendRows). + if (additions.length > 0) { + auditTableColumnsAdded( + table, + additions.map((c) => c.name), + data.userId + ) + } notifyTableRowUsage({ workspaceId: data.workspaceId, currentRowCount: 0, diff --git a/apps/sim/lib/table/import-runner.ts b/apps/sim/lib/table/import-runner.ts index 31086f34743..64694f97bf3 100644 --- a/apps/sim/lib/table/import-runner.ts +++ b/apps/sim/lib/table/import-runner.ts @@ -179,7 +179,7 @@ export async function runTableImport(payload: TableImportPayload): Promise additions.push({ name: columnName, type: inferColumnType(sample.map((r) => r[header])) }) updatedMapping[header] = columnName } - const updated = await addImportColumns(table, additions, requestId) + const updated = await addImportColumns(table, additions, requestId, userId) targetSchema = updated.schema effectiveMapping = updatedMapping } diff --git a/apps/sim/lib/table/service.ts b/apps/sim/lib/table/service.ts index 0f70cbab1aa..90f3c6f6e7a 100644 --- a/apps/sim/lib/table/service.ts +++ b/apps/sim/lib/table/service.ts @@ -7,6 +7,7 @@ * Note: API routes have their own implementations for HTTP-specific concerns. */ +import { AuditAction, AuditResourceType, recordAudit } from '@sim/audit' import { db } from '@sim/db' import { tableJobs, userTableDefinitions, userTableRows } from '@sim/db/schema' import { createLogger } from '@sim/logger' @@ -486,6 +487,31 @@ export async function addTableColumnsWithTx( } } +/** + * Records the "columns added" audit for a table. The column add shares a + * transaction with the import's row inserts, so the caller MUST emit this only + * AFTER that transaction commits — auditing inside the tx would log a false + * success if a later row batch rolls it back. Skipped when no actor resolves. + */ +export function auditTableColumnsAdded( + table: TableDefinition, + columnNames: string[], + actingUserId?: string +): void { + const actorId = actingUserId ?? table.createdBy + if (!actorId || columnNames.length === 0) return + recordAudit({ + workspaceId: table.workspaceId ?? null, + actorId, + action: AuditAction.TABLE_UPDATED, + resourceType: AuditResourceType.TABLE, + resourceId: table.id, + resourceName: table.name, + description: `Added ${columnNames.length} column(s) to table "${table.name}"`, + metadata: { op: 'add_columns', columns: columnNames }, + }) +} + /** * Renames a table. * @@ -498,7 +524,8 @@ export async function addTableColumnsWithTx( export async function renameTable( tableId: string, newName: string, - requestId: string + requestId: string, + actingUserId?: string ): Promise<{ id: string; name: string }> { const nameValidation = validateTableName(newName) if (!nameValidation.valid) { @@ -511,12 +538,31 @@ export async function renameTable( .update(userTableDefinitions) .set({ name: newName, updatedAt: now }) .where(eq(userTableDefinitions.id, tableId)) - .returning({ id: userTableDefinitions.id }) + .returning({ + id: userTableDefinitions.id, + createdBy: userTableDefinitions.createdBy, + workspaceId: userTableDefinitions.workspaceId, + }) if (result.length === 0) { throw new Error(`Table ${tableId} not found`) } + const { createdBy, workspaceId } = result[0] + const renameActorId = actingUserId ?? createdBy + if (renameActorId) { + recordAudit({ + workspaceId: workspaceId ?? null, + actorId: renameActorId, + action: AuditAction.TABLE_UPDATED, + resourceType: AuditResourceType.TABLE, + resourceId: tableId, + resourceName: newName, + description: `Renamed table to "${newName}"`, + metadata: { op: 'rename' }, + }) + } + logger.info(`[${requestId}] Renamed table ${tableId} to "${newName}"`) return { id: tableId, name: newName } } catch (error: unknown) { @@ -598,11 +644,36 @@ export async function updateTableMetadata( * @param tableId - Table ID to delete * @param requestId - Request ID for logging */ -export async function deleteTable(tableId: string, requestId: string): Promise { - await db +export async function deleteTable( + tableId: string, + requestId: string, + actingUserId?: string +): Promise { + const now = new Date() + const result = await db .update(userTableDefinitions) - .set({ archivedAt: new Date(), updatedAt: new Date() }) - .where(eq(userTableDefinitions.id, tableId)) + .set({ archivedAt: now, updatedAt: now }) + .where(and(eq(userTableDefinitions.id, tableId), isNull(userTableDefinitions.archivedAt))) + .returning({ + createdBy: userTableDefinitions.createdBy, + workspaceId: userTableDefinitions.workspaceId, + name: userTableDefinitions.name, + }) + + const deleted = result[0] + // Audit only genuine user deletes — rollback callers omit `actingUserId`. The + // caller emits the `table_deleted` PostHog event, so it is not duplicated here. + if (deleted && actingUserId) { + recordAudit({ + workspaceId: deleted.workspaceId ?? null, + actorId: actingUserId, + action: AuditAction.TABLE_DELETED, + resourceType: AuditResourceType.TABLE, + resourceId: tableId, + resourceName: deleted.name, + description: `Archived table "${deleted.name}"`, + }) + } logger.info(`[${requestId}] Archived table ${tableId}`) } diff --git a/apps/sim/lib/workflows/orchestration/workflow-lifecycle.ts b/apps/sim/lib/workflows/orchestration/workflow-lifecycle.ts index d3c38cdbbb0..15917517fd4 100644 --- a/apps/sim/lib/workflows/orchestration/workflow-lifecycle.ts +++ b/apps/sim/lib/workflows/orchestration/workflow-lifecycle.ts @@ -7,6 +7,7 @@ import { toError } from '@sim/utils/errors' import { generateId } from '@sim/utils/id' import { and, eq, isNull, min, ne } from 'drizzle-orm' import { generateRequestId } from '@/lib/core/utils/request' +import { captureServerEvent } from '@/lib/posthog/server' import { buildDefaultWorkflowArtifacts } from '@/lib/workflows/defaults' import { archiveWorkflow, restoreWorkflow } from '@/lib/workflows/lifecycle' import type { OrchestrationErrorCode } from '@/lib/workflows/orchestration/types' @@ -51,6 +52,8 @@ export interface PerformUpdateWorkflowParams { workspaceId: string currentName: string currentFolderId?: string | null + /** Prior `locked` value, used to detect lock-state transitions for instrumentation. */ + currentLocked?: boolean | null name?: string description?: string | null folderId?: string | null @@ -338,6 +341,31 @@ export async function performUpdateWorkflow( updates: updateData, }) + if (params.locked !== undefined && params.locked !== (params.currentLocked ?? false)) { + const workspaceId = updatedWorkflow.workspaceId + recordAudit({ + workspaceId: workspaceId ?? null, + actorId: params.userId, + action: params.locked ? AuditAction.WORKFLOW_LOCKED : AuditAction.WORKFLOW_UNLOCKED, + resourceType: AuditResourceType.WORKFLOW, + resourceId: params.workflowId, + resourceName: updatedWorkflow.name, + description: `${params.locked ? 'Locked' : 'Unlocked'} workflow "${updatedWorkflow.name}"`, + metadata: { locked: params.locked }, + }) + + captureServerEvent( + params.userId, + 'workflow_lock_toggled', + { + workflow_id: params.workflowId, + ...(workspaceId ? { workspace_id: workspaceId } : {}), + locked: params.locked, + }, + workspaceId ? { groups: { workspace: workspaceId } } : undefined + ) + } + return { success: true, workflow: updatedWorkflow } } catch (error) { logger.error(`[${requestId}] Failed to update workflow ${params.workflowId}`, { error }) diff --git a/apps/sim/lib/workflows/schedules/orchestration.ts b/apps/sim/lib/workflows/schedules/orchestration.ts index 36a9662e1ee..47da9c5e71d 100644 --- a/apps/sim/lib/workflows/schedules/orchestration.ts +++ b/apps/sim/lib/workflows/schedules/orchestration.ts @@ -255,6 +255,15 @@ export async function performCreateJob( { groups: { workspace: params.workspaceId } } ) + if (schedule?.workflowId) { + captureServerEvent( + params.userId, + 'workflow_schedule_created', + { workflow_id: schedule.workflowId, workspace_id: params.workspaceId }, + { groups: { workspace: params.workspaceId } } + ) + } + return { success: true, schedule, humanReadable } } catch (error) { logger.error('Failed to create job', { error: toError(error).message }) @@ -503,6 +512,15 @@ export async function performDeleteJob( { groups: { workspace: params.workspaceId } } ) + if (job.workflowId) { + captureServerEvent( + params.userId, + 'workflow_schedule_deleted', + { workflow_id: job.workflowId, workspace_id: params.workspaceId }, + { groups: { workspace: params.workspaceId } } + ) + } + return { success: true, schedule: job } } diff --git a/packages/audit/src/log.test.ts b/packages/audit/src/log.test.ts index 7f294499fb6..e47485ee085 100644 --- a/packages/audit/src/log.test.ts +++ b/packages/audit/src/log.test.ts @@ -318,12 +318,12 @@ describe('recordAudit', () => { ) }) - it('inserts without actor info when lookup fails', async () => { + it('nulls the actor FK when the lookup throws so the insert cannot FK-violate', async () => { dbChainMockFns.limit.mockRejectedValue(new Error('DB down')) recordAudit({ workspaceId: 'ws-1', - actorId: 'user-1', + actorId: 'admin-api', action: AuditAction.KNOWLEDGE_BASE_CREATED, resourceType: AuditResourceType.KNOWLEDGE_BASE, }) @@ -333,14 +333,14 @@ describe('recordAudit', () => { expect(dbChainMockFns.select).toHaveBeenCalledTimes(1) expect(dbChainMockFns.values).toHaveBeenCalledWith( expect.objectContaining({ - actorId: 'user-1', - actorName: undefined, + actorId: null, + actorName: 'Admin API', actorEmail: undefined, }) ) }) - it('sets actor info to null when user is not found', async () => { + it('nulls the actor FK and labels it System when the user is not found', async () => { dbChainMockFns.limit.mockResolvedValue([]) recordAudit({ @@ -355,8 +355,29 @@ describe('recordAudit', () => { expect(dbChainMockFns.select).toHaveBeenCalledTimes(1) expect(dbChainMockFns.values).toHaveBeenCalledWith( expect.objectContaining({ - actorId: 'deleted-user', - actorName: undefined, + actorId: null, + actorName: 'System', + actorEmail: undefined, + }) + ) + }) + + it('labels the admin-api system actor while nulling its FK', async () => { + dbChainMockFns.limit.mockResolvedValue([]) + + recordAudit({ + workspaceId: 'ws-1', + actorId: 'admin-api', + action: AuditAction.WORKFLOW_DELETED, + resourceType: AuditResourceType.WORKFLOW, + }) + + await flush() + + expect(dbChainMockFns.values).toHaveBeenCalledWith( + expect.objectContaining({ + actorId: null, + actorName: 'Admin API', actorEmail: undefined, }) ) diff --git a/packages/audit/src/log.ts b/packages/audit/src/log.ts index 4ee040ba43a..3a9a6ef66d4 100644 --- a/packages/audit/src/log.ts +++ b/packages/audit/src/log.ts @@ -8,7 +8,13 @@ const logger = createLogger('AuditLog') interface AuditLogParams { workspaceId?: string | null - actorId: string + /** + * The acting user's id (FK to `user.id`). Pass `null` for genuinely + * actor-less events such as anonymous public-share access — the row is then + * persisted with a null actor and the forensic context (ip/user-agent, + * metadata) carries the trail instead. + */ + actorId: string | null action: AuditActionType resourceType: AuditResourceTypeValue resourceId?: string @@ -44,24 +50,41 @@ async function insertAuditLog(params: AuditLogParams): Promise { let { actorName, actorEmail } = params - if (actorName === undefined && actorEmail === undefined && params.actorId) { + /** + * `actorId` is a FK to `user.id`. System actors (e.g. the shared `'admin-api'` + * key) have no user row, so we persist a null FK with a readable label instead + * of letting the insert fail. When the caller already supplies actorName/Email + * we trust the id is a real user and skip the lookup. + */ + let actorId: string | null = params.actorId + + if (actorName === undefined && actorEmail === undefined && actorId) { try { const [row] = await db .select({ name: user.name, email: user.email }) .from(user) - .where(eq(user.id, params.actorId)) + .where(eq(user.id, actorId)) .limit(1) - actorName = row?.name ?? undefined - actorEmail = row?.email ?? undefined + if (row) { + actorName = row.name ?? undefined + actorEmail = row.email ?? undefined + } else { + actorName = actorId === 'admin-api' ? 'Admin API' : 'System' + actorId = null + } } catch (error) { - logger.warn('Failed to resolve actor info', { error, actorId: params.actorId }) + // Couldn't confirm the user exists — null the FK so the insert can't violate + // it (system actor like 'admin-api', or a deleted user); the label remains. + logger.warn('Failed to resolve actor info', { error, actorId }) + actorName = actorId === 'admin-api' ? 'Admin API' : 'System' + actorId = null } } await db.insert(auditLog).values({ id: generateShortId(), workspaceId: params.workspaceId || null, - actorId: params.actorId, + actorId, action: params.action, resourceType: params.resourceType, resourceId: params.resourceId, diff --git a/packages/audit/src/types.ts b/packages/audit/src/types.ts index 9d58bea4ddb..22c2a363a31 100644 --- a/packages/audit/src/types.ts +++ b/packages/audit/src/types.ts @@ -38,6 +38,18 @@ export const AuditAction = { // Billing CREDIT_PURCHASED: 'credit.purchased', + CREDIT_ISSUED: 'credit.issued', + INVOICE_PAYMENT_SUCCEEDED: 'invoice.payment_succeeded', + INVOICE_PAYMENT_FAILED: 'invoice.payment_failed', + OVERAGE_BILLED: 'billing.overage_billed', + CHARGE_DISPUTE_OPENED: 'charge.dispute_opened', + CHARGE_DISPUTE_CLOSED: 'charge.dispute_closed', + + // Subscriptions + SUBSCRIPTION_CREATED: 'subscription.created', + SUBSCRIPTION_CANCELLED: 'subscription.cancelled', + SUBSCRIPTION_TRANSFERRED: 'subscription.transferred', + ENTERPRISE_SUBSCRIPTION_PROVISIONED: 'subscription.enterprise_provisioned', // Connector Documents CONNECTOR_DOCUMENT_RESTORED: 'connector_document.restored', @@ -60,6 +72,7 @@ export const AuditAction = { FILE_MOVED: 'file.moved', FILE_SHARED: 'file.shared', FILE_SHARE_DISABLED: 'file.share_disabled', + FILE_DOWNLOADED: 'file.downloaded', // Folders FOLDER_CREATED: 'folder.created', @@ -106,6 +119,7 @@ export const AuditAction = { CREDENTIAL_RENAMED: 'credential.renamed', CREDENTIAL_RECONNECTED: 'credential.reconnected', CREDENTIAL_DELETED: 'credential.deleted', + CREDENTIAL_ACCESSED: 'credential.accessed', CREDENTIAL_MEMBER_ADDED: 'credential_member.added', CREDENTIAL_MEMBER_REMOVED: 'credential_member.removed', CREDENTIAL_MEMBER_ROLE_CHANGED: 'credential_member.role_changed', @@ -129,6 +143,7 @@ export const AuditAction = { ORG_INVITATION_REVOKED: 'org_invitation.revoked', ORG_INVITATION_RESENT: 'org_invitation.resent', ORG_SEAT_PROVISIONED: 'org_seat.provisioned', + ORG_SEAT_DEPROVISIONED: 'org_seat.deprovisioned', ORG_PLAN_CONVERTED: 'org_plan.converted', // Permission Groups @@ -153,6 +168,7 @@ export const AuditAction = { TABLE_UPDATED: 'table.updated', TABLE_DELETED: 'table.deleted', TABLE_RESTORED: 'table.restored', + TABLE_EXPORTED: 'table.exported', // Webhooks WEBHOOK_CREATED: 'webhook.created', @@ -170,6 +186,8 @@ export const AuditAction = { WORKFLOW_LOCKED: 'workflow.locked', WORKFLOW_UNLOCKED: 'workflow.unlocked', WORKFLOW_VARIABLES_UPDATED: 'workflow.variables_updated', + WORKFLOW_PUBLIC_API_TOGGLED: 'workflow.public_api_toggled', + WORKFLOW_EXPORTED: 'workflow.exported', // Workspaces WORKSPACE_CREATED: 'workspace.created', @@ -180,6 +198,7 @@ export const AuditAction = { WORKSPACE_FORK_PROMOTED: 'workspace.fork_promoted', WORKSPACE_FORK_ROLLED_BACK: 'workspace.fork_rolled_back', WORKSPACE_FORK_UNLINKED: 'workspace.fork_unlinked', + WORKSPACE_EXPORTED: 'workspace.exported', } as const export type AuditActionType = (typeof AuditAction)[keyof typeof AuditAction] @@ -209,6 +228,7 @@ export const AuditResourceType = { PERMISSION_GROUP: 'permission_group', SCHEDULE: 'schedule', SKILL: 'skill', + SUBSCRIPTION: 'subscription', TABLE: 'table', WEBHOOK: 'webhook', WORKFLOW: 'workflow', diff --git a/packages/testing/src/mocks/audit.mock.ts b/packages/testing/src/mocks/audit.mock.ts index 8cfb3b7373d..6bf30bbc24d 100644 --- a/packages/testing/src/mocks/audit.mock.ts +++ b/packages/testing/src/mocks/audit.mock.ts @@ -152,6 +152,23 @@ export const auditMock = { WORKSPACE_FORK_PROMOTED: 'workspace.fork_promoted', WORKSPACE_FORK_ROLLED_BACK: 'workspace.fork_rolled_back', WORKSPACE_FORK_UNLINKED: 'workspace.fork_unlinked', + WORKSPACE_EXPORTED: 'workspace.exported', + CREDIT_ISSUED: 'credit.issued', + INVOICE_PAYMENT_SUCCEEDED: 'invoice.payment_succeeded', + INVOICE_PAYMENT_FAILED: 'invoice.payment_failed', + OVERAGE_BILLED: 'billing.overage_billed', + CHARGE_DISPUTE_OPENED: 'charge.dispute_opened', + CHARGE_DISPUTE_CLOSED: 'charge.dispute_closed', + SUBSCRIPTION_CREATED: 'subscription.created', + SUBSCRIPTION_CANCELLED: 'subscription.cancelled', + SUBSCRIPTION_TRANSFERRED: 'subscription.transferred', + ENTERPRISE_SUBSCRIPTION_PROVISIONED: 'subscription.enterprise_provisioned', + CREDENTIAL_ACCESSED: 'credential.accessed', + FILE_DOWNLOADED: 'file.downloaded', + ORG_SEAT_DEPROVISIONED: 'org_seat.deprovisioned', + TABLE_EXPORTED: 'table.exported', + WORKFLOW_PUBLIC_API_TOGGLED: 'workflow.public_api_toggled', + WORKFLOW_EXPORTED: 'workflow.exported', }, AuditResourceType: { API_KEY: 'api_key', @@ -175,6 +192,7 @@ export const auditMock = { PERMISSION_GROUP: 'permission_group', SCHEDULE: 'schedule', SKILL: 'skill', + SUBSCRIPTION: 'subscription', TABLE: 'table', WEBHOOK: 'webhook', WORKFLOW: 'workflow',

    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 diff --git a/apps/sim/public/library/ai-agent-vs-chatbot/cover.jpg b/apps/sim/public/library/ai-agent-vs-chatbot/cover.jpg index eb73c4679d5b774ced66f731d6928400e436df8c..67486a544fd663572b789043c715942a103e7301 100644 GIT binary patch literal 40537 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 E9|3ODi~s-t literal 54646 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 P00;pC0RcY%NuU4O`S`?1 literal 52100 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%0D-aL_Km}!DO-zFg2^| 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 HYy5u!LJmZg diff --git a/apps/sim/public/library/best-zapier-alternatives/cover.jpg b/apps/sim/public/library/best-zapier-alternatives/cover.jpg index b943997b45370b01062938676a57af739fe85699..39326c90a866016dbe800d2d24d064123bf30ed2 100644 GIT binary patch literal 27044 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 OKQl;g9{oFG{(k_9X?CRm literal 38369 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 literal 197514 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%0A*F1xuC>U;`daaYtz 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 literal 81282 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 Pe>36#%S`z3@A&@#<;kIu diff --git a/apps/sim/public/blog/executor/cover.jpg b/apps/sim/public/blog/executor/cover.jpg index fd72eeb5484ce7eaff1cd8f8e116f6e647fc063e..3ee5050ecb597ae94c03daebdeca6d24e4a5f80a 100644 GIT binary patch literal 90742 zcmbrlby!>9@-MuD7b_N8w0LoMD8=0g0fIXOD_Wq1BBi*y7Pk=GwNTtGIJCvJ6biIZ z`M%+t-?{g`@AI7d&pYw8S9WG*jeKU-&Oa;vtOE)F&c6v47v}*!`bI=ZKtM=DLHrPX zqj*A2Nshihp<$$E#vO}L&2?9XSFN*(W1Oy0(UbHHDn*m|*da?kvEGZbIH^5Y+ zKjp&8b>;CNZt;uRF*xxmiQ`W>q0RlvviIW<0}*h<3&JDn?|G*IyzM<+Erp~?@Cf%e z#Y4D-lJS$@+W;y`IVt8P8usF6AQ-L)QIyuS0&j?oh5*0{|Eym4$eC08sru%rF(jw#2p((WVvN4=`~8 z?CfF1McODAR+@h?j1h$%#z*QYqJ_~@ioc*bw=bS$XU9u$0`PI{yqc@o^+-n~);!JQ zoJ}jd(y>7#?#jKcP}()Lh7#7gF4UKI=O6#TgaDw&hnnm|@xexjJ+5-#-I>J1d4;Pd zCDm-X;XvFqceWwVVtg~ChVT#V_g4xsKR*)~3<<eLikL;(dN zhr|E~lwdU}Qs|_F%%*<*-elZJlR<&oNO|L>p#8<&CC!hH0Ory@WmpwdIhVcCO1H1T z!)bOFATU_Y^O7LEYZKIZM!Sw(jQx0pBj+8A8j<%dxnMzaBA{5G0HMfR%FQ#A?OHEO zp2TRM1Yt-O?QfJZ4&^SBZNkF(Vpb1cdhs@k;i-IgLXE`_vFrmPhius-Zlw?=rn76PrnAIDa za$*#+#{eZN40r&BUN6M4=jyRXp74Va3-7UC<{1NF-; z3YHChs*jzlPL)|h)!rptxcRt_Zk`iu5?K3aacX;Tg)L;<8&K|W-#j6@4?q$qlW+?drr)7%r zsdu;!;|l)S3|;ZJ0lVZ}=@Gq2I));PNlK0G5uJ(j&Mlp~M8Ub41th|kN7+tDw>E-y z0r$Cr_~F-uR&m*uX8}XNR0c=vXeEGAD2`rVKuMN_Rv3(agALImRd_b~CM7c2b*$XK+gdHw50b0qNu0JI5ZQk5|r&Q;|A-tLI~^~NJ?fAk!^1U zH{C`X8WLM%fl30xRgeZOIua*>Tp9HWR~wJ{2^BHL+D^`?weU_Wk=NrFCN=I}e^j`A zYGv!(^XJcb7QL}$KE|KgPF^>PApB4+Y!>eEn5FPYsrP|zecCw8%YX)M{RF7^bdChU zD4G$@LiUhihFw|oTSHQ`7!Yhy%`3Zz3te4Vh%P{acJ{(Ag)IlQq9`f*S0Zj`v$`h< zQaM^8TJ%C-n;NR;EY{)`0)Qg4?Y&(K)~>_o@RA!1c)SNnJQnz!9xZEXRXVY9XVc}i z5RsCSWO<1KMnJ57c>qQ7ahN!Df^)RRkpKE#XM#YuoX zC)vJDu;+Y4QQk&T=v0*n{uRkCCVa@Uhgl(!tsS-Yc1ElIqu+ei%(4Rif^*tb$WWq> z#JZGRh{v!E@|UtmkL0`1@NTr6mBiHd5`!#;oLn1ZGW^;B{3ZBcgBI8XOUQUX>w+`q z5q)wkhg_~xJ{aFM%qu-a$h)~Io>fWG_10_5mr{`SXA6NK0FaJ;#D8#-o42enna_ZV zS+2A|bT4a7f+fESHA;7RKXlz_g3aZOJ$4ot^}Y?v#x-#-YmnuhA^gm4zk;wrb3(hU zF-qOWIKm*sF)e%=o@CK30Y1S@ll-u|a|+r1w2I4+AL2QEvbghP1((tciL=vX-y^22k!p`HA{5cOxO z4|ljAYV)Uz%laXlElNuFff^kt(%0S^C^5RCt$YnZuEcFjvHAy^HHylLHcR6sJ{UGXGHKuSRTt-a>@ZSunR{HJ0@Ex1Y= zS4h-XgX%ri&c9r(iM(sWOUTueX*)^k{rpZ(3ePKs_@G|z;tD)Uhj)5rBiUNID+us* z*^un^EB6WMu5d?4g|n3M8RfOrQPQ(1`qdMI>JnbJL9 zsBpj2!tN-9%dEnuZQ`1?!xFJwL;JT?xoTDiYu_DO>*_Jrq~7Gxndbv-C`Fdg+q%1U z#GaMTxg08rjt`M{J>xQXV!)n3KuP3cyv~3=@qZ)Qe*n36M$xl$WV3Hk0(K&kFR6!N zInHSdW}`&D1I^C+t%8GBUn!L<3&RE-avbdTPL~xGpbLaEc!;bQQ&RDO_GeQ1Qnw7ju1^vuSzD-jS4!wn<(_2y|3w5GY4O~EJJui5Wq#&_k?;u7P5B~M&a!%VI}_5A@Kr=( z%4UFGW+83Ib$r=Dxu|A+$^(+|xuRg+^|HXyKyf+U1c}FxD!=UVW#NIUX9|Y5cerw3 z$-QE=alRmOr=hF`Aq5rIQL0T`X%DYIM%+HtBk3Nq^-dShnslhPg4xfc=*-AO)dx!4 zLDNfwut2Jzg2db->uD9p{1AJstWm?~%EC$jmweT$hcOv-8D#apMIn;=94XKh+UOJ& z9&^r0CTJk}1q~SfhiK``jdWE{HyIVNNwCmk6tdL&>8_||t{nUjHotg`mhn3lE(ZPh zZ`o@SflBLX+?h|*2qsI*(xdm(Q=3`~yWmQf* z_|Zu8*PwD|x>0pYKj*=O5tj+W*d}2>v#rFh6x>G*i70u|4UtIwDQ1nA5ACvzzZ{tp z@K#fMOm}KFsImi~i4#XBs?C?IOZfj`7RRE39%7NIxO>;@Z6S1SXI66pb`&D-p5nCW zU!ff||HSPB4d_k!pXqY4;yriB6rwnD1VmO39Tc!hC}c_STU}PbQ+kS6Wq#S%8$V0T ziknwTtW%q&{IJbmkx@+)mNEUbhipy>vHA=Zci}_M40$;@W+l?5n0fYY76@t!w@=`X zxsWq^N+Gcq@zbVNd(-i!X=Q%t1D7EH6T4#r2bC$fmfU70L-K8ns9Wo*x@j$!%yHVf zKL`3b-<6Ycv5q)g8+J{j5ZJ3ykG8;n6R}Zs+@5IlK|Un!skURsY_bz1Z%ZZe{g2lw z4#p#^lLB|WQVsu^4D`DvO6xSmHlk4ny7s^W06g|kiy>3_5CEH|IqIO!DoNd5vbA9} z5Vp4Sz&F7>kYS*!EK7kxFydJBLDTsjQI$K!K#Wfay4aHd)xNFMYg0@iC>0O9NcHX^ zrYig;5z(dkt`GoL9EKz&9-9Z0kL*xADy-J)p-i)AqRUaKDVA{r$8thVL6~ku=G;}< z8tmSW9$&UuPr5()UrbIe>`#rg|FIf(i00vuwv|hTNG4Nk2fDv}y-*a4nRxb-{^x(@ zg1Y%$e$2cUs>xK>;wux&P%m<-nV*9&WyB3N=GjjK$W=EFY(qR9($dwBn_^Q^<7PUF zVg5g7n>VVLHK#B%kG{qI>HNyQ)PuL-%7GF-+k( z4{gHbv4638B?9-N?IBM>8 zte@xP?`+;O;bL^=tg>g&H?$oAh)7&m@za|x)EhhSez+L3%ujZj!Splmuix$qFBZ6- z8N-$&Vg?iCG1WI|N}#n>jndRi`1Q&%aM?}_@G8+&+g(t=I-iplmHep|uq7hsu~s{I4jOUBBRuZd2qj8Ff!qNy}N7GVgWR6?TF$i6^m5 zeK83f#1i|I^&~ou!LjKNz8a-9xJwYsL<~-cmPM@!nDC7ngv*sUZw&G}_vfi~=)KKc zD~t(QRuoFz%;35gijOhUmJi> ztDV@rS+cCvog-N^2E3QVOiyG)vZQW^fA=Mk@|f15cbiJ1cs^xHpT0wwt6b0*%m0${ zP}On6UjHa>!LTD;E0x!4o#!2GPD_--V;S`XwhUd`Sw#wTkpcld{ub8LS@t`9f%#P- zW50Vg7nLT$B5+8uGvHnPc&Ma|ynX(ViM=QFbP1&+X))$#ntCQi%qHRDk^xuB74PGd zamwkI(-(#R7xtG~UQko;8Cl(9Dh!5g{-m0S(i#2VhOA^9r5thlKj3Kc*vx4hLBaHZVO^tt05D1?iw%VaR<1TSkPefP>GDav$TcO>TvOw^wcYYWxI zrg$zq75!LLCa(*L8*Dsz`*1F+%)zQElSh8=iYNQ>;47JGBDMO3{s+gQ3P_dvP*~U} zeETxa(G`t{p&B@^J*yp8ssh|&X??HKPN2vl#s708WBaSYZk7Tf2}%mk@M^2n8mgO|r|49&0|any9yMGiBjF#wFW|Ak>g# z%xC>vbF>3SCAB(2MK#3}Lc7nHYmgJGl6aRGdn)zg?$v1)NBA!bDEEq9yk6XLN-L*b zUZZd9E}e>=RGNERdM&S__)*@hg?IV&kTh@Gd%?DEclugpZb{zg%Jct2N&pBak+ftO z4H}aM%!HUk;*9dn4Mu&H{r&;OP(;}1=@cXoS`@lyr68eD^g<^VVt81K5><+;(nmch z_gCqSCesc4ikaglvp!E*m(BFRf-&ibnu-&la>AILJhut%T0bY(DQQSMjX58%9}Yg8 zEofNqQ@{?ymQa4lC%*m+%fUVyCOG6st#2pZKA2XVGb6BUP1vNT&evW_l*dT_0bM*F z+~FTQTDl05=2MwKNj-WoZv=l~MEqf=M9TiVX+>bb>4D!CBk`Jyylqh|)o?W$br{5T z5s9U?a^UpXJ|Rq1VmleP?sJzMiwz>g@d=%1t9G8S3#8YBY8XZfmAA^VBRnyHsS*f_!du3Mt!Yc#_2_!?zbyJF)v7wWOruZrEoV-z zUQk0*;<90dy-7K*xCYLX6@lcBT-C`qXk3wi{a?%@G$YN{(64@0apZDvXT+dp>=P898#9 zY>08IJ_zcp$Z`=U1!Y^di!5IT2s)y04@-~!|__LYYWmevX>hYZ)C6;Xk zO!VIdf~I^>qXBJQ)+%_Tyh}ky_JmhT7mB}^-d+=&*^>GML{nahoMn3p>_zkysO#Bl zW{ar_SAQhiJ}pxr-o<&UB){l@Y(WInb{j4qIPfSG$sz({M;6-b5JF#vT~Q+AzSqu+ z#7jwitKZhkQ7&I8H4mo@Z6oj5i@`(p-SFp>)u5EAlBM>eC!^1*i4vUgy-egE zsh5&TkPFv~0RPD0z= zZJ#Rj(+dCjAr^14>bzA*Iu2*M(`Tnjq8BO*3*vKfUnlZ<=M(`&Z)~UmPc|R-NB1wO zqTz~6rOv2fXZLzQR(s=+0Cf$S>E1<$BXqmJuoxe`bVOtlkZ3wms~XCDt%xO~q@;MI z1Qn7o>#~=cBt2*MtEvZZ@S+RbdO_FMR8__GogD|2-?Ocjz$9X>i>gY^V6)GRsH&1-wjzuK*z~f*jT7Q_ChY1ToVwV zj=6lIKOd$`W{m{*dc#d2%rlG4p64ff0)BS7|0xhaA28T4FrvcW>H?rbv}|bP4uk+$ z5;VyLZ)O6;ct}t6x2lq>mX*y=;!$?ZPM_;jFgdB3NW zAKPBOhdkrxb&V_;8qoA}-Px96yO^hQvj~XTLL{`%alK$eLiZ!Crmfu{_{4EOOD~z> ze)(1U_Rp2)AnL1&5zi850v*W}LU949%&0*e<9!HL|2R)gVi+|MA?6fLhfS^?uckc2 zJjyT^kjb;cRATwe@1c)FnBAmhkn@KZN*Zc}WsBApDE#s<^acaK$zI8T5mk+DeuhP1 zpgY>Y{R2%gVE|qwfEPo$eVqeF*kg<&XB@8@!lbd7bfxZ7l8`? z*S(8_v>qAt%iOyO|C;wooIbp>Sj`umXNGtfgFcZ?4U@}2J zE~i?rjX^jjxrEZtTRYF1iW!Tk(0M4H)UC>a)3`yzpz)gu6EQ;om7jcmrUCDe{Nol{ z*Q#QZ@y2!k_$-FkUl}z-#ur-}6MBAr&v{_cPw1D#H(TqP-KxQWsmO!~(#)<~Vo4Qc zHeaks;gZ{C$HQP?kCH&@4Pd^jEM_QXFUE*Mm$pot7@QczA=M)EVSal*p)xz~71_vPp|DdD0wb@mnFZ4TgOE zSpz8J9one5>ADB*+{2GJmYMW&MDSPqB`9!|wV)bGYNyg(M&%YI7V;8YV;~!w_^TjB zmbW@4Q4Z8HRjP@m)N_c$x)gW(w*f<#ItuS+MdP@Je$LCs`E@jvIcSyG+>mSSkQ--V zq?>1CExRu8^il0MXwMb`!iMqNA^%!3baRQb1vefI9(0vJy4WiG5DEYbR+jahjeB5% zRn4uFizf^*f6j|iLBF+Cpy<7sXdti4 z>$F#+yRUbJ6e+E3hq*@|cbN=HiMZvMNUq|1brqtxL}J5sBmPL9vjszjC%m3AIP|1a zu2m2ODm!h zkM1hqDt;>=PIBx$BULTo>BB!N94%uooe?^d6!hC~Z!_nku=HmR468A;`EB9}jZnnf zQ>1lR7DenViXIvS&{!M>E~jKuc#t|qdFu5WINFV(@<`z*;c7#9l*2q96yd<+Jzq34 zS4KRuID_PQZSHm0il@5R#FeFqd?7ML8Gnc4Hl7)KOTB8>xf&SB#e@?SRTh6uSvcKA zO6ukHcFb&c<$z>m+AnlkYtAu#{zKG}_0Sxz^Y%)*yC**)yNH{?1(ytoR8c>br9Ld=!_dvD&&a*&x4g{_Qtv zlez$l@d&ajEDtYI!6~L5=Ui&3c5`gYKo0#qsp8?Al#Xh4P;ARPgRQbcA!Z}-+1aTD ziL_Vv@I*;0<4Ht^hfpdYK%$# zvx*p!fuL9y`T8U8LSb$Qfr~P^=0seNg#=G0NtNYLl*xJ_-Co1B*zmMBvZ8UFr+D!eYe29`q=fo@+t{^Dfr8Rt6a zI00qW{;Q!KzwtHuwcU_oH)}`Eg6?FeCIbgeq=*82h0=8V+*G5*mphlIH0yZkKWR10 zzhEU22<`H(3Bp{nCdD+xXu#hW8(@12GA=PH?08k0y_1yGB8)HkWm7nZ4ja9u3kY*R zU+li#AF?X%k((ac@+y)1OYB{|_tjXic1D6WBTr7a;i0{8EM#6#2_Y}SrPm5go=^wm zq!q&|_mn6MIdr(OzOBC1%#Ujv;%eUhdqa6<0c}V4#eX4%X|u{tDwcXtDgE|p$mX$l zJBu1xmq?!CP#wvQdqw!nY)XHyK~)-1!Xd`;V#grecHafBm&^>KYDAE+S+IBc)4tjv zQ@t_|X6+`UP-d@iVwU$4Ix|#c<*Xs@&~8W0Gx6~UWj@1_Sp4yO64#pw@58GqZ7oL@ z7!XS~IZHXk(VCrB%VOSK<3=gEx~1k0KBQjw!tt7S0+iO~>K{)ecpe|lzH7V^y3&+M zrF)S3`tfxuq+l?N+h+m=ug_+RN^fR}MdjSNdbfvOVzMZckyfz?Dr;8b12@ZZr%eo_ zDSAS}O=?FQ71T5SGO2VMVdsurqwEI`WxCc_N&&(Z97}U!Y{&doRJ^^kkQ7Pq zs$fqOff1K#8;b!k+8D8L5)|d7Pry?+J(_ucvm`2SoTAH;A1nxAj5SpxEEKsvyBs3; z2Bz`Vj4^FVNMF$sC95qQU#Ne5hKq;K6iqRk0`)0#oHA~^*+;ODM)W%Z4-c*Bqhz1I`tb4z3bPUE76u~ zzJgO?y+}|Y2C%TPK@hIh5O2zUn8}*NwHd$K2y>FVMY**ITQllVVl!3GMO`$#ja*Ei z^prgl&YP_N>&p|R^kHa^Rp$r6PFY7Tc538eC=rA3KIj8l&UiqULl!42gdGzIr@)2b zeLTV_1A6SRKxF)8qv1S%LKXyoh8NhfxS&)k+z|WSkOPpB=7T(J^-!WpFa~Jm2+JkZ zPu{{kP-;f-^bJf5q6Up?O2sq=YTFP5QS0sP?xeEd?TxFr3oVZ z@C-m?V6TP1W-(!-r1}^H3=Zu?2cYOeoYx>B$QcC$u_+jsgyfj{g=OXSzzQO|Ec%MptV*5+Ht1`4@b2g0fxd0t$(N_ACvOiB zj5a@CT3gI#s=FOhfU2$9c*4tzFK74#Xoo9?d^&aWqo?7KsGtNK-NoK6$R^nB)}K6i z)#K{hndQW}!f<-Go3nXmGj^ubfNuGJ08aEzcV58~g&N*Sx@XiKgP$*GsRsN^WLA}t z9xlB$fCqj*OHqn9+35Zr5>vwLi&0%1VM+1ck_i3l3s>DqcLx_+fy_4l z0B#D`LTAhVFx6{{)<1U}J!W0!t3in=Da`g_?KNp1RtANiJMOLv zKIE%s@vMA?=O=gcuq`=e%pWfdtIa=W=SU!R$E@qTn z+pZO~3{e7PvSRk;t7HybvYeHM7fsky5(WXp8FyWQ?m0bwkpm_-^!eoqNcQ zp6ht(c}YEF4*dXXxr1eeTwODZF1Jd2*HidV&~S}F(7x(N7ug-_v{`J z_fHx|&Lf?dS&nTY{iX-MVdZv(GgCZZIb%A`V7jwYOfzR6{Ap~6{qzQ6(YL8Ef2&i)3q(=Wm|eTa?gV+z;t{I`VD=%(oI&w z9M%SjywFT4V>x}y-8FZA=>Ihj{h_vH=`yZbVweAmtG5SsaJ3kR8-3R1%4lLksp3K3 zyRJdQzJ#`mr8~(_tR5xEOXw|EV0y1Q`onzN#ryysH{3D90t5$1GPeh825@xKv9M&m`dNDt>e z;3Fd$ZUJX-Fjf~{R)R?As&{)bo7JrtGJU)n~Dc#7!u0clK9gG zFR`6S35e&k#9mudp(3!8FKUag_wG&bxsuX6+5|t#bV8dhD3k3C0f)e!E!pf~)rpiJ zw9YVxeU_Y-Dbq17v+}l-rArt}0HYCAg)qCpDB zJdfMm!j>z^mS~I4C&F-A#*aN-9h#1%Gq5?REWolXduVLU>V@A}`K3lL7#AO0!n?lD zJ}I^n?{TR0f9RflB1Wh!D^iewtrY5A7BP@O_9H4NuD-yHTVu{+SX4Mj@z!rE3X!OG z_+1LqdIK^QRVKW*#>1w2*v7K|MbR@UGct8;Q#xYBWaCw?MxJQASWGvjg@m1G+}S6} z_j(y*_TIFvsH$Z~WEuBhA783)2~MF=E}0sw8rhLL!;cj;v_jD~cm{o<*_`j~dX^xX z2z7dyN$eQ$Nj)}5d9UAsu7b$?PQH|0LGKvFPZF@3C2VGsD8g5J{k$A5qwpcG8+Tcq z+GpHE^DbtItuEF$<8APZsqdxKc4YJMa}Szi=zS_j3-PW*mRf$1Rqqgi=G;J3A~l52 z3xq$aJ22t7Xvz1|IJFoQyKTM)Y)bfxC*pN#jG7hBL)i0r}yW{#s+y!i)HJ z1q}Azv-DG*h?ajSZi)Fo+n}B2#gjR1=Eyr-%OVlasnX7v+?hFc$(ClP2-f_{59k6& z*$|b?UPa6+)PcBPaPWrnI4BR=ya0!EZiU#eO&gCUvrL>oQ9fKqp; zKhx|Hg>g2uE+~z%=rmaI^6O7b`nC`8>UGo^a@709S(+Us*YyiN|BLyg+x^wG_i8+_ zZ|7-&)iPq|D!=o4%mWo{-q@?0OttEm9PiA-BQ1(u-YxDmr-qk7N)Z}!jK7AdhLrX` zG5o#y#UWy4^9ddN%`wjouF9$unv_X{R7WP-t|H9t_*Am1dIYi6J_ak5zCt*KHd(SY zZ70DyLOBl>hRoE;Mf-I^+TU8^j%LU`E;e2yiCT1J0le!B9uPj$Q90o`>M%UN*D*Tz zrq;UUS6!u`Y6V`UE^-o!P0IZPJoPZLNIBK^f&_PW*VUnywsTU%Lg(2;? z6@wZxoS%dPizn`*j&0O-Y*5*GdH`xJ8tsL5w$-!C(rw!PL&Dawn1xq{{qeBCxyr zj12jkyInR7B39}qRO)_J$)rOQ@O2jQTT`v+GVmW@GWH8Nt^1%8y@QL2j7!&FMLek)(wkOR6#q=* zA>x_XGVC5{2cF%m{1Ke@ooQ+bPCp*S{N%Oi>vlb*@;eXgdsI94cRY4E)3u-*<$b83 zd-V|G@?WZ(yX5z?gO(v(Ob3yt@@=!r{%y72-OP`dy7sba{{d_*M{k1OFt1+!PIO$p zqy+!##r(bH*p2TSj@2tE^$)7UeQEWds_OP!AM)*eEXP-kF8$J^w3qslTkCeM zZvM)1o{zfp;-C9&x%A|S#hc%#pEu5R<)u~Dx--X9{OCBAihZj||3@&1z;d!AF}S_< z*7F>EMK;Rx91T>Lb*~_ABR*$uKMeCwhtYBA`Lxdb3tm~o8oZBM=b@lXKYspfab!g5 zYjKKtgqWTZRbtG^N?>WxN#DC|8@w2CMq^!&!9)dKgGy-00Q`x5VCo4E$1Q%(N!z;h z)r8uy&c77)@gIQqeWhXDvWVENIOoZNdGzg~MKd}W?IG&q;jtCyWJd1$QUB@*sW{ex znb{`^Q|ndHH>?ii~m-_G{R5i9K!;b@$pjaPPruIv(7Yeu$ zha#&@urzX_@m$k&3qhYn9#uViz63My0tcXQ*3oz>u{J2b;%W*S8FBNZ(y-#+N;;pX zA^%?43Q5J~`ChO5ERn_?jPIcA@rOBC5~De0%$lKb)3&7ld`3lH^cpX>U^M{%S&{ zv>VnSRcq?)HGb*NXX+2u@?2ElOXn?ID$YwM%~S4D>TPr-=IhNaT{rPB-DhhL-kfjL zxwKm>zv!;pai4ng$lG#gWBI~+?zH3Blw4_~1FUs%{}`H(SXyTgBaky1P8O3TnMa81w-*eiidQCIyeK zHsz7M9q3fjZ)A~#F0GVKG+K3F>RnfM;75%2s%-Hf%L@xhByc|eQFhjwvsDYO=t|fq zjzZ~)FH`TBxqxGaZ2vr~u6b4@8Qc4aE(`6jd|!004F1w{^iVl@!4gZ)TCbEW3D+js zf6XH_ICL4vWZs$DQ@G7EwAkj$&+4zM_uvr3n7S0+a*(U^Vn~RL-?frqswv>SWVUJ2 z^1TqH{L~5;UQ(1vJ3p})i-GFZrgk5`Mx3ZTV){j z^PTP7`HV=`$~*0K4@JYHpD;gDS{Jy9|LAyXB|g^YLv%x6*OX*w}#@3Ti` z(YVed*8{Ua*M?3($W-ivg2JDme}I%bu}70yrMI}^&#j++(ep9*E5q@JqtXYdG}pR5 z2Y&5exC$4{u2incp*I91qbW*=$6LU^?OX9m<873bK2-2j^~XymH?&?c4^M<&5V51A zh>-D5h0KH~LP-^zV_4CCxFhn&48^tmcPTds(c2D}rh24vjILkdG95R5Z3`kMK3faE z_-%Iw6=(p3Z64^-@VvFyBbF7HX4ooR9i)FZj~ZdLfJXU~XNLUIBGy06)=-v>78cI& z^Q#|u39p~57e{=FY=u8L`DOlkwnqm;gSHCF*WK9kramvOHY+FP|f!mFgHZjnb+ z^+e4)gUv4VVP*X4r!g$qS%2*PZzE(l``5&PE z%x9Udz0%a|MUS7;f+KZM_;>Z#!o}=?FEp_5FUh_oNKDFa5+S5y#}z@;@Y(&%2Yu48 z_f>e!;_pg;at{9&-`>wAt4C`+RrGZ^%5V4^fCfx~iAADMyHSKN9G$Tg{+}WbAuay^ ztNmKzb%8}I&;Hd!y2k=RQid6Yyx&ZxTU(HGc|3%EDVn~X7y`W&BHPqshrA*=HY&qki`JNxm8z=>jR*j>u9 zGcUpsEsIhFSLa)IVdoprQ zj5H>)8t!o^dbLsgD^KdVq4gC)ZCP}B@y-EZ*x!+~HGsi^0FzpD>ir9*2j{qId*}kZ zIZ1nzdG@8?1VINYar^{4O^r|t+jl4Fc)6?0Ne;~#Ft!r9evWWb>0g~EM5fj30s08h z8YgXg%n+cDZ*!~?hfTz<dib47C32YSfGa2b(7+N)0raY}%R( zPHY~0hq6o?O)KNE*h+oidfn0sTOzNU8ZFDfK_dZa|0L)ZS$thQ?D+>?_~*t07RQZ?q4~b4)`ZI zx3tXXs;#Rzu>Cw1p4`x7?`)W1nXEZrp8hxlFvBs`%=6LcS*F} zcY`ioc2QYjyXX%^f++$tF0vovJ!^$&B!(yP2j*neQEhk-!%v0RU*XI1BDiv82Tvn9 z@ZFV*(c)NSixzaS2PynsP%gS=E%~d=>24S_P4~XK{ti-loa^Ws#E+oVXJPt9&CDi< z{R{f$mJ8l-s1-YP{Am#`YeZ#eW%{&M9i4h4Q>|9=dQGUlKno)BNt2ZP9P!NF)QPzI zeA1$`#H{@g5)Y$p?s4C%;@R_4P$N9{@)UU;_!D*EvaLtPKZNe*yUr@uDR#2~{h)(Q z_NI$7=y@J*~!>#j%_9i3VXlMSC<~h?ET@23iby;BhX!3nb;h5!i z`Z({)Nk+pzfQ%#>By@ai+AvIcvzaBngn17gCYTTI`E3y?z=R@Oo6bKGfoRwIY5T9TR1=QC3p2M`2HYJ?`roII6Mw zsyd|F$f3o@5(UD)6m=n6s)8cL*N5TfXnPTHIm&6hI(j2Xk8@ML3+F>S$x*6x&2JOu zpThfvEay1OR#9JH)>WmsWaOAo*wxfb8x3e_u9-f-4-tI+eLj&B-6;B(|J*0o))WPN zK^5kjFk7!9*5)+|)jA==+8d3Z4>}LEk_)Pph!9L`mBUM{<#9w|_OCEU0Y$#-A(RqZ{bi0bN#u30GW5%w*e zPscH&*Zux$KXCGP=i(wPsepCr&CLUJY!4Vxu#cQClRGwdW#DJnF#TadUD5_!g#2bK zb94K_F66lYeg*OW4q*<@FSz>Sf!;G{d!*@RVJY;>W2t023jT!8S>wh8snM$8jG0e) zk(G*Tog%Vdi(Jq=&NJ+qCJ^94XElHtr$!uik1ns~S)pODzst5xD{DnK`KoljCC>z>Xe9Yd=9qy81(}i@iQ^RrjiEPRo9VvUh9X5H$)!Ag>qE%qK~^f5W)Nk3X#qgD;s9+ z?IkK^=kNx%9?L-OP|5%da77ec6_zgzXsVYT* z;lioZ2*utt-k=6wm^;_btKY97LoLd%brTIQD=Ttl$350Jug*Tje1iT1#Csr2e|fMV zy`WWGJIf<=v5GRXg@QyrpJXvF!G1XHQ}}<39RILDa4dWUhDjQ}H6jRwPY&lW!myGD z6vKoeu$OpcQ8Q%ow=JQV7}0TO$tKMdKeLb?UoUAPK>QaOiQtCnPjh+Z&fPkp4R^PK`I4}b?=FEJmy}l<5thCR3hDUucj8WgDgFn4 zdy<%18zD(PEt+ekbDBP3&PKcqivo4DS&Y)ZkUa$cL0z4?ZE_#nmE5)P@?{B%;R~L| z?RAN;3Z&Ps=9G&nldeg{6#*wf_jkOmYmqA!j3ycoF&tiO_ab3BV|)0|fE^M0Kj_Q~ zZ#+zO{MzS}|Df^eH3NKf+oS%Buc!kd^vw*<-~1Eby_90tMOB^He0%6xs^T-N`Ev@G zyoD3A)b;U4adFV6uHm>VT2G|2+(!})%+Db1OU0u8Y*r`L-07QfQJpfqjpB4#@9cKh ziMbRlW8`Uv9&8WYe{!fxw4_WD=c&@{+?ld3ePNUYkmvq%zEiTeR!~@rFb?8|^p^bG zvw~vkYtfpZa8pExs+?BVV1+(HC?;Gr))F!8W zhi*^7`{=)uWh-a&{%wLjo!+hsQbLd)6V>v6b2>xI(eQjY}_%@OOuC9Cn0vWCb%tVO+|H)Uilz?8+U; z`K7PTB2IyWEfW{QR1V6EnK_xs^+!ze>#eiI=YZ+Jyp_ zZyRZsI$R8Xor{Oq{5_|+n?7DlID0r zifyDSRzoSxZR}EVsL_)+J!I<^w*X>6IDI%EsnPqJyUL}ngiP(yTvVsREP2}6<*XkJ#nN&@Q(J6I7q|nG6 zq~$|yhngPfy6-g^8dZ0(QYFZ#z8DQ29+~hIG+Yb2QH-)i4vK7UBL{uEz+Ffpm__rH zaZc|u7IKCfb*`NywjatqOAiBfV#wk=KdG1=B3{vX*jD(uu~=yoxpWN~42M*+b8?gr zuOd|6QNt2v7z3j`?6+JWJbiBwEp7$JFC5juest+<80yA6pHn5noubh&!fZqy|2f(| z#ax>4IiYpH>2$~c!_-><#nl9Bpo_Z(hY;M|3GVK&xCamJkOa3y7Y!QR7bm#8I|NN| zcMbaX&%N)ySGDKtRPEL|Gd*q7)BTOwu=nD8b1bGu8qNEtOH)7nj&e7{&2m|4^*m5{ zs>3Hi?)G%|R>^>Oy79Z7uLtPnsIQ@#wdoNd)bjj;P%&*V!Us6S2=BS3LYw3Qo__=2q4Q85Skvi=KAwPrEixCTqY|>PO4vgmQa>*V9Gg{pXWoy`~qfDXhR{55RKoNoj9T2&) zAC|K`f9Hm;S}gMmx1AfKh_?NY7%p9#9}lHszm#@Qadi81vZo<}*BI=2iH*ZJ-z)2~ zdCLtJSnd559gLk3oHd(j7ay561`Lv)(^n0Vy#k)>JB<%xn-U2tv$sj?EaO!#jKqDR zo1I&8qL(gdSMagshC1EsGELP&ryaDDho2}gVCF{ce?3$F@Vlias6SVtPKP&fEFOtDt}KG49h7wY@4$PpX!t}(y!78IW$n7Ez)gO$Z3Ar?+y*sc zwspee1Q@+}!9;Zyqk}!s1UYWEH2KK#v6gz9>!3slTv_zoZR_TwfWfcWSBS zdahPIRa2zkIW^?j!zM=8H|C0k&a9#q@%BD6D@%J^FA}UP58#H^oPhnnGet>{!v-KC z$Mp1NfRp%%Bzsx<1Ss2cmy3o`?!ilJ*)ni8ATfwenuf})XIVc%rVvZ^yXq&*1@a_y z!JZ1r3w+fS2&3j;W(y+{n3+^yDWiR1uQFqMbGQm0{3qc!HI@L5W<^$!X9_j~gVKjO zt->AOiL&Y(pHzN=6xpt_z&r%+o3G+1Vk1O4p8dn=t05ENF>o)q?&X!#<5m1?9o6JBk2@pau|2D^uqND?C2y+dA2X` zPe`61J~zBIg`$HC`1#mf=y>r$HVQxPqL`d&`AyHWLg3Ub$y-?}yW5Cj=@B(4J->X& zChljg>q8S+38*>6A6+GB_y}>#fP`bro@UR>c1O3l;HkGt>S6xH+3leIo^CsZy}v;L zIgv}CxVlWwGlAU5740M;c~!UpbO`R*vnDM0PV6@7nYUq#1l~<&bHTi$L-d}>*pM>_ z&xNm-k1CbKr&8x0Uxct{q-Dx%Ou+csGOSB71B)IQEGBQ|jX_nP2- zw@IC^Lk^^{cXKiIAQac@w4&58;Ov{2g@mXy|GZ!V;`IH28MR+kR+{l9pNE%l+u+wF4&{k+!d38=P3K-+~SnEV1Hi(SK(UP zFZK(x4t^UMzp=hPdv=0C%62M}+wdnL?M?L{XlzO;tjxad@sokd*Q;AXm;Lm*u-4R# z73y6ZWo#?G!YwdlbT33LV?zn_yJmkQ|2bw+uHp?4XHRe!JJu?5x*q23b?0LRjM4R) z(p+X3ERxKoc?107@gV<5bXP`28=V`xiN_S$h6KvYOI-bnBzpaHPOx9LvD|RBlenBg zksDz|5u~?sA7G!@XDUejnM+fOK`R8JxF>J@c}~Vdy@&|Y!LVxAZutfQhNkFautB}&UWAj@E@xO#L@ z2DotyloUr0G*~&oloq3#MiHf;MH;v=y(RR(!R2HDCIU>8tQ+z=QQUFJo%AV>r{pnC ze}X3+hvjCqPmHd~HHwMpAR{;LSMdhUqEJMYb3i;4uI)W`n1r2@<+Il)rB|4trBhuy1$VR8P$jnnjQFy!2(0WMP?am zemr6POV=~vciXamWMx_cHYT;{u_4LWQvZO3;`D9X6t`1&p$Y)+x()>gvk-V`EW`~+ zC@+*JC{9w$Vm}K)-{;2Hwy9Pw*O(trKrYGXBiiD(^*y8FaooN;E4(sf6iGx2gRISu zi3E(`(RezG`G9h^MB!PU12;wt@9zo4nth8%z7>xzF*~}l#M;~(Ft%sseYOp#276MM zofLfc`N3{$@RE}PS(!U9u@)C3EpkGZj_FP|6X0l$ajCk-ciznHzS@@2XvuVNH=ad3 ztBuP!r`Q>D#U7FJkj+mccf>vMnUyGdY8RX!!d~)q4ijX?*7lDg-ZQii*l zJP59fj%?E@H!vNeEAHno+3~Qaa-rbDZ-Q07hP;=}x+tEs_u9s^h?j?-i6#Bs7z&o$ zpd51%X<`$EVSs3%ZYUZ4-uTPx6W&N`r)Ah!fJ$-()^!K9)jfG@+8T@s;x&^oovjyv z7oNmI*_gJ&*3+ST0On=rprlwrFQgOn$oBD3=71c75}uVQj*wMX3|j*ZN#A=t3~#-c zw$iF2+m%KqdJ_YuFzX$S<`m!i6L-Rl7Vi+_?TzAex@}w|VZ{o`LxCeg4iemc2f^L# zKZ0LU-vBeyf6549#hCXkt=zRl?^I9)%+L@0yo6<32F#KY*OfHMrT|F(CnRbvH#CB| ze-^LAzHYe;x(`_w<;qT=8OYc|V?xtk8#=xyKBSa&+%D!iG$Nw#E+=l`Wd7Ft^#-W@ zd1b2F7?ALJ_pe~(;w>~+Y5O!Ci*=RULKt`|a>EX1Kf zj~z}9s5v~9#b5ctV&jZrCU~y9>f_)ylxk9&fjm^<{b6)>O8ssOh}DTS)h&F_X~UZf z3{g%b(UW`czmn+v>^}xEy7KN7?W4T+7dwXrVx?BmL}eJ4sm>M0CUfsQ-%ps3@_bi z^-*$$@5E%lI@_3ODFg2QvjICi09mK3jCJ!OGu(b#r6tRKsX&1j=mM5)#tvJ=d-`M8 ztbcSV28xA~Av&}1I-~gz>nd>njuOAsV7TIA&0GJR@#tP`DO()#Z; zL-sDu;82ZfRmtn$acNsai{Aeb*Wku69)^3OyhgA^Z)G{h_UwLYSBrdo~*N* zTg&T^b$W>oq-$H{obeLtx2dDrIni9_%`AK*L+{@r5dF#zBhES2IxN501)eDvXc#Pi z1JJa_`5#n#Np@1#{i^2lphoQ~xbvx5czNd@tvr=!E&l5;G^qRQeg+%DEC-jcaN@c6 z6SA!yuyH5m+U8`K=<97~yF5AnGp2zxqRT5{-6Gb{S0j~jd`+6UlfKC(;cCgnLHTsb zW$1gO!P(_gWP;l)a|0eSemQoTFpLvti#w41mF2^s`{oi+fh%Co`Ey#uUo=<&@|imP z-;grAyU;xwUmj*|FAnqNRD;)>8bIQ`!wB6e2LfVq(qv-0{&-EQMisp$Js0xs5m3H9 zHOz^IC|GoyY!`%_cXQX#nLpT+pRr4r-eKx=v!D8EIi}N-PxIUijMZtuqx^6BcKpvY zLEY_`4P;Ff2K8gO8S5j4)yrXDN5X8e*FxQMz>e;ci_YKn-vCa#Sj|6wlBMYQslATZ z#Q8szu9r0VCfr1{+RwQ8o{`;pYu{s2K$ppdK=752)A0_F)4E^lp{WU0#;=oYw;kROB5lt)&oQ3QprtFZ>K&`Q^Cr5s-F5GZqjPW3 zmn*+>?u>J8lHbY>TNw|x#Ri-shT+0brNU2qy`#3Yc5eXCNssYhk1sTEI70ab0Q*oo zd@h5R`hZ>`oy*YGuJ8ufMs_-l!xue|8v+S(mO(6eSTwoI1uHYmBckiaX;K`J7Rq9{ zsJ}3rIMMWEFf;o+Jm}9L8h$aIn>}4xPYeaPtv5QwI)ynE+#`piPU4p_GoL1%QrF;3 zk)I=j#IO^eoUE(P=^Wa=JynXn%>Gi>A&YuR&m(*4*LEtnJI5tYqV1{vi(!~f`n}%Z zY?wiUXxl*iiP%!#(!&a4Ux6ZvE6f*SX!3}89WZ=9wysy;?irG4xuQ#Oq3qvyx#w6_ z(K7CrJb^HNw~y%{WrM#S(d7whYw%o8T6L3S9RnU7$j~~GH(|(U22HnB1{KHUCe#3GG%Hk`;ck&>LkczUMDs6@oOO1!e|`Dof3Jtd=?r`I;Za!d+yZjr z;WU@x9fhTOwX^gbGTwbUZorTS3*5tlU(^z)WVN*WLI%55p{1MA{1Q73tIRd!7vsUA z>vFa&i!13%xNa4GWkOZSD`VwA77o0_mA6eR3U>FU8In%cRL=UMH6@j?F5jgdnkS^QxaZWW?KMWPx=Rk|~-E;|(Pi7JxK1(XjqX~&f zF_%JZUj5*`_2eTC!wivykM}O_Bx1*HSvLb7cYRp+TY>{zG9T?6xqD{FX2ue_zGm3y zklVCHsWR(~XET5H9ZnedpgPzRrhqp$?&q46x~3*MYwBwAL{N6VZk9*FuHr&=UyI5; z$lO8y^A&iwj%grc=F?oCvMnTg)&JNTv%d+U%j zd8%$O!Av8sVro0wJuq4|EI}59!$^*T83$w;9{*~vuQfqssny4FTwKtY$|k425BYjO zy;v&C@AZ;@Si-R(!%=1)XU1#2MP{#nD>MH?h<9kWJu+L(FYwT4LutejNf4J|Yx3N3 zie#oG;fAcqWPI_C={J3Ct3+>GkBHD1=nast(426KW`5p+-y9cgnF`kXU=wq_E(fJ# z0Z)OmoNkM{Ei9w_xh`?c*_X=-SS}R$lvB{uo=&LYyN-Cz zLj1HzK%2q%93&QJAu9zg&>%}-Ubjmp(gy}9 z-(6WL_K?Xjz5(9rswmLdsizlw!15P@i7IK1#GRI*G51EN5yYoxGs0<3mD%Vwqp27h z5TCR#>kYL5A=@6imxbyOHAUIwxs|zVVZYj-?~*9TB@cru9_NX1 zQu8=`bVMw=uq*vX<$zw-gM<*@E%b}Dw$?QULlfCcZ+-R&Krx%xX;;O9U z86nIzIu^D#ukWWcv<$1%g#~<|f_w~gt^l;?-lH^C7 zXi-X|7uj$N;dlpUUX!0iguaxjUCK1RW)1~i|;s68~x1oaSjII&$5 ziWVJ>GXobk90?0e3lLG8j9|>UU6>rJ_(9W==g0%z4(FE3_h;IgcLBCBp!eA;YGm{k^8znbwhhE4JOeR1M6U@&YuYvf^0Z%y1DT zLr*hILta#FSa}t0e%>&ckxLK*WJ(D$Tlr&1+3sC`(3DR~^=;Ylxb5L{d(MWXp5Ls4 z_&osAg#PL>zkgxgLQfBP-yuiiysWRlhF4)LjJ=Oo<2v{_!lphy{hf`}^qG1bl4{Qv z=mK;pH%QgzK(;H{)lzZAS&~m`4cB@% zP|0?i_YFYo;E&bhqcQgFYvZu5E!4&I_H6CQbM$j)+0b=u<9+@*)aK<8@%`j`a;mwN ztA{BtPRYw*r-rf-$2HqR__uYV;r{q?@SZt&MKsP zo;q{ay3WC;Al5nB!>RCF)%gbupOtIbtd-5xf=N|1m@x-M!muyiklviyVXQ1|ei5R> zF--IMix2!1?u(r(69o3x86U+c3szZ8>}MUkavrta{#Je8!Z6l%ppu8!XzqwiY_HxW z*@bVWTY&M70KtU|6Zw-Z+%$`BsT!gVMxC>e{^2nVi51R7B=1v#y+y(^WKJ)uXCG95 zzT1|Zfo2y8)gEn{>WkmCzh?a304R1@;9qxCU6Ch`1O(;Uai<6>B>k-kJSpkST)H_m z3x$gqwuns%hNZ`z_y`)K^~!KA%-nKE=-9|lxFW{_d&7y0y6azCJR2NeSGB&$#$JfOzQ~Ok?*fo5yWDTcE(Oo`Ri#z!tZSOEGNQF4bu6U|ORtLq!#!_JUyu*}TrUqfX3#H1gZ;<`~gLKt!V+$Bk142hS($c~%jUwwOWP+H6< zpAG5w(g|u0`wtYYnEnfQiyO-cizJ|U*LWx1eF$9xd$YP=K)%m)KaMVNx06OatT~0o z5Xdn^=eS2igie~`{v>Fzw5Pf0BieYkpwF9H*=QkUUfhuwpRPp{RYs!JlZ0*-&)&I!s|9NR3#Yn4m`_%MbEc#XvPk-1kz5%K{S?vv=%H2T^;#uBEGE&X!TQOl!JEaFXvgCy@YkRgUZlEq192)|gAZi9V zjUrYR^wtP=2Hk&czK5 znIqP2M+n4SN6SuC5;vS3@I!GzX? zaeG*(S)RAp;~;X~W%Ot$^F@on-g5}f-D$JwVgx%ydPct>)5itOl+WrMV~;?Zn<4Rz zglpInP$egF2-yZ+9_Faxr!%t~ImAKJUQX{TpCOV>QHBo=?NY`^BRg>9a@ zgm%M5QScXkNX~%^8>h#e62@0d=Vh{2v75rAUAe`l+JMa`6&iT*zggQI6NXR4J0v%Y znSHWo;rj@2sDx;s%|C36h20~+xo^y;44^oJwh7lbrGgjrOxF*wV=h>FL_~OcsK2YX zOsw&0gHo|rTs`lzzr0iR$$EXvwwHDs2l1VC1Jq@ZD3|nl&I)1?awtKBWG>Q?u7-`9 z34q<##$=8j4NfYB=AMf-7oZ)o^5_;9a6ghwau#&y$ z4bV35+OaA|sIBv-74Ld&Kn*pHf>D7XN3wA=Ytd(=K1Z&1w31_REx?2>t{_tvb%UPz zwINUzJyNqo_NTirqd%M-M2a|Hwyr@jD2X9lBZ}wOAfR9^o;Gz-lxfK<7=|V!?{Q{&Part3#)}FL8_%PQkvtMI2RA0+Z9C)q$qIdej5&lIEuc}9?!vn9DJ!7vd)k7 zNt1B}QvkQhAj7G-wPFYliFJOYz(|@?_M%^JAcrveC?*4nK@-|UZEd!0&P`6zlZ)O> z=c$NV%rl;03Eyg;O%p6gVqr|Rw|wn}>(cldvl09u;qoJM3};|mjM96WzeQluz&8L; zoElLc`7m(^U0D*X2(mCU>EF13<}iBJq_a-PyGC~X%B>44M9bi%%p*j%5nnhI^kvv~tl2<4RTPg&bGDlnD7 zG>)#*3Ge%T@5VWBpU}_(J)i(SLCcKJ(pwjF5DB8-qU-_%NQ(Tf;JS~Vn=C@h1sxdL=s>6WQzzn1Pf z=GorBqm{{u@$sSD{U?AhxB;_6lcU!OX6p}3_vgW$H$ZMzd$~Iou43%bB~!bO>R7>E zTn2S%Yec$Vs@~ck$2Y*e7tClxg1f%@>F`AZXYB+J7x1U5g;qRQU6b0#)FWiepBU?> zaXe0L6FRRg`4cim_gVL09|&6Lq7|3KD3J!lY)x}YVJ&X}NWG(a5?=B7Aec=nBA)Y5o z(2VKG1Y)Juu$}+&HP}29}$b}zF1z-^9B8=!ATA~vyTEo{o6qv-4Q6d!Q+XbPAE9%qqChk! zYbi}oP?EGc#R!W*(maIA5El1$!T}YreR!P;`>WcEqg{#*u*D!!BGwf9iWT?Ll3QM0 zDNIl~KYM10xIYoja)uT&Nbltc$xLn4+`Ui?CZYevmJH3&H43HV2E)+L0ZNqjNos{> z(^P}}iK%wq6J5SErp5M3rm=C*E|7H^%*09l89H*FKkOSK`(@8*lsAA#JYe_2a!t>h z!6;nPMlTSuE;FCz(j+2&Nsg%V4Wo5PLbHU{IC6M{y>rr(pX_xxnS)8%KpUpm3UcJ; zxZ?f+TO%2>4`ekTl)mR;h9?)5ifc`R$EZj!f7tS4 z-T=3()b7Y4f6+10@vJmtHSN;XaaUhVQqSa$<@2KpOq=O-uq*n51F99sK4~J!iMky! zF|)Z*1+On4HpadKov>9*1!NsulS7meu`8N1QU!e2%4qg*-^v!mOk=kdP}$M$5+{*oL4O zS%D5qZcr>h6D0_FGc&SY$)%D@5!0SNkqrZ*pPzWWjwS?i@z+gU!>w>719yp{2^(Tv zjaslu1NbtceS`phgvEI*BCJ5}h_iVz>w8NjBqrsbT34D1;-Kg0KOUYaD0@CHPgFJ+ z-)MBwy#g?F=a07EzQ*Kcsq3q;okYx|0=h4_nXb9x#M_!gsCyCw<|g`Wahoy)C!Es~ zpKbOim3Md|QQ#)!-Ydp}Xk2+J=j^-JLw2uozQFvsV%WpoQ&i$XVuK=p{hDLCgzP|u z!vJZE6Vp%#1RGznd@Y*vc|1%*s+|S*h4<{xT|_7d-cD+Q!w61spgZWh1!I||P_OM3 zPd3_CTBVjBK2mWe+sA@Zu+lo5R*dQ@_1?`7%}mq6S=o{aNj^=Us2Uf=K2enM!$Zi5 z4Q~9pFsI-I4>!ANZ59WSAet-FwbJ+BK@PT=0t4eBj9xJwHD+sap?&0@NO6j~%!X^8 z%oUfWw{+4b)>0={Q?&Y6lui-V0GEsUa!=mTkibtVrC2Cn1mdY$+IWH#ysdg>x3#ik z?>G+LbK-~uW`+4Jy%dy)kA_@WoCQNvDS%-S3VTewEl%hEBBQQ1+vXJRcJZ{=O+amO za!b|efjw51E04$_J_>UG(#8w{)c5ci-x(GXd-I01(rYGz^TDGb^6os1HgmKRFRM1t zLZ)FT^uWh=10MY!=f@?>3zdohWqO65dyVytR;$ulNZCZ(YkfyFUNjvyV&F7B^`mB; zzeA8h=L~eANT=ST)rtw7Ib`jxSWFzE^S~y;9$XGU(x*Nic1@8@6a{+)h+HX!*;@98 z4aEfdymLY-25Jl>YWlFyZ+-79b6 z=u!~KB?OFj?{*G`mi>^#*_? z>1e@{d}krb{cR?lydAXVjI&7=W=*xz`m8Gzy7j;UStX1lW9e>L=fj5c@de@)A!EF zwm*%!&L`4@Fkbfu{t4`UKra>00N3`Jl=nk=WNHNFapXc1I@Das43`ZWzICJZcqMk8 zvI*MX6?>TYzkJJyGK5e|3j$MlhYMK7#nA}r2ZTg2DMlsa(kBCT~an`nQ1VaFLNH*(SNnSWK?yO$t7#L zfXnBK6(gSb#tuiM5(pn4&;h+=u(e~ld~{XD0Hf90wUg#sFLv#e4-0gC!;A7w z!y&mE$ENR?y0j#c67;tRAzL>;6LS*RMmx)u$O;&1zus8{emZ=I(~~lDU9!W&ux3|~ zj7d5{16TQU4ve{s`?^COtBWzE>KBOCV>>|VN}=2#wAGm}pBPgzj#CbWt{!ZP9*l{d zj6TXutog$_#0S7a<1le{DP;~|zM31N0dU8*3~^J%DWBM8q4G1iQ4fsWBEL)b#T8|v z=duykVx`Th1mH?ifx{%9TI#h-&0H3Q(~BZuLSm^SNO1OZg2wDzhe!vV^!5#w63MPD zSu`#*XFK4DCx>=~KdTMef0MI#)gh#-n6fuXDY_+reEd`zAX4|}rhAkLE<7+rF>6PT z9mCbpK}1ma*v~=cY{b}f)Uxb;{Mp1=;g-3!Rpmo5uX8q8K&_}kkig*#l^gE$h~92r z!W_MP>ktZo#8|I7nYtZ8=<(k#!Cc7f&i!YjA1|#^DW&3Zv_#HcuB)!$2gU9ix8qb< zqml~RxgN_{++vCycz+OFe$9}DqyP92M4IEDyf2~qBQya~X^rX%-EOK|mYLUf@jg{g5?|qFp+qQQ=gPohJITXW~$_$V*J2 z`q@4tzl-+D`@*m-<#yqCYRk9=;(j;8kG255wPDMsbjuiNP>AA~a9%+T z^yn09>2{|S-m37gn4FhCa!ysz7E!hpQwkmD1^%=Mhga@JGi3qamo~WimadJ^!=qG0 zKm16z%#r<(dty3Tuw#FfR%G{a3Y(in-i$s3(BUu?Jt0=dadm0es5naQV&Q|Ib-$%qfA||y-$^98#)Vgeki99-l;E(N#x4G$bs{ZU_sNSF>T~#m?;!3<1ym!*_!eKvLSJ? z(?dAr)FIa09Z+3uXmRZqf0SnF#se)fd`}f`@I19HF2Ji;IqczV6O-UM_-a9wD9Q<$ z%2cW-2q_UKMsD5ON!k|#0*Q@_Bm{GL-1OsI4VK^|PNR8Bg%nYm$-l@hZXxF-h3U$& zF(xV5mtIK>k~cJ(A7knHQC>J8#Rd3;-(fZM*|(g~+$cJr zyUR_1<5`l&2}@~$CE333wfL1-EMq!$tTcHx(o?}c87aI|DZ!>3^x5)bB=wE0HIh?m zm?dn{jzk|b1-9IVK!GH|7Xtvo6ha*VI!!;0A^2TtVNcE-kGOi#s^FsLn%Qaqse@IfuX4i+zyDV-zy1?UXO+^&XoKh-1o8H=9qmB{ z@ZUcGfG>wjo)WgH2Nsa=I~#(^o)Hh5WftN*XT}d$9Uhn=Y?m{1n^%JqsFj?BNX;_b zR*!qlGQp)d#^i;gt-=k+`$S}FxQ4G+e4xm%?U2sl>&`Fle;0+ftGRg{p^qO0XBS1P z4&egPB6@ZtyD`k5uCI=@#cKfUF)O)9th5U4Y;FZ8=vt{+wC&(T>33@p)zv|~lPR${ z@+#p#6~oR8Uk$c>nkv6%3@UcmPwvBqB5Dj0L%!4=c=u`kWR_^{;4vF_n&h7|#b_v4 zG@RVG`S81;*hg0NA+taxU$RGx5WDpzb&g!-ySLn!H9|Q0}2K+N!K-u6cqdY+u2j&OE6ALP?Xd z$(o*}AXOqXPE|}=sn{RMnTiZstvTFEoPZe?y(GlOs|<`(b7MEGgg%gVHV+~PGj*)9 z1O;N7xMFyY?9RX%oMiYC_+42Q>Eq;O>ob^<$7V{(SA(&kuZYM&ixmvE*!&r7u2c*#98rfR>n!Z3eGVrs%yT> z)q)Ri0J&y3<_`nkYRcPX0vw(X1yT16)H=a($XuR+lRPndg*y#=CDgj2)-l>nIxZJw z@C)Fp5%~u$O##>Jh&aTF*L-O+*ZF}!_$20$!y#;9hIeEt!a+WWZ-DmDdKc6nueu6f zJs5=DN>_3n4iYqA!Wn)v(TVq=4F2$ZRku{g5&L*jIa5fI&jwFY1zZYFzI=+e#%MPb z<$u~7ju6CWeaIWs0QNX?P)^;Gx|MY26dLiYk?bIQdYstF8sU* z--V>uq73}MWnXw& zkzaU)L{_jj%cJnqmul1E@{+8lWf<#NbZAfHzl{-YLpu)WiNqYpo#U*65g*8_rL$D`}h}Av{-hS zTyBZ^mES&NgA2z5f7CU;=GQs5#qF8{*)c|=1m`h-5@d}Q&{#WTe60F4De@W1&b0=?#0L0aWrgK zU?>N-x8~~i;PdB@^R6qii+g1W_q|*HL81Ff-HSV~u6dx!z3W;fGro@%il*(cUZ)8& z&Keu^om#qI?>-Uh;GT<4I+?bYK>kSI^7^=T6&c{S%dA1iTpRI!FRN{vSd+cf>(N_Z zS8}pI>$<{x13*y%z(_vOx4F$7iC!v2|DcOGoZt8u1jMp&c#-+indkj}w6~Uk5}4Bw z0vhl}`^g=<1enoR_Mq^ed=|lXduLx7_*ZU_k2d~EUw06zp0RHifoI2w+Q68 ziR+5OnrHK=2J-v1MQ$)nS2~>)H8Gt0Jb#W8eR>1X5n_4tJ5EIn`QH2EK+Z@&wQC|d z+%Gbpe*b%~j(OEQMC3~rkhuMJuh00Vhn zcl43{1#}svI1CXQ_&4$)=*ac{BlEXgOYh9)*ewX^;MuXa3Lr#x)W;YKkKp}u{`_5- zjrb`Fk41K^arI^U{nJ9+=E>!cBWAj%PU@5}3#Kmg$_@wAkpT;#u-{;80A6AcwhW8; z!>eUCT`+=8AY(3o0k+yqoLK9;2$qicS;9xd`{(ZekUl2RC1+Tx)2=iM$7LAMD(tKH zb!Gyo_B8p|B{g*fmkWRjnUhlfHP5{t+Clz*9Yn)(Iz|ZzBCacL{xj@j^skSnvOJ9Y zooIAf8QMaFsZr4?4gNu3is4e-uu73!xih6c>*Lh6fOenwjY{wO!GO}r%(I6$ApT}b zSof~h zhm-%m?vDY5)%3-OI~wA{Z*wQG6;dQ6H&6IGRnP31tLeGqPtr9p4vT>W43M)-H)>x3 z(vTu^G6Lj;lA^7B(96-_Iln9EfB^x+`qDdi#!=%$yS#uAp?Q6U1{CwLc}#kWjEHwu zl2LVe{mbfG_Uc=oOI`W21u_}qmzBR24juiwsr=Vc`8N8Ut}Iw2s6#BK+l_Q*2#y8g zJKeOT<(;DCoz{oC?=Q*!`*-!F1QMbvkz=x~u=w-2Ga&qdKBm!bvDS;sPgBDw&Jf zxFt6K|0gk?-7{A^KSSb&DCMW72#m2SqjfHckoIkugR=vQi2i-72e<#C!VR>kHCyF6~!!Paypy3vyGn=2CGWL>ANkBq#zb|UrC0J{;ffj$`Fqim(&9c&2p8|G^2Y)HY)?^Zz^YQiKAP9WNiK@L*gPQnf4fA3J#i7_gthU}@RRDTd+v<+=6Zt752vYto-W4~ZCzmq;qT z*JW5)PnwCR0pPeiVaToZVQ>V)~HR5E$X(p@Dtm?V=PEphp8m=LQ*ProMX#8hoC~T;hfNQ%Wrg$G;9pj+cOpyPEfNW&6bP- zAYn~Bk2>(0#*X`;k_Go;Qsf(e^D3KSu0#G#?>!~6j&~C$>ELe2FCXVWp}PdM+Fz8Q zKK8t7=-ua+x#jwMHS4MMk8Y((7%eX?C!=z7CJwFsSuOr3-weV-nM3V<%B=-b^_D1P zT_r_`3?^k5BqQe-Ey+dQTpN?q&rR@20me=bD5kXq!lQ^4wHg>Wgu7cG2kKU{b5&o~I&M5i*& zkH*B2F%2;O2HjMe9=cspK88)<@7QE;Wii-%h4S;A3F!kn@kV3BI-NMhjB-f`o%F#< zMi;47#ib|jH@-35?a%NBU1O-!-MA$erE2-(NTSlT(DUu;z-JZ-Gj0|8#H2QQ_wIZn zyCvvxux%n~I(cd@r0)L0Hjki@&Xa1T>OeuQFaRHfDdRhT%DRJ;Sn2JtM+SHEi1y45 zzI8UOp{(7;g$jKg9YP!;#GXtcD6H`b^HRHQyF|-D(AfX^Cq5xAEg+5j+sx5g%L~1(+1)Lv zTeKYN`$}2YHqZuBUyIb|LfYkOrqGFmJnl~nEX$~9eA;yO>QIBiZH2ZhfC^vQS-~=$ zZwX)XbS7{Uw%O)$&tg{VWZ?bO$tY>AG$;hE@7M-bcg#GT0iMMe;WSv+O3$h$4#%w@dTKfhnA)X&MtQw>gzn(gBM$ zw;E5@Bg1}XS*Ry8M4l3Py1iB#Jn%o{uBq@zf%d%_=EP+9I8O;BziNStyzhSq&xpd8 z{Y5*LLc53#ouKPAt$Rp#-}{s2kuA-E@z#HnQ606fp36A-pow0Cpg@?PMf;!#>*$K- z`J3{AVv4Yli7T18$82EVMLC0HRV8W;^!iju%%v9wyBl|l|DW3mw%YV2p|7lTZ8jQU z`ntGKq*pss^zDhwgoRzN1?rPt7!IDsZq*vM=!t~2rxXNqZbLnvi}iN@R1UrTJ>%E& z@X#YN6Mq>9)p>Y|NsN2qX(jS>NK6H;DIQ@q!HP-)n8 zqFq%YVvpT9z(cr{P8gq@GJRQU%wQH(tYMf6G6S$U!4LOsqlKN#OruC(Br`(&AIoVX+_ia@^y5 zYh2q7WNue|?G*Veb8Qd8W5%u{PGVe%brs-HS=jpgxHrMM(Irxxs&`9EyiO zDeFMzdWqx-3Kwutx_y(YjaO?}z zIeV|RPV1u)0QHMY!v5DgG^#22ad%j&KY$ehJ zdGCUQ_tP22O*INs7%ju1-Ikp1znInj=&A;JGkQ5&$?zZqP5$;;g6fkF%Xj5_NQ6J; z?)6N$(~~Pcz5(zg5v{#+d#BgwlH4}Xpjd&6XCVv`Yz*5TOB;e5c?^zuA@OXGcEx|5 zYXh^|KMAzFAmqvmO6S10!Qa9d!-ID1KedSSv`EdL*+unVukHx0fK354gs3iyIqT*k zt@F1260#8ugz{lO|6K|pKM9pWo(HQk;r_-N3l%`^OGU{|z#gy1!H03Q;_g+n67f~E z;-3Gm6=N>)#@Te{&BMe)m9)*)bdo(n1(K{*x#?F$p{~?dMe3tgODed92-_#IR2K0y6=V7VGw1-b$ zK9C910jn>X-vHwg69M6JE8ziU$O&6N?zS3gvK9~SSv=!jj_Sl0wWpT3-7g(VeK}0 z$O~Z@6JT~5lN0>A)G0qBz>;^Xo1cVXWKwdrCdn4U!tO~kq`3FC^2o`LTKFCDutA-K zip0P@6hc!)%JL{L$(X?)&=bLqqj>|!ov)C?IB z%sqm0;*yfu*3GMXN8kohtr7y5_my7c$1S_}WL7b!$7rF~l#~noUb|*`XaD&4uXiPz zaEcO^-S6@gBgun^TP-iLJ_E9Q)v|>aKA9?3s`DW{HEw@7x5_B21<6vQ!9Nfib(OQc z*d|elu#bNyxoI}}u3AhGUJJ^`S&vt0sV;z(|6>=S1U>9utJE7`!;b*{$JFEA&j0AS z!Ho0N5r39Yo7n|f>v)z=mqoPet#F5n^VZZzKqYT-%fS6!DL8ji`mO6!UA5#5U=etl z_6D#&m|70FtBQR2*9P-_81WG38VjJEhOPry$MR%e4VNUNo}2z7-L9aA{Eso=C8_A= zu9q|!A86Ig8(`hTvPP`K!?Nzb8&ezP^>!w^ZtC3l{Yv`FD9oc+i}+0(6Y`3!dQVlF zG-B&#_07{az)>hh^^5KwRgiPnt!WT6N1^=ref>+t1>e+NiNve<>-<5$xY$ZI*58OH zZTWz4@4FJISBI`f(GS-a4CAk#BwMvS`}bO%tDn+Tp{mLas-oTiYUjrMZ-B#><6?eo zXq$_C>8 z_j}HH&U1Fo{@NdV*S)X%y03e$O|qD+f*3lS7?1$^2cTftP8}%ug{|{WTmD3SAUQnu z|6Rp@m|d?J4;mC}R5z4wq(gUT3{>e8LYt)jBGr-cr}O{rBpP>F>=(nZZO=WuB(E$b zguIOvN{#8i`hx%$va&q7$H*^cA7;Zv<_XK22mF#%MprPyl|q_! z{(j~GW71X%zONfV`iKcuhnq6nfs1h38$-MFpQ*Q?87lCjw4u;@&A<4~JFF$D<9-i+ zsn6>?z>ykOoFSvnSY$_WtuW7nfkb%nkR2FHR$6`!(BOv{Q261eu3mbgz&Y)vSxBQc zC`nq^g(rU!1y0-5?sPJ+oscF^UZqApWM1X)L0{?1aQEJs-hcChXSA1$CERhO;C+2R zKh0Ajr^{v_X~KcE%4uej1bG**bW_Ig|1Ji{gIKP>?G$oKP3To1!R>|uFhyMj2^99- z`LJjZh3YRV7N=z@!(f-qN^0g)FvR+E+^-v@wn23}?!(h^hOl4FXCA0&LpJw*!?wVF zH&g2GnGx19A^&Y$?SYVGJZ&J)Tlqi?k%n01ZAn;T3?3jn^*&7p8%g09+gj?*PyYZ9zQ+H}>WXxry`NF-p4Lm0+tJHtEfYB4X4>n!VZLoVero<7bE4R} zl}L-NYq=|$<7{Ag&hfe_`1?VM>Oa6=G%!FLV~k#xn-YobjhRJ8$hI7c#@z@B-ENa> zp7H2g(5Cez`DG?DQz=wiNRW4O!Co5wniewYx(&^IJwX28&np3Woo32s7RFh0wvsMV z4hTYIiS8m(rs@|sLaUH%2edXZ@9+FomR^5~ud3{+;aOOMx>L=JMhT6hW6tnH{9hQ@ z+dmY~9xs2Ad>UWP|HEscVeR?<7LjrI-GoL`P4`>Rv}^`w%-`KdIBAQ2LE9ucndjx` zfu3dxIS#beOIC?KHo_$xb@dKAO;sIsXLZp>Rfbje=5LZupXimmuF~~1I@qs!{aNU^ zZDp{TI@;BEAiy})XUgmUgax?MXytLU8gwx9zyY+pKL7s+)VSO21P%%PVGbIbpURHP zRCEgaGMe7#L#tH0E;~Sb&9h>&-onbJFvD zewMqEB4eUpK!7g9DAY5H2^XVy@(IzO^?UX}QS`=fU7j;Sm_)SE*qSabr zr)s{R1u{NpOa8)ls4!cH=ML8yb8GCE89qY0|7QUH4_j(B(u@uoqp69oYkHbUtl}Q; zWL)O)-|77ib}v?0@RnFJrCdA-gmXj%3Ilu433YpFECB&!5~jFTGMT%4L9S4D23+xO z_O5FDR9Lodh+f`tB7>t!e2ruO8A_N}xlzBkZ`j~f!<#ay`SpjI>>OQqCcBCv)yX5wVCs6#cNSdSuZv`+g?4up#A!p;L4 zc4fa-Z*~8NA@PI(Kb}8!P5$i-gwxnKjAG9c`s5lt^ECAz;2Kmf+X8xjtjn^FmeJ9L z4(fJ>7g0u^?cdJiHYEBynE+2}f&o66WL}ti)4?CqWL(Ty+1V|F0x%w*5dNj=w9hL{ z-fA4fc9=Scxm==#RKt$%MvB=sYBCn_ScZgB?;9s?y?1W|H#aBkL9 z{Qns;oL9ls2CeWvs?D9QH{IC@Ut4D||7e=39EK`))+v zqD1yh8D+*vh)Ri)gZF5u_Pgj+G17r&4p}WASNeHBAS3>qL9uojKBWpAr7=E^l2E`R z!~__L`2LGzI{*KRTa!MJ=e7>%D8m{>-;sU8y%q;tZlRex`-aRt^Q0V`%&2g!Ufi6+Z68pn|?7e!H0-#o4n+Ksnmn+*qG^BOhzJrRihVc^fREecTqN-x#>*Xb#6hkMKQlb zhrx#Mh$o&kWoIfv(QZ)ZWx4VR2SMZdmJV=*i?3w%{}AE+sn1pY-=ESa_f|TzBrwGN zJ`Yy4_6u?rhAWNi^7n@Qtu%ba;DN?*bU%drkz{YahwfGv&ckK!yCr<1%d}%iUJ-wK zTw4d=s=7TtImW)~i4S2q}(gUAq2PM`f zV`u<&pS6xwZzV*I+LCcO7kNC7kLf$#xcL2_7_dc0YyJZWq^i>CMVDO|kne!UGbynI z!Mo)hvU3R&2LG`kEVJXjdO3V>h!C;50iKD3KwCneTUohVxsS#IrPM?1^Lr6%Jcgkf6V84Si>*;(2k%Ct)}n8LtbCwcX4(ZUEfSqjot*k;yhm- zkcoWsvIP)_t@TYQ8B0mc%Y73-v)?g#2N5xjFvk{qcLCg427&X0*h0xgkVX`WjrYwcm`kr5RzPJ`w|ATr#Gy zA$xsx*ZG{cFR0sHjT>BF`UxmN2hS;<0UN*6D_x*ccVt5b%P9R+zHS?&`}}Z(68{Q^ z9YgOed9eI_Ui+hyN7C8YvhFhIZNfn(|Aj#ARaP4=;kMI{5=aQ!m4EtG|9S!gTLVE~ zBb=4gl0?T7o5bX|?ZfWo?AGXENi}k z1E4b_czVG4D0S)=(ZkB3AuiF^yU&n$Kn-H5_)z*gwB}_?0!)s$5BJb=>(iJ z#ee+1FO!)n>aMe4bK8SrrIyiKt5YVhi#huH;nuuH?&q3JZNeStM@M(6(HM0AC=ZSF z9Uj36ld<_ug|-&t1ZsgVl#6!5H9olSl<8tz2f zTdu$JLXG~1$_hQoc17q0clY0x)vl2z^IT4pj(<~h5WhXpUxWq;F_|yMd4|j=GDehs zBYmqBiJicdsW9fRU$oh(#5WeHT)~J~zECh!>z>xDyln_5A|K`HUF3|69P4U`DDPGb zC98$e4Ul&Gml~5u(tG7k5?Ox^ZoW>27ITQB)!dPkqXwzQ4<+DqW?wd9%9eyhu5HFx z_Z_OQvS>-KAs_x;zm5Cfz4mo8o(px^2*pL6O7W{Wno22gCkL(^x}85&Oo2a4?Hyha z&@E9+<}m<1NUw1&9-#eHE8ME<>pmS9q_VZ}q+}V;{#`oUz=C1hZE2aFbj#r9L<~jr z1fX>S49G0);_6Sa*XZOevKFn=qG>O^p~3Ya@<0fs`+am zBux84fV;FdLx4CCdA~V6`j$vMAfwy-=Vn9ID}H*LHb-Oh2FmmRzuArT1*!AdJlVw+ zKQv3uETp&3&w~DjA#QBNiq>fnp^o+1AkZP__x%l?NcRI%lp^kl{^N^ z_&O)njs{jEseZ}98GHB%1`wNPjJ_Y6-gLMv z=yDAzomsbUS>Zh^RIUrQzji%0gAN|Dh?yOTHtu8K5?CUC{x8|fnh|2Km!wnT!|}9c zSbHb3XA5MUzMe$A)-?d;r!L?Y|^EC+qVLBsqImxnr4w;|)j5$tlDS&hZp$rEy*(dqbiA zC3~GDKUvf3ba@yEkvpZ^p;(Sh4qX zB2ZMMcvxfl_bh6KE-4f5DnT?4@ZE9Rz`Wm%K96UcE9Q}+$!y7htTYX^*J-R7$>8aY!zfl-2j4=(onHQLu zt=5CtvC))rftoCXZdENU@@|NF6@th=rYp209eR8*@sXrY`2EvlRqtp~EGUL|8bJ?0$Wyj0${Sc1gia#?2FI(J|_Gl~A6!;gi_@OSE9W0*@?=I(ma^X~0i!!uh9^ zm2*p#UY*o0`1?N;LXn5SXa24-U`%Z(l8nEJh+&5$0T^k(L1jbm#|mOM9W9>0Sp{-C z#z_fS8uZV!{L6g|zsIRg1x>1i=q7jyb@w*lFb3{Jq<^9HV)&S#89)nJrfO z*`x#NTKuz|^_0*AUj*GIQi01ZA;-E!92^>pAnmSx_YRC?4l3FECo9NX7h*l0TPsvm ztc3_Ln5>>Y!GkhygzrfZZY(~j8g4t&<&0QxwJz}JrR*KDqC9cxnQm7Pm>IZ;edHoT zeNQZ!x|;ef*U$W`XU*Rrb}=3aoY~WCO-c=2fWl&1L18L5Xn8lxb- zTz@yHPorS>LX6C-;%jzy2DXBN^U$+U-pUVYw~uR(6!E$e`j^ke5Q)dw`kC3xxm90n z55_zt!%dS1HEGW{=AFXv#Sgh3p zwl-=*v)fWF}wfoFU8vb)yr!Yk%dt!E1iHVgTp$4aPGugy|UD^KnIAzpPY< z$5VVWV|5w5{Tk_sT$tvT<@_E@&Gxr_slIIV9otvF8~6Krj&Ag^v=Ra=9RC1D&dGBT zid91@dH99U^}$A?d649;4(FR=?F7+YPY=d!GEuQ16}w3lj#)BJvC@v!%xDau44#L> zF~UYzq&?4*j7$9PEz3IS{1z4bz559*v;S6D4mE0Q(3u_sMeh72^R&~kScku&BCRVD zB$CA$N4hcEd`c%)GQ66r!u-cfG7IjRG5Wg2WDSVa;_153zTUe9V;-m_d|7IAOROws z_zQAT&S3hrlN&dyI5vIlcSes_b0!g@6qj~31DcS=X^?sIoS8@U~0anJao;s(iR7AusAouaC%&GBkNuG8WBF0~*C+6&z^t3ywhy-V`AzT)f z_OC{%3R_uPepU+lvswD07yVk_N$KW87`*cz;Hw--NC-dfhbM(=@OV zRV`~U>x)0c_ARQ(pU1r85NAXeY50`Y^wSsR!J83bbSgV{>F~a*J?1f$WlOJ~Y zIDM8wcAh{PK6fwlBvVA_&j-|YbDmN;7uDSvBYU<}y&vZD7Y(qXgVKFbtQ>Mg-jV$I zM2yKDK7W3vhFsbdtw?NURgss-(L@V?YZs30zVzat$@coRn0bzzp$o z8?GDa59--MrBIfI@fYa6;_<|pKE=d3fA-tAJeQ>brIZeJ_WZ@&Ord)vb(?Hw==M!3 zSz2kuTSB44X(}%ve$-x^+#XtCdgn-q+>0S3!*`#yy#`xyG^y$@Qa-Vk1*q85b0>!q zX~b$L*YZ$m#qt!&->ss0lh5*E0V&zemRjAH2&bmLAahHyX3f%H+{4f zN?L6Q?NtBJku>F$a7<03JrtdMbXn}qL#f%A^YckES;Hg15bcmsS+5 z{yG1jtH(tW5azj`GJ4sgYjj3#+Fl<&oqGFivtxACd|Ao3K1R~nIYXJgfz0r5cyvO9 z{%i{BeS&)E%e=S`VK?Q$>>op|AWSpCSmSHQKUDrD&k*Kvd~|{-`p;1Dwb<-KuI|QK zi82Yj1Ruily$z4#EGGKj4IA*v%{B{)sq#O!$2E|uILg@h=) zZ9wg!q<&Ag!soPT@(NxTsBaW-^B}2MW_+sM>tZN$gmr2^B^0E>D%oMj*QJF0yGlO` z>Z=%+4%&D9R@Nn2Vp+C3zJzX%b%)btZ3Xm06tc!obL!f(x;;?}BUzig2Kdlay~A;v zjb_}T(s~n8P3brS`1nZ7B%C0Av#-W918O9Ev~xV8X={C(>&#&&8p4&%Bfk9C+LmfogE zayldO>vTfP%c%1zIQ3JM#|UX1ZX`1uWa*8PtJa$5tGJx0e%`24y!?$T0R9%t@P6Li zPd`R9o98zp@c#7E%(FD+7Q8|RHK2sp zi>Xq?%0tVdUlyh}^X{{PRIijAzpp>AOWOkWGUkk_`-V#rZf|LlF-~t#v6iFn?WhIf z6YiwhedeUloas5x($^8SZN@d8N*2^G@t%CZ-#YvcAda{H1{b1xv(ufT{VGm?W;f5l zylg|FEz0jJUKRIVA&Ga2C>*_7K#?{b=)bQ9vzYAKR>K#z5SQ(Xh7Y4~&vfkpwCrJ+ zUN7EV25BynPfXyls4i7_)H}~`riXW0CK;!N&r|f&mmUKeOVggcx2@phaiA&9z++V1 zwPS|A0(Py7VW0pIq~A5Ekqcx$G)J6`>!qE&1~`h%c6 zdickt!;$tU%nL~Vqv+inFcFhQX4hG%N`*kRSdn(R7~P!HdR|Sm;;8F*c_r*nbq)_X zBpnca4$>8S5g1jyRGLTOESuqlDg>q8-_6>f3c#t3c__x91lsA{W6+I|N<^&BF~X82 z>H8Z_vdq7ANi6Ao))K)VBF9$0%1VShb5p zWHpdWt;%Q{7Xrs626dZfNe8Y_ZzE&5zhxu>_z}{!9SqX;Yd>)OBl9kgDB<3*9FXib zy}$7fIx_@Q=$%5pGxL0?%xWObx(V#{suQQyDNgTGU9gm$DPoamE6%C@TG)LBUq&l3 z?09BPv#Ow)-Qe==!xy2rz5x$+ugiDS5;tkdyEOTWzW)6K;gp4+>uyvpebAI_k3sixHykH>hUcOLVg0wj+WaBQ4%;caBV?H0G^QuN782NeTgzdt&( z7{JnssXH>}HO6B~>Wa=d+ar^GUfB8uFQ469oOJYuk*3`#!?qvS>T#bkw_mHXZ?OYT z-e!<(^X=f8+wfDhG_-@87zIVM&ner>>}-T{6R)E?$;X$z>nv!-wH#VaXC0u zzktdn^13&(myMX7#}ZH2jQJ@qEpwL`8r$Y;eQLp4r6&!1a-S^{4lS9sa*3Hnxe!gi zL}$|N({1fbk>GSF$-@*O1+7ucI-7+mSL*ar=AXVzj?bG@IO2T0L*SA>k0P_??IY*S zRu#(B+mVu9?225A;*Zr4q~D;yb}} zs@6-=+E$CDWjZ+dl-w8dd$=^8U?sYH-l^R(7u0^~4NCb3$fC`5>~j(TSkeJs^~Ni& zsKgwwH6)XLdD`(8CB?+cA+@M|j_%J5qipBuqFnPz&DP1$>|Yk{Vq7jikC@6)7TiZX z1wuZ;C?(x9zW;JA-)#nDLro$>V^4H)OT?m-+_7jDMXAM0o(U<0wOV2g(@bpBb3kdA z9(r1X&PIWTh@qwzr4SltpAhYx^1yOjQ`fWs-K7#qCAFka>_`hC5LU&>vO^kl@>2?N zF2{jMDwB31MVDo3%pH#7oW4E3+khiXyy)*LHK?Ra;juo-F{E>;!t?qZ>O=Cos!=lc z&TG;sbQ7d9@3@#RlAMd##p9DIZ(a$->Gb>qFzlER+#|Z3Lr<0&J!GYI`dC88gM< zC^uPJgcT#Ua?!jQ*)Kr%*ql*)#-P7W=vAfJc`JB%Vm6;)oj*FFK{( z>j({Scc2s7P)Z29K(;>CSsZ#$+zQlOc#H+1_G6h;4<5A2T3-d!Br`(}#fTPrV!zK2 zB^}NzaQ)G?n_CEF)zWIe_l)7uQ7>Wb8$)T z7=8%-<86@KI_6fSW>GtA&cIL5?cJY6OuCupo@Gr5`Zi;0#0{Tn+;@1jNe z#>t<^FaW!~S}xzQb_ZjS>~Ng@@zkar93VdHvn>iLqvM7M)2-u=J zQeDrhdw4Tn6FWg+kNzSrtL_1N6IIHDCn~A#s2Xi2%Z`qC7LiQGzaRk*bpKgPML+X8 zOqg<{cxIRD*S^+wQSN?Ea={N6Aby(QzvhL0Eh|;t&x~x}F_S$4n zFFap}SVuhiVZXY+k*!2qCGj;t4^@XBH1{1({lu}Svz)bfz-E&oKdy=SqRDG}ch}DPbpF4%l(N<1|~A zKIRYM5nxJd=l)dya1~Efxj0Czg0}NBpG~MW#EBrTGl#~#Hr$-BV8v(36FZeowrxp$ zNgS1`O#AQwf}mJtJYxXi#T3e*okP#~0bMi1C&1sUGD6Cj%m-@kA+Qe=f#L6{L`4&0 z4zlzni!2(vwYUWtRj@|mN{L&*_VGxbU$2OWCTv;K253Zu;-GAQTWaEdI9!uAS7 zJl=dzFFR=j5$hojH$|{{ROfWfS=+ovCD|FW?qzz>b%U)U%&-^=!6EVY~a3!AM^!{vvso z3IZ;7hKb0OqK}I?vk|xJ>v1KJ_X95XAm!<9aTB{v?(9G5u0NJHd@NTM^6g?T?#?)J z1E0(6uxb`kL>g(mNq?{V<^Bp?&wjI5#-)wDSV$wBxioJ#smF*bIO7CI8;G8tjWODT z{wN%1V!5<3BOa&T_b66J2QW@nx-L-$oJqC@GhQ4-ltF}BlSc+N<}3fF-VW9W?|0s-mWb_t<`T<&7@jE!!ecE$BxcXkb5TY zmfyD~klYl~({SDKw4SH!JjEY5Dq2mb4WmK$mCq>WhMu5=;nwEe-tL=`052<32OZYO zcpom|=5*U{+7q_N=?wxUF;rc|E)ru^rdsV@HZtQqxrCu*tR&qZHn>$VI@8~G1BBA> z8jb=OYtnp8iu&J_2+t@t+M4rlz6!Nu+8>(2X%lW)x*vrvvTl&5SXX2$7dC~h-SQVd zE1hN4Vt<-Rm0s(OV)@9E_#K2+Dj_d^e6&2|tsaqJr9pJZLc9IgNMVjTvFKS+C((4` zE0l>h(>8Ke9W9?IxW8e9Mq!YcI zV4njh1*7A!n^^G8?Xn_(C^E4`R8yDAN?o6UEvrB}mE!6>7kP3`*?fXaxm>{GY;V2y z@_rnQnp(_t)#g)>{^(O1NR4i*Gj!I?$smv1fSHYJt*cRrsnsIk&a>1E%F(n zO{H21fEqZ~p@eOvrhvBN*}!Pugl*hC`Q>3w_Yc79?WaLu7=zDM=NEvvcPdq$%rK5` zgr&dGlhX3$K=o;k?Vp=&LP>?v|JG#Sq+dY`&qAOS-Os1Rr8Os{RyG2pWw76H$d{nf z=csHdE#WF`-o87C?Yd3j6^u4pagb&5>AqrZ@Cc95&)~TOP7@~fE;hmn) z(9U;)NAI6~}JSMQaoAzq)iU$X||C|N*F61by+ zg3l!|?h6;s)8xPm-w;*rI-qsvu1u~hr3-<`PU^eDBK1X!cxgF)IvTI$nuKL848?vt z8IYsoKNXR&+T#cjx(50{qM4jE^AhS4Rk%jD@Ih{XoSg+-5P78$`Cmx4J@ybOXe z$xR%*pafbHV@E4aHzkl-`g*L);am#Igb<}Ic#9w&O0X*zoYE=YnvW{&)^cFnfyt!o z%BU}hyfjx&`~50a79SZwN_t&LL<2_OPqUhW8Fa(+UZ;6LXLYc2qQ&90>Ie^9#FnPR zx@R!V%6DCeqvK87*T-W)?DOw!F4=rpkb;jy`8qm`Uq-3M81fU>7c3!(y|`H)-6~2_ zJBX4t2k{`Nl=zf5zeiqvsLk4PgA%gq0{A=&T5Y;~GieQEW_Vn{1#&3JY~DAp6Qm$z z7XF1%Dq{v|HD`h;jUR*`9FW;7*?r^=l${w5$Cn;vigazL^()H*5Q!o)Cc#0Ql^L@7 z0jTfRkJJ$kRA`NggAvg z1uF*+=i-XNY9?~@A9s|6WYpRyNZM7)c~^1Wmum}$bUYegZ{I$`JfeWDh+Yjb-^wx3IeBP41U_?S;Y zu&V%!y<>TlqZnd>J75!@^YL7lI2KcbrBmPgKzRO}4*J;(V$)AgT>;XiDt_&x#G$iX zjImO7qEvB$GNljF)Pdd|>%MjYb~%($3aK%*FQ}G$iuM*r?0wr_NK%Ip)LB&MmeN$6 z(|b}yP+&G=SzJ!>x6Fe1J{NaE8rMOK(<5OI{wC@0CVkB;r%dJ1Q@fMn6DS3nVBoNe zWPe)H@@uwA{H(AmUE-F)lbj01X&YoW+6f%X$fFWKKc2S>kSbrI15k`cZ#+xKKh(;# z&ylo)D}<5NY*61r(4{@i?bBWud7jv5%D3%5lJ)ftTNX$-kp`xhHfI+pWpU9lf8xj< zC5R{K3?&^7OrXLd)_byjN-qn=3h6S`Fi}HlG%&t@fHAS1ciJb~Op{J&oO*s~0WjVH z6QFs2^u3SuHqDftu4a5_9y(1tJ|OS#QvA%Y_Drt$xcR;mwNS}8kFlA(-aYA3y#fTy zeP@%YOLugn=gDpgWws9}&_X>eUTsjj$hQ27h{Q(_9`F!;rXp6_!UR{H1E5Cuw~wJ- z$Cg;SC?!Wqu%8`&jGJ^62_wRzcK{YL zL0C;C$4oJ@Wlf_ZzI7_{nUzOlJupR?h1L?GXkI=;)fS=ifSx&&JP2 z5`2GBWd60!wh#W=OJ)TUoE-C#^pE zk%(c8jQxUC^0=K3Z~LO-H(Yvb2g5fAzH=>JC&K8VBIRr@DNMd^wkdP`IBI+tnlpqmGM?Ejjr#tcrvuNI7jr6> z!>2)ouMQN$ZJaLGA&Zy(W-d;QR88-HbB3kV zx6i2j?ydO^d{W2}tV{63<;#;1}2>JipRK2az$h*=?{82j6V>Ip8Vsm;eLuB zshiF>O>bXT6?r{xf2Eaq_S9#^VQ}M)eNleN{z1M>v(|BmA>d1#ijH=h-e4Zp`+NtH zdPkH9GG*9XOS$6h)1{O+?ZX&=1_)@D@$mh(Gc}U&4Ys1Yzcs1%mFaPYb|oI^$r&$nl>+25A?c83AAp?BsaqnV+63YkBX7B?Wv$l@G5u` z@qj^#&cwlJ;wCcL_Lao0Y{u&4dqU7I^SiZN`B8Y2559+2y~)#bW#U&;(9RoN)#>yu zZTygq0^T?9JTEV*NH8!m_uVTaE!T`I*>q6j)Owz%{esA!E(xv|<0eh!2nk0u?|2po z;*8&pF-&hNYbL!gZ;#s=X*F*0Q00Kbks;|^%6k_sn&;`@PjJ@~GSX2uBQ?9l?IUo` zk;O%?B7d zNbY-p*Gn|fbBsJ4y;kL8u4+`=;&yZJuBsK@FC6k?BUL-h{CtlaI^VOS8Eg(d4~Zm2 zD#}@8lDYKOR^ZqYZ6GhIf@5@%xDmi8L~pVmBOznrZaJh05%SA#yzaJkp3Q|c<%I-L zRGQ@d#p!U1VgAFuKztE6mUM>E5h5t3F;O$sCl|m5Lv*^$KA?KoI3{U#_YmI_0wG1= z?I&f7+W<~<@9)s+=Dp(AH+dt%8@?&BQo1_Iy-x``r8v<`e2E<0)mhrF*_Y6Z7f7Pf zrfr-KzA7^qV2679_?R)#J@IU7po35rjfodzxbZq9ixsY{Wo~#@&J0#Aec0OLKX08tDbq z?1CVMjqa+lm323f%EsySg$=NTN$Qi{XS3`)jy`y@$f$+~0AtXu4s~u-70zKRxz6f# zIL^kfLv2mJF}XUaDUwnENsXCxlo`BH6h1^)XyyOhYZK*NjfIH2P>NJqO}- z@@=#Bk$4MG@)B2yak3KbDfBwMJ)_?T(vw>)9~rHk)Lj|)1W8}?Of#p(&u)J(eqKgZ zdFH{9u9+v*;ITG=g#L5{@CkcBh1aQSkJ-NAbgi*?-VmgJPOtP=DvOqhBb;YpCe`Te z^X*;8*2ZR>!;t1I&eTGtb7jkSiZ?LMut^XEi&Q{IxTG8RdVYCGN2`@z4E~{ix8Llh zen{q;uApXr9{J;uzkp8t%hpZP2C%``T-un3Vy(c`b}6UXx}T4XX4F$rMmFVGc*JL( zplq!-8;loxIoSx`$ef@L_*FmYUn`%J1VMFQhE&P=Qs`~$)%yCQm8F_X4aogzzkiM}Fp47$FRs;lat>xk0xJQZ%NGKgDV)_Tn*u!CK6 z*^G|S`#ENLJc`ME?3}3wDc=4j=cK;D!FcCnn>~wpi1_rDj$%t?*L~2ypB3btLe1=e zT2wkTcHpxX!TY6aDn#1XQcn8$cN1oaNxGUyHYqkGTYYp~`Bt~ z87Nz|S7m~O3DDY>$G_I+mcr-4VnOE+cm);0h_PR}9I^arm`RdnOXx(L15M%`&scxqQlo<6;I`a* zO&{Nldti%Z?#JqlpZn-61=bG?;0M%1_GCd!W?oG^)u{o;tu*28$$1K7G`j8PO ziNV;e&3=Mn(fFz^<-L-;5xpQpoci#=jJ}AR)uLNkD$@+6?nEIPukPohK7?vBTg@cB zk?CrT@n{d0ug=rThQ&^*R`X&P-d@Pghr&6^AIi(yU|=rNvKcxenkB*rIcgJ1*FY`q zh23KXJoo5nqO}1# zVIxWkN^pFl6we?7`lto4Bc0CltXZ6MT;P?SiSp8eJ2n=HT0$rob)QPb>6@zEfGXX=Q#nzfb& zq>zj;B6T$(6l`KZ9hI)h-*QS#Zf)1b(*L{qD4 znbUc=LiK11ugP?<#}_>k6*=SqmiE}cj7F1p*m_DG&W)s z{d;YXg|jqi7~UCNhAj6p?*>y_l}JvxNGCh!e#l zBiV5%3u&5Gmu;K0GMDDgY2x$HFx%@>CWUOy@OdL>I8UV{NanZweDgocm!u;$(0eLC>IqO9v+hhr#j*nDLNN)_ZRCG@vJ*Wvk9?JQPn^ zYFRxkKne#rn5GKZEppqcRXz++bvUN+_~RxwSms~yon}JzBJ%uIoynI4W{ewVjPq4q zvt{U3mBvAC7vnvKV;CH77b~!NYLA&_K%WW=3UzX2Bjl92wdlUToWn8*XPV85X11-0}UmJ-uuyi&rIk`kRDH=t)xs?ppEsJb|wG4sFhJ0U7}W4|9yu+!0yEJ z+fNz)me@rWJHWhsg0RqT+SB+mor+?C-bhc_k{#05>U+F z5mzSvwkD%$R8joUaG;@LB}F35m5nC?u*xjslY|{OH_H1PFkW6ij6`qy@W$krYUuel zazbL)dET7n18wbfwBx26tt7?DuqP!CLG*3Gg(HJe ztbJBtGSl54tpHD^d4#W80|MwW9oq^mY~ML9XL7gVZxEUG0ct04i!042c|0#&C#$ti zG8FyrmfDy;D!_Q@q1ckTd7V!TcsAx_FDqDzVZjdC6CA_O(wXYn?%<-X{DSKveA^n*rYvX`9n#Um zqvVMZ5#y_B({6G$uqg_ZZq5K+I?d(@EKQbno208FigDdeB*M({hiJaZH1}Cc`Flw4 z;}5l0g_1KJ@P9V%V=>w9N#4#WWJGwPJku&T8;KM@g_gWq)o8Jn$j!pFGwE9;k8C_N zE_++QzfRY<<%kLaC#QFlRSFh6(nsUfe>vcgyD+}95;@v9*dvP{o$0Nz&o2Ozd(J*j z*6fQk5EE`T74a()XlUKSlP1gy68L~=z0=1Fd-6u&WVa5w_^z%9#-%7PM%0TN`|1Uw z8rydq(-L%OEZo{UC2>#3#1Rs`?rr+NL%QEiwVV! z4Q$unrTOvffPoe^-R0!_-+zUjFRJj^Hk+`Ca_@8bC7)J|TIRRe}Y=DMZB@9SvUzYCP7dBrh& zNl_FtE-0MZl;T<008{#K?i-VSrfOoDu3x)8Kr1iEVvU2?eCTu8d>C`tyf@`lch=&p z_xlI4Mj94Pk z{D^X=Zr}9O{|CfCJHLH2`Kk^|^_5+MwI+>aS7|_JD3@fxtFMgR{=&$Y609Mz)LGHo|S80UaSoFuAAsiLy4BwT2&_Qb|(ULf>~n5^DzTD&K3 z7koYoF7=9ddrKBGrIAtcp3s^mTVtA_V^-a00x*4%zLqiVXmCVke`iyL3T!5;>L;73 zb<(G#-wtcDX{>AOHbmBh+$tvqYoqYV#o{VYY){B!bs9X?2QO#ToXxO|J+*tZo9FgS z-^n-C$q!c~2i3_meO#62)yW3^T#z1oljPap1W}a_^24SE5?gOxZv4F0)7tZ?8E5UE zIu$0tC~Ws6zPuXHYI+ zipl1Xr8pT1OKR3=QzF*THje~rz}hvM%4ivtCcuap2WiTT^q;a6+gZ41UUV-yJe4xG zp`i=y$Z-R(Pea*XnPAsP_97V-#ZKXt8AFf4X@10gO z**p_xEG+E}BCwnYv{Tfe+7Qy-&y`EHq?il--|~R&PHqG($6Xilo}=Q>JVbrrzhRL@vmgT~tjM z;l2ckOGXu^Iy4r#n)|Y+TEj!L;5Q8o6FHZDA-{H<8ZJaEaTLf-a?YmrTJwFW6v{1i z3UAFrRDiLxA#l@Rq@l;`oyW~c6Qq>cWhl=-Bqp7y4Fcin(U~1-r$s2NcJJz$1u!i< zl_t`qEUI#}@VSguBu&b|zjT$4!DDc{VN#tA%OE8sK(teI*HFT91=($Y)1;w77tXTG zQ(lI3{yS*!k$p$pdDvYRhSnypbYLhv2x7knYPW!|w*4{MI= zfDx9IWPf;6$ILl|*1f6pi)$KdLSrxY4l+hW)D08OY82o#9ckCu=ytKiH$m*XMgos( z6wrEtqe6%s`MIcJldO?2bg2P=R^1k8M*9uz@IHL$R#PfzL=dK3U{zv{B~SoDlT5Oj zg0BvKz7hq@H0w-gnWjQhDWSQA*3GrkOogIYGA9Y)ycfspfc;&ws-#P^^6I*qFrXSO zJc1?p>eQS7OwwpkG*lBpo#ci@Br>Y-Ciy2VYXqs4xGq%atOqq{P-i1@ZZ-u*MvLN_ z0md|y+Btb$q+3&Uss_*Ba@B!TnHgs0u;H}}(P`v~bq%kVw#RPt+2&Q{p#ey#QTwq{ zZ79egK{A=-sWzLomEpwPh>#So-6do2Sllk*1qvlr3EUtHN*ALU!*Ek1*5g_=)G(aE z8^+ixIm#EUyRB01iw?Z0-J?Y~0wQ9gE%_AK>rF*enS2FOug?O6>gxrx6%32$PHgLJ z<_-mf+d4DcrNNSx9V;&NitZlM=G?qT@9NEtwX|zpu`C>u=a8<+CYuS|Q>HAh$nYtp zvaE_g&xC125OkwOhLNJp2ps+4%^6OsHQcman@s)_Eo%wE+52uzs*`=$K53#H{wm9~ z)S& zlsCICba|+OgXOPTO{UdE^hr#}6h!4O+|Zd_l{aTvf{^o6-wN{9trrjb!*NomiQh~& zFhr4-k0r|Kro<`Mj=tB}CsS*T%7-tR^m!+flLn+FMUSu3(J$lN)h zGHZD=o|I;83A(|>JCMwTx_}X3Q)?bg^Jhg@1tSU*6WolVUrJ+@!8B`%;B}RX?jF$YeKSgIh*CIX3^Dc&F5YO)2&?@#Qi1En>R?V{yZ&7(>;qABfxQP8Lkbt31> zxmDUeYXn0sv%8>6TCK8@%CKK=RJwn<5t~^l3Wt&a43{x_qT#LF5S{A*ZbDH;l|mGw zhT~;&%ecSDLsV>fy~1n$!3 z3QgQ$)XJ-q)r;aSCtAl?V^gxQ(r#o`03;R>Gjf~Apf@E7qdDqUTy(!-2@2Q3`3#hG zKmWu4Di8qx0s#RB1OfvA0RR91000315g{=_QDJd`k+Be=!SEo_FhJq)Q2*Kh2mt{A z0Y4D@O2U*TD&c^z&6PF2e}fx28HFj=9`PSvSj+9^8{jCLOE*D8&ern{PGrD~ON_4I zm=F{a|dwJidzB3iLs_p@m;6Y`r7NvlA{{RW8>0|D2Ou)Xk@g+^gcWp`TElXM>T1IP(5_Wg)f}tpN6{oPKWkVx zeKQAh>FVYtU%_O|Wyt0fe(cOW16lPu<4P7d-XGzu%@ft^`kWu#*8ZIDb%aYI+#=@E5GjlT@F5x-IV?gwXDt<{G-i-vF%1kb3XShG05 zIX-xIt^)b_?1#8RA3wq7=4<=2Fo);UFSD39OX|0O4Q_7)!E3r$tO>Cxa9pU2sncNfnH~&Jvur;cIc%zi?>PDm{)a{%yRt48*4sdBW2!+86HEbj0S_&PNy~c#D&PQ6 z2E+4MZV{gc$pZSkraqAB<{|X4AhuC{`-Aa)16i2$?|>ZntaNA4Z;c6kHsl{t+n>QJ zGPRQ}D$W(uZzo3(ZZmKDqQ?u(HV^=SbWESorbb3V6vo)^?_x7F-{=1TQoVh=&+BLW zV;Yf!gYNKpkF&;o#_5ahQ(*vGysqk+eEgqFWZE!5BZfGHRrWDGmz-bh>+1GiEKlT7 zKp9ooMyfy*qd|6UPH|Mit1Nnf-jK#H1pv?qOr}#Ql*Nm3oW?Ct5QcK9%dXNCm>jvD zV=tXO@b?I>ffTa$uK^3g8r%ts9f1 zs6mk$k(YNfJ#ovUKJ$EGBEPeQJ$?7VDjQ%TixJdFl{G~&-5++u!MLr(DBB}v_XMlr zkWlhMR;9M3qKK*73Sdh?VX<*cC_jOJfuDj6ieZmyVj!5%O?jgu6uxNhkLCXWTwf|L zp|>;pntnC-n))bx-UzFi=<+u~zjH}*hMv(>m9WJ!F z^{+}IGiwEZ(JTImU-wG?0KQZGa=-7D{{Vd6ceDP+f8RyEWCAXY#9r~9RU-6{V0Pxs2snCU$|JJveCJl0yvPxQ?dZ&vV1 z^asI9l zZ6B+I<9+-mAMfEf-(Ltm->-z?{d^<8`glb4{d_0i`llD};S<-b`eA{oplmd>SX|T4 zP{7Us0ItA@v0)>2CsSi&SM>6a+~NFJNzNz|`*$b4mc?^E^K=n_!yGLcqisvPR`yw6 z=^=m%1;IfMnu@_-T$O7o6!+4<=|<271#wJ}g&a8^5u0E@CJwus-BCHkRw8S{FH8r3 z5n)tDaam9)b+yg0Dnr5HXP^R_0@q+i&;nKUsjHw376pPc6x2UViy;l| zRoJxJ4T7*nFy=yJ^X9tqXSpU5150}PWir$`IYJ(CGrWuC zfvA@kBte%MNQothw`qmIj|IFk4r-WT8whPE5RpuVnho&6ty=k?qqcos_*w8sDrnj3 zsm>mi8}#*os-*6QiK!Klp%dUP)s0N62FO0M1Gmypjn;-T*R;Qat*rK_IIs}~$wdz) zpj0ux9Tf1fETS6ig}hZ67=GLQL+^eeruunD>AoYe?SD|Pw05f6;}u?>Rj+j$xs)(` z&^WYQKH*9>s2wq*5Mfq|4%j6%v>SwhY=bJnT|2~sqS&%hRve{qCI0}xm;V3*_b>iO z?j`zvXp!;$(LRJiz|EAx)kU^Y0clK1t$?@+8c@`BGO|Fh8eIknQ>XI{BnT={JCh^E zAuz|-O>2ZuDbpCNMK;0LD3!jH??l zo+gS2z#A7G;*pEHe-l*nWPaVxO>{H<@N7NV;D;HrH~_0I+hLnG$^n86Nsn}9h!kE% zgbMlyHQ^Qk5OQ&QWd04VgSRrotS2(+veWwL?bm&FAI#iTEG zhE=VKma4T?%JE~QEy0FhpaeEv(tQpmq#xS`d5^$_pm2T!i?;>_(NmikSxK~B=q%W3 zk&eqj2UBP^?IB3kPb-b(i18i3#c(PBXY8hsMkTW74oXv!H3?9))!BVdLG*UPzH|Z0 zJ--2$KZ#WjO#Y@|hq?k&XrU8W*5M@+RBdI|Y81dfaszL;g;&glLn|dfSamlQ>C$QI zmSnk^Z{oLPGud}Z?F5UJcMY#jurLrtSW6|50EuEEC5gH^xQRg$@M=mUT0lfR=LOexG64M zGcA_OS=ZL9K$JnswgIWiSuiko&e;;~4X-RXz^R|#1n+rr1jp_qR?N)(t4Q{9= zM7+Nh{C1w4KA#7ss~FJ$EmKNTL4ynN3_uNftgAB10=QbJGO`Zi7#~nE+~N*+gTalzC5h99DjQKzQaB(X z5HlCK0SqavkKoo&*?XE+uZW1~tqNj{^*&Y^U;qYyXnHmQ7aX_pmUe6E!beyyssQu+ zqK|eO^AP&L0FN~jU^K<7BO45$4ZtruU>yZ|ETbcuV2`(sbKzlHiBZrnh-*Pp1i%XG zO6ehx!J+B(JK~2o;g7IaZ^32H;%n$ZUvn{5IGAl^Rl%TMfqHsZ^iXU=Gc;k=$06iV zR)|#Qp=mYYkj&-eV|%mN+1y8e-1sAsmp_U(mkRj=wX=4O!N91z0QVy*hQh#BYB7IG z={d_LQMQGaifE6{MfhZ9$HF~JQS6?wq!elkU|SXtkY%W}*J#q$=T`&` zp;)>WuC}Xyn9(7jLXkz@bAdw@lECnAG(9cEnwi}mR#ylMM(HgqP*OKel>0&Z{E1VY z{Oyr>6HS3YP>ji zlOQywWdd-ufIrgm;B}`Ks9Pb1Z1yxn80Kp|o1`hmypTfb( z&N+ss?+9R#NNbm?7%%GmMYM?wsMqH1p$R-`~%n@!C`4bMusx0uxhdUqS~=(Y-$=E zAaG!Ett)D6Os}Khfl|-`YVIm6xdbLamxo0~+7VUmQU%v9czFFY8`tuO<%Yb(UYK^a zHX^VlO5FznXSzf081lqZlKQ8&#d@4zudScMRy+mwK!FrfLv5>AF0mQmBuK8V!9U<< z{3NIKp|5Sae@(`a4MdK+a`jK5E-^)<=_ zY@q26T~EQG}&(W5CPvZ;j`w_lQdTs z2_Ga27zHRd3rFUB`e3C$cu#Q_>9B0j4jDG(3ptPj#i4F+K<_eH_qQJCi`Ks2H?RN> z6n;siHE=4zy<45H%tM?c`dcF400twBY~adxTx!ZPfv^G<5iUs3B3@}7AIW1@9{aLS z0fIWH;g#pWdRsMROVv0w7t?^+u~$f=p>Av%2~A+2+It&6a zsr!t_*}vaMiW6t2Z+naRlWif)_zcJ4HQulxX(Bom7G-mPVl37rn?NX#Z!U$cZZ;H9 zek>X(DZm?Jqbb;JP)#njumAu6pfm^`M4`YMupMT9g)>|zwJ)qKWuopl8Xl*70&K&N z?;k>P z8od24(@DMgC)I98SNfIw1jyOepVBX|+|Ov6xyRk}Oa5g31D~@DE?Y&aSgRV;cAmBP zR7EycgbNni1Y!RG3j< zU^cOg8t_AfV9V{F=BF+fv<~A@BWMA4RhUIY2bSG-Z2UCEVl!?|1%e-z(`o#f{m8cP}2FUxItD1|GIWsNgsU7eTv| zZ(##X2O~9tv*hjsK*_c7Q5PN4H-s3*)^99q>e@|F{B{uGK|;pMQij-L4C# zZ-8{~&n&sGX!8vi?S5ohCr`{fB zU9e@%0*O~jqYp-K_QYTLs)_4&72^JuzDI^?eKUhD0hb{`bt^B*VonB-#g|z8@VD4+ z`fc=F`pwyQ2@YvrMNYkfNc@!OF+kK4dKfyflodn1vh`zc8R;t?!RhS26W#jr987(I zaIn?!P6G!$nO54{mnyBVqYEm))DD%oYY|X55yTd;xB>-G7zz)=MEaarhaCMV9S+9AHyYmADJNi9}Vg1c;0YV8Jm%Ut+1Shtxbk^!wZ(dUXE) zT(8q%14$vaMGr_@xfSWtGyL#R_(Ts*!758(*=pp=3PG{9vQUPiLwsS7xz zUil1E8paUwn11lQ`xUX)zY#k3)G1Eo7rcV6iwx$lkL#@z__ zvDfR;^uu@Ge{?tex4|t?e7->+(>KO%M@7o|&$T}P00_5Vbn4gc?}~PvdHsG;i5Z8M zad#CoVYj79vkMW*85UXY>eT(~`a1c38Kd>ieJ($opGmrXKKG{BQ-pW~mp~DLdr)6J zu>tDWGk(E}(vxLc7ed)ULbU^*uH*$MgqKAsz5GTs~k*ny4Q7 z_Vn5aOOz|o_5|WID%}7))7c)n%}+rX6SN@PXtNcs0$<2$PG8A{04$4Ny))sP%mO#p zdZ&2W5K!zE9}xneGyu?-u%+)M@4L*6Sf+AIdMT93;VMwdC0wBX3O7n66Hio?UyXhp zXJ5jYj2Xc|V5{ct9!DGkYjAQppa(OXe2!A3_qGai>Y1(j)IY<8Jtq9rom%e6rkvlgIm9Rg4Q z00jY|6a`QM)xZ&rG&XFqwRclZ#0)eNnzW|7A7Lx=eFpeu(bghq-ue1Bb0H_x`r2mC zK(9U;JicJ4VXv)^T_Sl3GHw2|_S@hDNZOtU;ew05T-A4Wn5b#&1M(kGD^o*sBGtuu z@0MnVyhh+TjW1{mDparhv~wTWU<*lObnSr<^03@^GO10^=U>C9@c3pwYdF5`{{WMm z`i;}P^Svu4I443qziKXK;Bc@~v<9j@q(MvF4Ap|jAZ#*&J*D0RLdBx%G2c`a8E02{ z0!21i15HaJwJC#16=rGFgC_}qGbl9y$ZFNjYF~#gMl7Wk>IEY$<3Ti+9zFgjP3qC0 zS}20$Ah2f8+l$Ci2G#~A9jB=1Ox4`ZA#2M-?!ZjZ%khpks_7GgJY56}A;)LXyP>?GY6?a1$UZyz5Ct z>cehOcw~uU;TZ9dkZA12NjFRlP_-7dgr%2!cKqA+urC3-O zb*@;#v8t-Vtgw`7)+w!H97`q?nwzaLDq_b|m1DXJLLeJL_w704musJ@EzV!1;$=^) z%s4Fa%3FcUMpQ#^@IjbmO(A7OG_#f)NFXaGRdTIhj#-}I$fn)z{(69Taed+1W22zL z+wB~)`WgNDGwt``dEkJMTia6gyrq{&iF->m{7`0_zG#z&Sz1b&@Gy8pYF} zLZ}*ds_W1K)+mZpO+kS2429DZY`jxmQHiZjysvDW&2M1~uIYT6x_Tvuy7Xo1b6C(Q zQjNy?C+iQnX0Qwju8jRHOZUj^ojW9drmaNqjp>!KJF;12ryRs3b_RBJZbPS4= zav%Y=8(gL3w|lEJ{uSu53Jp5sB{k863^atIf*>et1;%LeBd%|p7$VOxJFi>-Z=Ah_ zgtM^F7W7PIHnzDz7&JhR{RzZ4=?NKLE(&0Ft9644X)Uzm+%pn zY$fI&{PBow?b#k+O}t+=zY!T*>43rbg_7mVi!NP3zg-vvR0hPtl*fNtD3ts2H2h9# zurQpKSkgh1BDZSJ4pQv;(4r1#VTuq!Aa$VG6}bq_8oMaG)U*PWJy4?xgIqfS*6L@^ zRT$a})`>0mMPNyJUGL^rG|@mI3HfO~#$& z#eat7z#>{oX{Kj$87~9foJqup*W2d?o#j)^dK4$83Zji}I+6ebAgC$iQ&#i8gwW>R zpw&xRCk`Z|Ncu7{hNSA6v6ia2F04Zngi)nwF)n~INnoK&X2>A0tQ_VqmR5nK45h=- zO0!|68>(Em*AiN#l$8(o2Z*N$XqS%}-!Iy97(U*D_>@qCoYSJrLdN5UH!AVvs91(} zKpJ;2_8)?Li2I})3QZ{J6I($>nmec!7wQTvn&%AQh!rrYUo=CrUT5F5k&loLpuh8L z(V7-H(65NWEOuyppegXsI+B#$f{}sWRX^V{ySe4^LD~0+KD@Sn>OeoA;%4u@-XT4o zrs%H^yzszt-XECly5|l~0ZaGHR##&Luxa8)>Y_GKT3t9G7b-}wvr4X@L1U1sTC5ym zDQwEyzw*Im(VBn?sg1aboxy4<8|HsKRf?;1j+1K(Z3|-G zAf=?j;|#heeKaC8f8nS8csOBmgA7@D?0#7d0OqflIuL)P;^)r(lE0k&V%YC5#99l5 zt6IHgvL=~DFa*mARcf1ofi*4V->G7V z1dS-x1i!p@hb^Ik2~~Qzjoso|sBCe>g$v+ax59?IsFI$i%}V+gHTol*fG&zrcAKI5 zn!~3s3KgiuKv4=Z7>c4d3P)eO5lfZT;}sb5B>LPEv*yBmJyQsyz5#)sT*B1G&xBR` zy^}YseBO?e+I&I!+ac*+$X)0FQ2zi~cyl7If1DF(%z~vJ+bfhHtqtKxY#?y>;~rKqVfH zq6#TPx!)G}6cny4E0xO(nD8jaWW2}3KURy8tWm$s%{L}K;zlKTIwJi40Q1@@cfjsJ zBylFgTT5Dag|z7(%nh;)O*_AtbL20QSQ4ZK65ayWFw-mm3wg{^ZYMwA{S*G7@ekQT z9X{@I>dk_n0lKW%?TC~SVuPj$LkeX*3oOBFD4A_sJGL|`70iw7sczUcKx`_a;eMb% zF5YdVwt-}ANo{MJtz~QsYrbCd0oVm+G~VY%UiM+sm+RV3`6!h@D?*GaoM{a)p%DB0 z6U`8PJg0p#9$r`YeYXDqM4*cLne=p?!{Raf*kSw^FV#ip8|*jEk0kegevQ1xppR|z zl5t{p1i?zG%HjY3)zAxDap|Z9y>zCVih1$8XiCm8aj;<=BCHr&RBSodOSpjc0aBs0 zpe_{pd1c09`@4|!YIA>#LbM3=#6`P>;N+EasGZ4~Yh%^_0O#gSoDRAtv?_=fMTXxJ zRXy|dl$h&&n7*B6i)r4FR`ujmwTh1kVb#`x^~}txPPqKA3#Yg6&OVeE{*+$dc?#GG zOHgglQw90}27qWrAlQOBiDL&*sXELf++$}ju&KJ{n;zfxf8?#KyvYzX^)rg zgu<=|09_)YHB1%2AcnxK5PdFLzFv8uxe)I7qXi09;|%?DemZ`v`XlxBPi@5;rig%- zEd!74fF{B0MzUtc7u3~t9SsdfxUOKB-<4h zT5JqXZpazWki@yI&Jg|@$nI`iZgk}#gTfd8074{`m=5ssEBcIC<^_K>dK&sRekGm& zI0zy;Y6c5X3Rd{kEx5aDD?-Cp4-DDS6v~5Z7XVX=J#284u`L&0f(lj~{VEe-YNZC& z+BqPeM^*)+?6wmMCAEmYFq5(9?OT#2dD9zJSg`^Ri5pBR~_R{*A z3MvgyE-b8IgHp>ZtU+_-VquL`0yS;a8fej+nHa(>xFD(&TCD^|5JjyfBClXz^$eFP z6}J?@ucw$Td6VCH#pA0Dd5=RL)#)$OaOQ-^l{TReTVj=5NP43E%o|lgL+w_rmL`ST z5i6A_04x&hXxta~aDdUuEnn#6-q=W8>?+AjGBK*lLwO@BI#MWQf}lQMZr}>t>=ALJFK344e1$uTgbU{n%*o3?Q#$Zx8Q4Th+Of2&1?b#iRqh2(1h;_BW)#%v{{S-A3?NFt zRNB}P3Tf3_cp4I&(>Ng1p|FUq47|`5g;p%7D@sIZ#i*lJ?^x_EnWlN0{{V7GVuacR z`Nrr#l#OY(8xalF4CvSb!6B?PIG*vN%=13q7|?Tk&D_YYFs}5X-Uh?a>wyy@I*GbD zRJT#4GA9FG@pRh+Dm17{Xe_WTTLrg)VX)8`S|-;5oZDs7w5w}t81anlVu4daHLTRG zsebh2RN97h;ybdSdTVos@up$8Ot`cAPLf?8=_DCJ#l#h%-N1b;mZIrK z?aX<#NI2XcmmQ~#h`Eyx+>E$2BYQvHYLsN{O`p+N9Vp=VB@J^OjFQy5Z<=rUE?@B| zwB6u=_wL7DXVBTs21)LGP$mU}G{LmvD~XX-Rl3j+5-K7MMxY_VD+6&y*&-96#Uq-NYGy6JcVd)#pj7s@ zmV{{o#IjYG-&ZrCLy@Lh4PBWAir(zF>{bG}t5Xt*$9kq%YIRHiy|jJ=I)hLOQJ@)F zSSUG%l5hH$^9RA&!^;{dN2xAd{#1&>4&MZJI4?q@cLln)^h`x%W#kh6*};|V2BU9L z7zN)fp}~ty*cdlOfrK$1*dbVWVCWSbrPB(VYppI8gBsW`ykt@|Mv`q*EOf8#E3xPW z(YQ7dn4zmzP_l!vZg-HLr$pQ}KcT|@*Bm|$bI zBCZXNbwy}xV#dxe8?0~&(Yi`j=Xnq%n#;jvk)eZ{fTrC}jks>5h$3XMjC1yAhjwS6 znW*M?U|l)mc!??Hd<+|>V*EzkQsVjx;Fsa3zSx&6(X^$jPqcSHvx4;z;s+i`HQHHt%fYTj0nxU(Nq`c8FJ04S({273WKv%UA1*mh!&u(h6iaYW?tJyFgU^TL6mXP_J>7~ z*7eYUfB*&nz(ej0;Hnyoy%_IBWaps*0P@@#39oqBxS{4X{Q*&~w(`+ev>2=Gh1)$~e z7_IbF)hhv|!eNdv06Va>01kyl$#C?~pb%r2$|fqfDL^B|6dc%94T6SR0C~|CZHlI;JI1hgR4$M;ewdtpUfl-Gz!k_qfWbg zjJrbmZG+BKVF9q9#1BC7J`z`>b0^w3zfYN#cKp6lQL1u(G7reS)Wd=$8%F(T+;fi; zvfwP~Ek&!H>My*^NDjP=TA$FYpK&2=*}A$%gs-;lPbBFanZtM`Ie;=(_L%k-*?4Q|s~CE|=l`wO(HzJJh06q(fc2AxRDU3ktN^hl`Zj2& z_!7+VR76TF3$fnt2zXhg4xlhRcChuXK9n+vM8HcSs;dR94OaqOGMY=3YPi!8$Z}dH zSFoGg%r%yyx^5f;1P~~!08*_OAX>VYP@`^W$MUg5oHqe#=%=zqOH>O+!mXMs%xh?s zYdLipC20Xrh=kF!msb=CWYMD6<&AAH8`c6Dtp@c(cT@^k#Nwb8M#oeSRhI9GaX5g3 zzJtI*3No}2>}1@b!1GCIv{2Y>sTmHWSYDQJhcVFt8>dAgK}VN}z_czfU3`MOl7N7r6GarN4O`ihWOumGD6hXvh)J z{gFN(eP+lY+8+M^(7;d{3WM#XN_E7+DH%u|;~YKUc~lnrktkecPW9%Fx5W3C>C8mC zCW!35mvGzLKhY@4gf}oE_IvqTtdHkGB7k-&zig!0DcvdjZ1k|JcEeFvo4`RfK|g*C zZie3kK}AqtHDZ=-#CPhhU#=fZ5btqH3Y27`5rT!0z*_>i+^elMU~16TGZKM8N@_1f z`x25|`0bgv<;D$NZitE;-2uU2+!F_F)FJK-AjJg1$OB8;Ux*?KRmM+IE*4^6tr~M) zkbM1Ym6lwE5g-5n0B8n;Go@7*nV13;1-8m9xB#G(bph-VNu*N%=Z^G@sG+*&Y^d5B zns+o?ivD$RZ=kn-PBBPw3hvmqyA4dXw?V2m5vFbB^0upbt{A{oS{NvC#8}4GM9|QH zyDf;cmw|TaE<tr5y#%pNv%$jZQ+4U5g)3}bycc;Y90|AFd z_dlSJUR@(|d|-eI)htT5FN6_8#eNJALwFa41Cj-L4_nJEusI)*foayfJ3g}f5G^|6 z;Uzn6Xo}zK2g?|NXB!sH8VKox^m&_jJAPPI95%$p(hi1@bjbD!Slg^v@Ii@7R~ThR ziJYHdmFgVF;tu(T$d~EX1gG_8D5?wyYa2%MjC{SjrZt320NRbVY0; zQCb@XM$D877zh?x)V5Ku=X)@%EonDX{aP}uG}~Zk`AQ|4Z4gme04mBL8&`FUuwem+ zH3xl4G>C#3Ho6E0Y7X?LQU@!9*1PQ{*QqRJh?P!04o6^>Eq4VxOBqg^Dh2Ur#icwV z)ue%hYNu5YsR1Dxuw-^YMBu@dHnnm~;P-zuiD+F@r`iLWBfsr6><}=b2W8m~F4)mP z0B91SKsCX>@zv9USffK%d%9DdfJaNK4hqa{_qAP7wBos7s~W9?Ry=TN^*ug(QH{Z9 za(bWu3Ic;*eh5YaGPK*yCVOeR0^0D!yaF8r8DQC);@)5gC>U-42o3Np-taihxvT>r zvPi;|YsK9Ktxz;WXDwJ;bLiV0V+Xp3Z9UbEB0en9i;#(Yy=&$Gi zfD)0&lJ!m(B>w=O$4(5<0001>&?2%5I5UPPt&|~6l@Tfy#v7M|Fw12=tcZXux*APw z%dS3}*;sWZ?74qH-7uXi`k72^W)*h>Jk9X@E?lvL>0vHV$_VEb=&$NC=qa{adNjp# z>>~Q7GQ+cZn3Xt!zzbHGZH`FQcIEA+*@oDN&DkcQORg=^2_*L*y}3DXQ2@LF+)c@|%ov$VG$25VrwD%w3y{wRjv|2-RTm zG6H)6P*$2ZA{#lKXD9~Ym&=9^G&j-!9a*5}vB!~j)oaS|OZ=P)=Pu2%oMU%Y(I#`DH~0zSI{A~?rk_O#+h~(5I_VdYy*bk4fws6g7T{FHD+G1v2fFyO^W51 zl)a9*fNJ^`|e>6hi9M@m+^Ci<+C`W=EA(LKqp}tM|Qc_$^{iZ#_Xs!}q0!#utHZ z#m~2~f9MsKg4M-Sk&~FOxdciQ0?|%!WJ^x6{6K$p@lyFUbhPxkFmj$4>}vOCix+?_nsMjzW)Hj6V!RayV4`~|}3Wp6I0V*wa-%I!&mxc>%3f!vf z1%^WuQL{xHTcRkZ2L=g*)QZ>;%b@3>F2^(OKt?(oV8fxmPx}mZJy-gh-h+N6y@R{@ zoP8Gj&Muexh-rW##N&w8wFQQ{?RZ08ASf!g)6fc5#+LmH*lk%{t&6`V&olOTN-(u>SxclQJg!nt)}FjI=fN zF&jvwZqpvMH1)Pyy^6*4>jpaR)_%@}1gd$S4BeL@`IR*5KP#KE?(#tM-d~7=1I!-@ z8)zsj6lgcrE10O7D_Y=H5g-l=SD+!QWs(#XQ-L-Z)S;n>nuD~P0VoQtWXh!qQP%=4 z+gXj#?Wh(VQ%fU($&bkoRZD0dLN*vFQUS@EW?Y47z+P>@?g?aF>>4QM>*66vTdoSZ zgH@RViCtVaxT|cdg=*SERoFPL2*Ftmuv-oQq800^0lBPp8|KGc&MsG~d!U9*skDd( zHYw6B{w;F69+Z-eM{+p8;F2U;(7y?=`kbag>{ptAkPYm+8pPQPWdstl4P3J_!u{7m zEl!GUMYgx=cM|wHGspBH@F_^>;`6{W0_{Up%DYz;fgwb60JV>?8BYVs`GnX3OH$S5 z=s+L<0MHGejoIL##oHJZC9MIPdDXFHbz0YKaR%Q;t2Avln+~k0nkHOWnS z6K%5NMuEm>21~+_qkt6~)qxa7BYH-LRN-h`%(rtNvHn^dO-G+#&0ysmjfvboKlB_= zSFf+V1a@G1<^WN8?Ia&w+H5;Tc!)vcNgE)PBVsMYH>Rrp047<{bqrOTInsUUhFLq< zj>ky1`iXD+rSA6U+OAk^d#4}Fv8ay2yh|MtQvrd-5H=~7jT#~dFd!<}0c!Atj}m07 zTKl|Nfgu6eqmC@XfYy~ng^F4@Yb3(e4iF|Hf;766rYWFuADCKK%fzV`1B?dHG;@)` zj{=Qhe2tLpByA-}7&GA=TLngf6t5a1MR+rSHX>_q5RRI?g0ukB%QOCaLIR$H-XJkh zCi_)&Sy-DzS9)!Fu;xY_Jwv-bZ44DTC(cvZEy4kFmB%U;#EoSMRhNC%N-bW z69>(LVfrxmVAOIx0Gn|>wFotgBm;Je3Y$sU5j#{k;`OJ3U`S~;MHcV_D;%B>HCcJw zne7c)R8%DM*?mHf=cfWSCQ{2K{N2g@<*V|$H<7Ca09YAZZ*e*#k5 zD8_+u{d@p*K#ISvpy5vh!S@HXaRdu0rWc*POmZB@8JEy9z`RHLLiJ!vj3tu`YYYWm z_cRz4ozSyj7zAy|Bv1C9C2R3ni4iFh4N$D5q@9S&{#Quxg}NBzsFi#ln1IaJ z{{WsYXysl`70p!h*Ep~`QW{3_Lm%Ghw!?~8U?>XA&{hmgHPNjxd9Z~f>!OWaSoqHV zOjf+G_@7xDc`tF)9#GaUNiv8yBjQuNDK$Mh%YzlwjV-&9y@{XFOT7fEv?#Q9wm5{G zlwEIIVy;-&r36AZxv@~{sCr?xn%mw2k`Ra#u&7!r0)c7~30Aj8z?Nm`o(3T-6l7Mp z3YO-_A{6e)2V<_+nWI^BB-PeB3l*{6V;YLZT5TAzmOM}hL`I@*TUkcKD(Tp4B3Tvg zf26LY$+XxGsT?j*w>_^lSbH-gjoJG}x|ALRr&zD(Nxcen2+cw%td;5bNJFP^b30e`G=LvxcLMyg&T!DOB(eQcH^4QzTmWk zde%kj8yY~pR+=5T>eM&cpK2LktJpfMmaORIA$5vtskYaNTVYW;r#D6TAO?rym94(U z$Zk{A>X-8Mz4x4z)*)b6A#1%k70V&myp=$D>LA7A?02_i9>X)d6;*VT#Kx3fDlgLL=$oYvi z{%VhWR$_^O;T8Ks1>V0D2CDqS;UbL_nRsP-wy?R6BB{+G@=7*gV@`7rgrII^w z;EySnMN@a6mi3f{$z5zxoyaJOo4*vi|eB7L7UX+;RqF!FSQ3;A6*z?6nGQ z6_-PxsH9Ro%9vu9#>0ji4g@-sqc;lQVG_{PBAp4bp%V=o!{McCGndMamh?Y-O&4-k zu!hB5XFS7>9_R*u;LkA!1H#`1G|>4V2&FBdOH@1dVC*3kwN}k;O_ad!H}DZ$b0{9m z0M)t6-lA}F5I*oQQ1!WkWDIveVO64Xvr-h`p>#GDUl5l>wi`~M6~VUytbP7F!dAQ2 z$zzVEA{}6}DiVWYVMxQpo0fop64w|Jwu)V4-3ma(RviZ&0+Sz;3t#;vL)o5C+Tn4g}7lb$f*&8Y5o(x{6 z&-6|=sDiW~dbae=rDYB{s z9D^wh8nlS018PdBrugOyi5egh=*>&8X@LqIG9{5=i7f#gr6|S~RAnb}<{infhuoJk z{Gc$RJZ}aFq`BT!HT^{Zg$G`++w;J9lo?V~z~;+rEsz1G!uDi}=(Cb}5G{LtB!gc_ zz7`%9AmNQAmL?!~cjR9o2=wwucA(ZR(gDj2>yogb0Em}{C5^}0L;nCh!Zimn#4#Zi z(TCb>=UXE3=Er33%aIRhz+n0|If5CszhH}Mou`0Y!U+|nS63{fN4z2|t>mM0Fk;D< zR>&;@#4#IN2J1QJkU)GR4;2Z8wk08Qkl~oocWS$s#}Z|yBaX5vycX@>inyoUc|?{B zKA$5fV0?Z8EsjS10vd-R-X%R8*z7O^T&k4rTu7|mhoZUYM7Q)tEMcd{)O#4KN#ODU z7t7>efR($09j$wyG$%@z#fYg~!I$gWMT!B-z+(C*l<7)i1yOmUDX1YSA-=GIN()s0 zZNmvq=6=L2bbbYRSO%RmKtHODIc`kwN68o3$b;@rB{CfwJTR(k(P-Ygpbr{{y-(QD z^D_I$_!zE$9>1j7Jty+ZGV%iQF+2*fQ?(&!n`m8Kb60e;7%@VxTvHP$2fU)!t&qw@ z1WTutv4rHLTv}$U-}UevBR1o2(#7I_nh6;ml{qV%TlEeq7N?dZF@vECir8- zS&xOUmL8}#)g9~Zu7;#O2P#31^rsgFp<&3;mrHcH zWU^%J-6X!TaZLbiKqv}L0%}ijS{0eA*1F&EsLd=L&kQlsH@Ok;Kyt}-i9NB z8Uyg)Xma&N&a5ieFOW1V0MLdFgj&uF%ji9}WB&j>+02%e2-aTSOXD@Yo7CJ&U=sT7YYbIMqVG+Zwb+PNIg0?SWdx@JTmWr7b@kPas zKT(kZ(DH996wvywB-oC=mJ;s4p)XHl(mYsK<3w?E1@%@6?P_7s^5Y;uF{O$D%`pu0000O z0KgK!x{=>%$x#$kvr~F<(2X_#QMfok5Tsv+u_$qe+?c$)un^knsG$}uYSUHD0cdew z$|Q4C;1}AGoogCV1G6;C6k65MOX#+4J z!4Yjw50Y1rI)}wh1Jw9nCLedm!8-WA1hC*9W8whO_dXbtQ`7bc?GEGNj2O@zX*t~# z>p;QE%*|OCe~=I61%G!x(n&!y7~mL4*y!L&)ycv1ufZC*-rW&cH)mz z2lYqGaQv}8Jz?&IPlO+0<>;%tTfL%-oPse!tj}ok<^^a?b(UTBiB^i`WZ$ooeqdLh z3khuLZ%X->YXf*8-ITXI(ypU}gRvdn0KgKH2%59cGgWQi`6Ug5$ovw#XdAPavkHva z2Vt7Kgx=mqkcll^&@S@D+TF!nkcYRxN6CrTAVYmbuxak!gv-^hm)KSt?0 z{0I?`6^|M5AT2=meoaXi!FSsGa*5Xcmy<9h`uKE>)8)e8i^$ zaTmds40rFFir)P#-eKX09n# z{bmBer3{F8Sj{YO`$;ySgMC6(9qt z%5Kqs$-t`u^K%CUNtK?PNkZQe<=>D??5yr1y0NeCRgp^llW8a`%d6e7ZwH1V^M?3| zd0biYu-gt+c!6olQ|2zLnp>w-WqTTw1UoT;p}Orj6JA#^>?SRgB{&kUpolG?0o+~0 zzf;|Z*0Q}j1W;;$(aD?^rQ8dy>^p&#;;dy?k)?*84lV^FXAM|{vIGfGS4XP|up4Nm zw6q5mXqAer+ce-f1_%&Akc@saE5%$1qAl!DRs8RZ8^^0+W32pClKk z^nQ_ee8YJ}*8VE^AX^vK!XDY*&_Y$O?j_pYOGqQjKXMYd=ZOil=82Xec zrc2h-J9q3149q7PU!)h7H+=NP#pfXHaH(9VzUoZPjn&#NxKabKau?mXecHLC?KE-F zJ#0NJmU>uf$9d4q=6II$2UUu4zD5sd4ur<|xA-5zwEI*8-U#zKIWAeKvrb2X;W=Fv zP@u7GsO=GtP{Z*=CNB2uM+*9yj-R5`bmzZZs<%4pb-v%Fl zSMU>pYsLA4YubE_F@<}0m0p--5{Q8<-2@dwi-J|JBDdP$m>cylMVse=dx&KgtSwi> zf`H6ZUN|AEb_gl4NgzV(tt}f=mukxS*+e^s1+gduh&QJZT%{tN8BX%HTJLho>y=0) zM)47q;p-R8LDXFB@|z?bUQ@BKd`pxCTm`J8000+MS_;pGd9;($KHedG@)o_oj1 zHez~C^oVNL7xYDU3MjU65O0JbDvbkl!0S{aP}|!?GoMm_ROh`x4hyy}VDpM*a;1MA#{464&EmRKddQWfzt`It*%{XH( zkuBZ6>W&{73v3)-ObT0ovhvQnh^pEqU~h?6LM3knR|Y7{f>lbLH>N9dF?2RfD@wre z77Jl10e*$bD<6JIZ_mL*{1HP|!ZZ*Zbx&&Bc;FxVBV zN7|bv=Kkb|qc>dVRE11%z&^;h3qI!96N7NO-C{T@bqB#0)pHLC8}@~5RcpPsF>?(! z0E1@pJi(2Z(Ocq?8pjcTa30&T`5@`-U&JAlF|9n7CeZS$!8JULJ|UUXFPMYf4Jwh~ zfy*q&tqoA*vR)yy2ml8G4IeBX5@V$M+?m|aCM`07*qUAFUdCqK++cS=jj7L%*(sx^ za`^y;$PWSX=2b3X;tm@}iokuoJOeDi^%uFC8gdT+i<);=%srFPYA}+3&<8>)QGj+M zEGqfa`YylCa^=OTWU!Qja-Gc1=%JJx@f~6FFPWr+iO;uZoDfJgL><;HU>55JFD0PC z6EgI4SX_64>+9hOYv}=_~Nd*$ww|phP}Kyq7N0n$##dlMI>7_TY`B<5kC~x&#yF%hy{` zU@yzw7|g3%La&;dyVWBrnt)Wtrn@W*3r4vb68$@4%QOJ{8nXI7mw=V6T<5w7`}g22 zkBWN`BE{?YfNY;*0>NtQOV|iLPO&}AJG@q{_6Tjk!{t^Dp6DLLTV7y&uA>wqWf9Vr z1F!(pL%}cD`+netW7puQSwJ~HVOz9xp3pCroV>ZM$ALHi3S)AZO7nrr5L&9e!?fbkU;tBTPVK|8K{3`oGYm3K;qQGCbd z=1uS0P!mGGl~JSYiUn~UU%-o1mzWpraL~V0`&~d$&Ac}%DxOw^P8twDAi9C}kR4DS z=G2a8RnmH zGGO^HnYohX`>?`zls*(g@sO{n$$T*vzO&|{y0eKsF#Ut9iT)~+YvVHDjhV+XuM)p&%Q>0$*c#7RoHbfd<{yun@UgR8Uw-ux^}M$1~9 zC{Zm2#K!|*M!~Qk>uPG!w860;t^l^*Z39H5!sO2AXh1Mr!RfwU2+>f62NxdWLkrdi zBfMMll$h>Ke}V;gxDWRf*PcODK?>Zv@ifYyh@cYOEy0+crxA7GT%fGOZ-CjkF+BzsWP!B zvN)lcT2&~xU4`%6Dp)FwE$D*nmDp|;J94NHEOya*Fa@Sa8PL*Ju$9AzP1G{EPckuO zKU309(IiYd6Lf&IyAgg{q2NV>8m2I1t5iczp5G*=Q>NF*rthg=h6V1FgWHWw`g_lS zf$aGwSKLQUp2us*!8%bCxU~0?C@{<0dDpPH6g%mIZ5Dv7#yl_bCy3gQ;w*eJXg26L7 zCWB9G%5tjIioPa{Sx1jR-JSQ4XAc{Avjd3#07Ab9(S0bIjLf52mFYt$N*P&E6G$xp z-r$t0OC2pX8M}kw6w{!Kg=xmv2(5%)ZMsaC|Eh zd%aP76F~J|M8hBKEhxC9T~J?fxZeG3w*9hBP>jflDEineryMUW?rn5RHdp z;t+}m0@kbE*Z?l7F-ztZFHr?G9HarDJ*6^;mKy0?9paW1S^&>CI3=~Qw!z}yytVK8 zO4Rm&5OshbjUK7_)#D@N)N9&$jC_)^X7YdvmV~E7D)J~rEg+QdhyW{W01neB z4Po+6n03z6HsjgVX2-ZGew3W3Orh9vyQ?FWb@R|3%F z%%m4%kbG$o#RJ}Rng+F&grc>< z1uS}e$PgVi@?l+8ENn1@lY%I-C@pb#T33RI(F(lTlI{s}jEinH3z6Xj7I9^y4L~<5 zYKmMFWX;4XIipB4BNHtV5U@CPi@hPC0v2gFFjn!3YHF%RROt7GdfF=l$UGBN2q5rk zq9rz@irCBAGV;9?x|e}vYPvO5LXyv-u=RosKIQlpH-;6Uw$3_X#%V>A?$llwL(Rcz z02|ScBzKDJ>_pKwnI-mtp#$RMm%2RRr`~nVe+IvvlG$-jOS+;{D3>Z!s4)Bmo+^Un zX>EmR6!2K5gy#(4v7#NU1(9ngtk9%t=qE>mR1 zd=VXp`kJ#=Ch#%ZocBJ-r4ormqA9zz zv*65CVF7HlX`z8=O~|{90PK&*K$zwU4z`2iCgr!hp)73PN)N)PS!pen%YOz11dw@8U_8bonm z?NDh6va(l1E$BcM;L*M!-t1A;L_+F;6Bz`Sg^&t>L`xkUu@oo`BeB6`J{bfW0SX(+ zj?yv{oT(nd8n8yzI4#AC5?4ruTw!#ISDEud&ib?+YaoVMY-aUFGC^w*Xrpuij<+RR zL$Mpf5uZkbR;e^|qryMQaAD4>Wh}(yTGZ1b%#1McfT|kKQphM7Mp$aq9n2m{E!tWK zE)2s%TGD=4k#wkoj;P%Yq}ED6b?Csj z2UiTDRilAywwVkbX=L0!UO>wBG6T_eG+zmKVALaeH^z)oEa?myx@h3icGen2gK#-q z5-x3pJV|7Q5qAhK204uInebJIBe^vm4u6vBT(TlsbPsk_a;MkSglJfEuV5o2x1)OL4yAE7D>>^IpU`_*;&{5C8xG&@de$hE`KE zWORe#51b9OJJm#=sJ6E>Vc+2+W&ydW3cB-fJ(3!+!u-fjj6M>;%2sY@>{P4DmEE{n z&medazasNiRj~A;SD`5WRA4WKTz3P%2ijwFdfDY2Cq%u*QK0d+*{J6pd0opUW0oT> zrTW~tbr#Pg3)q(z$=G*l7`ix%#j#y4q02-^A92tu*}VQuQ$-V(hnY=9jMZvm2@awx z!*wrY9t)(Prj8P^@1(Avssjk>8d&ayq7qS5v{33h+>RI$eSrea`onO7Qo^jK5R{9W z6$RjPmQf~?RW6NyIfz12K!L=_F_&6~rKY$_nh?!di?Ce;9ySF5054U@%H@)d01K*a zInR7~iuN<1fDIchgC(T3R*tNt3Jezlg_+3)!k4kOL1@%vyRa{2HNLuPDA~(VDS)CD zWD=+cjF07}$`Vlm#61Be_G=Lx$RevJNXP(#8^% z4x}pvvYj`LF$XhtLuUi)l%`Wov(7 zExRlg5JLtFt*ES*5Qjt}cxs^+)oln4*Kj|L!~tPySwnDZE>%f;V#x8ku^Y!6k+2x5 zjpEFWtH8M^#;YQ@sjekhR?Wi@Nsv3FqlD=&X z*z$fD#i-DSBMKZ6XJhtC2KKsYdV4-%E*77KYQJ*ynaxUg~v8 zt{j~Am%KS@I)}Vu^=A*<1KLncGce-20%BW<$C&InLlX)DIF|{CGUASF1ZusD@(xk> z>N>2wDs4`$jhcmVAF@$^27m*xE45~Da2;PU4IYL(qRvBknO>xSBl<{sK0@2Uu2T%5 z*obns5ZIT1J`$TBr^=%653a$P_tyKCCHCn(fWf6(z3(JAA0!^cvoD{OOYQAG7aJ9` z=q#=PH~}2PV=15vcdMxi+qJ@#1t$7q%#!h-ZN{Z-A!0=JLpV!0@Q;NJtsvo8ym%(F z6v$Te8E-^(_FzJ#B6N=%V#RS6kCb9q?95ZV^06}+%PLNP3YRf3zLv4z5LK;Q_X#}4CN0+0IKLGi{LbeQ;D=t z)in{SEkjBpCI;#^*P8eU7wF!Hd1*{qHDgRp@f1pNrMfVi?pZTGl!0pji-HO@R3Pm@ zuh>=>wgO8{BMM$bvjkCeamtLv@n8@Psa~a#PykFcTI9@RRsaodK#2}CYZbIA7GDU9 zh#;`4)_dGzTo;jJ(uBA%ek2B z195)kGj&_)dtr>wUeUnl<~aP%<-bh0xuG*-qnVwToAXov>>J)I+Gx*;tPpzG&6N}v=oGWkXYaFLx@E|%&m5k z?9COxFDg}Fi3{rk0u^|w%=9lnz3NU^XJJP@814Y!%$ z6KpO`=558v6Aj55<`Ven0Z%b)n|%7%8HBu@JR`{!PLiOSh$uGVjz(ZLZe(BBH(9=oxq?qd_! zAOHXb08nxze<*dkFEuT#8@@(Kw%lJ6On;adPL6*Q_*`*wLSL!o8Iv55xW5F% z-#{Miz%R4#-AZ$R8-40uf{oxi7b)#M{{Tofy%6|Z8&l{q)F_7J2lBLtoW^nD8?cDV zyIg)pX#!D=&>Jg;=>JW5$~W}(M_$7I2$OU zqi+_$VC6@|&98GOf(u1ZY$zzul-JETZ5x>K%kJ#kHwIXNo)DCJ6G$88g-!C_k_1us zCD)&G@=eKdPnH|~f%}SU(htPiz5f8xZ#}Pyj=Sygfa=`*#w)9H511ZK#%OPlC8WOi z2sRClM0bgi;!G8-&|u&-I3hq4SdEFie*@M2JK8GVYt~wUIW+4C?Bsy-U{1a)acwy` zn6g$Xjp3l;OPA|mm6dcau@nk%AGT?#Ylu35Hry^SJ+rXJ&RAb~0nz}X8%3P21gi99 zh}di`?WATnremQl#E!wIViu6)k4pzEL6r_JC0SDFwRsG%bf>-c46!vjgf4x9Bi0E> z2%rO<607|t>R-;valCO2}x3kN39aSHoM(Nuqy`GZKHY~Rg?TzHBeN(r?=+F~zP+hJq8hAs(?YRp`(QT1W`qZV7~nT{6)E?=W{OUpzyFQMUb{c7sIC58P# zv0*m6_WCTr5!s%ltsgKya@|qi^q1@Q4fAr|SiYB2+qfQ&_H=`i<~}0=lpg^%aBi2% zUwkMCl^?0ORQ-$%0y3;30E|d0gvtFXic~F~HQsLH(Sq91q;QF-n;+%0i-A=!wL!ay z!H%)C8@jHI&jt_UPojGDkd^+ltNzn+o=Nd81aT}yOkU4qg8swe<)_Y{1mk*B9@0r@ zSX3z;tTj`xWz_1aEFlPiw5%^A+Cgd4Z)-|m0&38fC;`w|8kGfJTrS+K*>MkHwEIOx z)v!r?QEDQS3>>M=&!W^7hpB^IBjQH$+-3F`BcMng9FD4j zE!_2K^KeV02Wg?^;Dc-d3>PavY_<&)hD+k#Mj_A?Bvl2q#+L{nHo?0JcVTvzT+tTS zi++#b0N!Xiyp36McXy-@wzvn&(x1ZpJ3b=&Pi}CYtrGFH<(@7ZKy_ad-Fg6gGgEhs z$GZ^wyOTVNnuqRE+D@zDTIKWy#9KqmGbS!TOux@wl`Ht`*Iz=p*Oa#G<}#kKl$Z-^ z;f6J1jdg@YBMpv*+N;>I-Fn#T%YcPhi=`bM&gLNmAJer^ioHX*+HQ3sP7e=|bWS9{ z2>lEb{(sj6(fZFdDSXKD7ire`78)+U=rDYH)Gf61{Sf_HU{7!dm5cmC@XNLAJRy3W zPlBfTb7&reSd5PQSd&sZP94Y@{%d>^?Y|~`OSI>#@{-+GA^DZ*)=&0u^RN7yqVE2q zv*@qfd1e8!xyJj0SRE)!!AWC_xYplD4~esIba)6`wYkcK8kbFPMUGXVYkJtUk(~K2TJ;MUlAvDeii#C#M%2S>I`9sPyPGC$dKE=> zWmLAc>fLnG0B(zxtXAR(=oZ1LF6Ngym{G-6>|y{JGGy!ugQn~c#7g#Sj>1p?015*E z4FkCWBbqt^O<_S75@zfJohmV{$R`3YdW7BwvCwP*ye{q$nU|~8i$Xjh5O}HxUGDZ> zK^J8;wK}XBP&+}BNUX>~IOMst^Kg@TaJ(!}28q&*ZN2u<=ry$(~xH#WH)w~%~J%V*i6gDZf zFPO3-IOGz;n{6~{9!#&sDV4HT!lKlr<$TIk98ugF2?#^{1tblm!a zFK4n#{y{H3WA!in$@be6ZS7-q3FvuZRdwAppx-S46@^x7U6FmiA^0P{e2F$)LHT2_ z_6Qd@>OLj*btC?=&!k!YR6nUnX1xF={{Y)1`u9?=Ub>FldaLFy@&vC=&`cT-Wv;Bh zTl^h6pu9v-J3I(L1nmf=XwbJ{N~Y4Y4JE<4OP6R$0NzpgaI5QEb`dfp9iTN>L6+-6 zStwL51Q8ekv4;0MYixTWB{&S~V@U0pq^jn)BIQ4>ZiIH~c^XX*9z)N zO3F}pBi!%XZoMK{>Zx32eyF)D#rvt%rgTpa?fo zq(hamIH?kf236nPbY9G)-c1j5%vkHG2S%9fA)?AoB4lIKNCI zP6gVxpAYrmV_hCcsz_%xxqsg zyW$jvJK#+Vs$H|($9>*qDpJD2;d89AzF)+rUdZr8f8_Bi_uQ-1d8TiEQ~pr^HXV;k zp}=Nx?&XiA%O#S@(pqXnb?PA#)cKMpj=^Plzm@nA-h97YOF?xWYCAr#Jg`kV;quB3 z{P-gAK=LE96p@TRVZtS^NWLOD6X;-wV17&S6ENJVK*54{6Sg|b}tKgQoSxjik!ReT6Wwk-wjwP!e*yQvkTA(wIbJY7xB0I`3^H^r2 zP1(D+A>f`VcVIr1D3rB}p|#{{z{ge73)z@vZCLYv7fBuxe5SX|`6wPFdg_Aw1a(~|LRAIY zFO`ErLIMC=V3#Ny-b>;SvgW>Ee!%kA2g7+D2wu~{r-3waZB{y?6SI2@s4P=K>>+y= z$CP;lb`TKVfxhjqdOmun$(8;&^uI@@WZ$O@LX`LM@G4!|kC3+Q41}pcp&N z!U_O2U56J!H_-bX9n?%K-ABF@bRc{q%)Hb#admtH1iFy3Zf8vd3MCS&(|kgtbkGiK z5{)gkzf@eeM77kptg^i<(cNWS(pcJVjK0$29uq=#$GE_ z)3iD5I*t{*U3b>XLu$ASxKgFjNj{Jw$* zr$8q1A?kN0iC&$_fd2s61Cz8swCxh6f$b_|^123Bp_ss>caTi<`X^EZ&|O#J5`pi7 zprC+&4FZ7a0QI-C#MYoXFW=ragUB!2LMqTIIB*<;1RAd_4*I~90#HQval29)t!kum ztP;uG%Jxhi^116{Vc>-U>p`k=HD$5juL+hG5ZC~AAWHP8X{G2&bTc&6v~%t#>dR}o zp~zr{l2A;)MAk2?Zi@tHY)v%mm*Gvxr@EKy#0C3>+KPd@XrFEmgV4JuU zL<>MYp+#Bc;tSAnaQ2iM%T-|FpAd;5%B?37v`yqol!uG}yW=h}BB6~5$udh_S%chx zYKHQo)OcRgvn{pttCcDyKeB^dp?CwXU%p6WS2b6Tx>_3Ieivm=t z{BB&ia_{?2fJR$3bsNcf?G_HYwxnIPC~J>(*%+u(wyf25h6+A!gltDA^`M&b8|HTI zPm;JlFO$V92t>%Ez(Kh_i$salJX_`iUUSXNPdiGfNNF^7lnmT-z0fTe^ z`rw`}!S3cgg0)#()@6PRf;CVMtTOj6nsUv3E5ZXd`b!EO9LE zFHH$e0JW@+ZiHI*aeIykC?3@_)S-C}Zuzo~lG!0@)j6wKs!hQxz~d6X;g(tYed5}V z^$qVG@LUbkya~Q2+6h5*#M)~}RlF@~Y*Oi%RmrPBz1a1+P#yLa)>2V2>p<%K&UhxT zyHXqsIwnW*xs!5e=s6}yPK<7;&}52vH!1%BQZO#ito@S?$8Ln?Is67){x|rbYFp`k ztNjZ6wN=tD0P+|fk_S%FE3>3Z;7Vmmxl*M{JrHOO?g@4|k!N=iQDFG0_M#ms`eW;X}I5~S5 zfpf%Z?WDh2aKqjJS{&V1ub{TXbhvqA1+{#(vB2GJ*2u4Emf&?d^|G?+UbQS(W7-eX zaS9OZoYR)V2jIjTBdJl$CK9%|H^J`@q#8ZWSAuIOmQ>)hK3xfm*EL}80xfzp<$A&t zc8&+8taq+{nk8U1AwkH4tUZIFmK zu!*f2QEX^!vNfGh^GkxoEx}$*Vi++?S23E*(u@fr^zl`b}zlu9$khk_yP@ZDWHP1U8FpUl*ovU zA~_M4E?vZgA;MA0>l|jX5i$ama2OmBXMG{nYo@!9jtBkS6klnLb7G)3U94qMbs1dN zSP?x5Z*M@h210oq3=-53H?Lr#2UJZR2Oz-(u{dd90YT`V7v?3mwqE*2r6AY#I3urZ z%y<)22b%UEb3pa6Ijyjb39ALoLc+~ClIqS*5y=fApjV~(2SncD`AQ|J#_1JoEr$O9 z-KN-lt3UzJh9!ld4Oavni&sM>@-<@UrpR^dFv|-e!O+rK-3N_!G$uyvmk;QR;tLH~ z;ETo3vo_$3NnFMWO9Qr0eBJ^*Y@66Sz`C#4?HUQr!I!jXP%ODD=C~y*Gq$(OFEz!7 z8AQq|C2|{>XDFy96xPoRgh16^DlLRv?<3Ul(_jXj=I4nBB*dkSscoGZj$Q79p=U=} z&?JDOmDyuccdh!Fbx)DQE$yfj1QoC_=SadQ2KH4_fLfJrg%k_E)&wb_&G0Nlwu=Dr z(E41zO1nFeWD&K|*FzaBJ&%de_J}K5P`+DT77m5R-+`EQF}%zgi}>OGfXg@fq^I(u z(vMpFnX4LA+t|!oQO2X?hPMw0UvcdBP>Rt8lql(h6;qpAr)ozvYm~Y@EmDOY+3eXV zFpiXPxgtxNycEEefwY=*)Y3QzmLkBOhHFxEdA(pa&yy z<5(r^cc;W)^ROA?}@!>oI)OI_8ag#4ez6+uUI4#Z!=ArV$H(9JK{>TGSLd z4^)*g>3XDLG7fqOXYNY!(aMjwxW&sVrTL9$PcVICxmYnqMddBMJ;qbvL z1DYbj2<_vee8W}sEWyh}*p0ga)+Qkwp;ugV6445rwG5N z;U>xx-uWJv6qc5X%5H#Z?pVJXTHArBcMZ`WwrXBah;dPU0E@nn#W0Ws-8hHWGo>&S z9vV5!&r6v`7#n#GPf9jm2bQdQQU{viR zO%o&6@J6IAn`Q03AOO-`B_}iau=-K0e+~MyL0S(}F)AoQWi?#`s={kw28wB-S`PTH z8k%=3L7;bN(d0$ai<46ImcNR@TIWoEjIU66SH6sTwH?OLDzC7U>}xHgo6HAHvo5sk zsol0Od{LLXpF{;vHm(SbEaj(m8dZ0v%~MLQ?!XQwlg^X}r0xLr^bc18xfo@xMq-si zs&vuSg{FkO=-%T7DU7&a>`^X&IvWXZpweB@Xy;Qz7usGcwyp<4E(AqDfdc^Pmz-NO5P62Hkmys51$#-BmKq>6X>V| z#j|8Ou~(?pM5ZFed4a0G1O;&-(!tDZBCNqhSR7j1 z)mMuTBUV{qEjA8Dgndj!%128RNc(>i>vugbQN8kd34v0LOX%-ALMpghayG@_%Fv?* zkxLzgmbTdU9HYhy!F+h3UR4T$p`s(KRPzAqUIdRw4ziat5#LTpYB*R6u0^ahtGsWp z@QG0@ak2!QFJv zz+$uVwCX@06_GMMW#6M@vJFAwn&lKQA4>8>+eodQ zL{K}i&J2P!%x{yUC}jqO13&`bU*#yRO2Xjee-+FA5>>$TfR03VB(x|6=)P92Q66{4 zvXVl<4T^l+Js90eoY|K{47=-w%iOXLd`U05!3R`UtUdD(kW|&o>zam7Iga17tGNse z7&jD3mFk^2?q%#j$&-#pObK&H-E?-Ry9OdrZPD35g#ZA+6bC|J05}JtH*&TGM(sPp z(82HC3tN>y_lwfHc&8>W%nai7R=p}?b#qrSWtK_-=(IeVu@!x%U06O)!GX%$u^D{p zd3w2G9*yK`%R`=uKP+6Y-ohNL*8scQ%Lc$Cb5H`?zFvS@=A719Py#dq zZ2+f`W+|0XrNiACJItfSp|tB%O3;oqdyNn)K5+F!X}_5)oL4IxVP?jcYon^hKq%8P za)YK=mu+5`5>Erg@WDR4Ak-*esGvx#01<3h_h{K7G>EuHUg?^)7=Vjd!F9eV5UUYL zq8ltWK-UFE%_I9;CEw%rJLYl%dRZ0T*U1iw#H}H}aZRp-sBxPaMb@vnxmXA^Gdd`f za)nt8U;qFL191rECR>osHpc246%B-zt`-GXC8G%rriiDI>Cq#e0p@F+SE&aQi$X=a zfs5e7u6`%xCJ1I;vXRBIJsy&qi5PhlB;lC?oT6FWHu47Sn)A>4869QY8+wQ%`Q7b9 zmZCA8LAN2zA+CEo4n#$Lt*!7g)L`J{s?d6hcS%kXrHGvusVHb4jzLXeV02~~h27t| znD5o8OVqQtM1(yI-$o-ti)Uk>?cBM4!q7lRQOLsDZ`T~vj7*?z4|uVN1?Gm0s`W{s z2*7A(Q>t8|?@Wa*ln@@5i`pn4n*QZolqGSEfCr^WZ!aTQw%%dE9~T;$^hOS>x2xLt zv^%hE@H)Mr3+!N^9SL5S=&%`dHC{%nJ8gL1g4wJgxWU-W97f&?j>Qs#;50ogh!m7+ zxFUijLNo<5hS(5VR9%Cx;7i?G@J94Wgf<-T2t7A>$wWD;Z+o_=hHwT#><|osnq=2B zqgs&Kg$1?ArWto-P%CRK0#E^AKw7~s=$01=;;=-?a^T47%C>3M?fGNqt%H5Y#ILP} z>gY}Sg@eEbfq>{@P17wJ*pmtHESJMl@_DEKavsQc+l4m#U1d!QXzvv@sm7Ypp?`@ zQw&goq+q>*^FT{W7;5YxYV}$zST~p*x5WBw(EJFhNm_70^f523{zzPG(WO$+S`$KZ z>f)3wQG&Q?2K{%S>!Ma)Qp|NJaO_SD46$nk<6Cohl*$(#f>XW7^FjuWV@hxolD-6X zikpD5sKMLjhKg{&`!Q7q31hsD8Q%Tmncf~c35Tdkt1+PL^Jw&h);6vWTGm&H290+# zW5X|vHRX6$6ddhGdC$zA zTpsLDQ<`KBLWmFswgEvX{0b2rEvw{9_jUk_&=ww)w)ep+-eb+@P$=`L002;Q33BD! zy)$mh-X_Bv+`Y7e6or?b#qATj=af;^g)6gv!9)}rM4@;FS!CeUymr5r5L>hYTg7$5|BV%g6kImMOJiN<~w1DRtRhC)sCP< z0%j~$B`0Aba*G9O zvf5Qo98(5ouAEx?GdfNKm}HNY>HvB${UvzT$!@6XC^(?91EAQ_2bkG$>Kd4KJ1!yU zt;+Q^A(zA`K^BUsFC!j-4Hst0Q#Muzel;oxfR3Y)mP*^1?qH7aYNvS^lSI_0^T3@* z4miu6;vp|9+0wMwpp z5wLFe4TpAB8}428!R8DW#-9z~=s+tMy7OH$KNGBm%f-g%RiTrm6@zNn&_B}vs!Odo zb4J()KyC^mq=Ks#(>tTIi`-?6#awcGO?_~5?WC`7a1O5{R%Y@KUS_6gP5%J1O|dzt z6amgHFW-Rb!x`xs3)ic}r->EOEM2nRU^>>pEW-de(AA1niW+D^7K#J~CPoYsacO#8 zl=UO4+OFUNT-cJXKR{g|oB^l2;XS&%k?s-w>8X9#5C9qhM`!^mBSHbC5{_#T(mlaB zrM(Cup=>mHuGwH&1{OY8wh0Rx((v}nFg+Nf2Qa}KO=|G2=|p{NTD4AVKY&1kSuZsW zh3vSZ)QiI_M+;%YO@f7Pf7=tz#a=&h2=4T7E5twT}E8(wT?$1TvS^c0Jb1ttz)dXQYuIiPn+ zdWh>{g|t*S0Q3@O%BX5y0+El2oiOx=k}jRV051hp$xl)+IFH+jmfac$Cs(wz9H<_! z2=s~)513ylXqXdhfELsR3J8-+0lm**|0l*K!);C7nzCnf6BSqtmEeX7$Ax?Fq zALdZCOct_VFSsE)v1DiA^ zR<`XNsd;5|;J_FFb^=POu<6o26s!>I7-VjKz`QQi}zraQmv+W zLU9p2r^0Ib=tFO&XTbKJ$nib1;vdVbmal4qCc9XQXCTlHO4uFlSYFgqVUYauWdj-q z0-CT~g5}f%Q(LBAhRq)5%jgQo&XeLItQbv127BYXXV&k7@TeeEWW7#KqhS4t_V*j7N zaf7pt)fyD>*V)fynLw>eq0Dl6-{jMK?cU)j;xR{>h!uAYpq+eJ+9VkcmG%?R}FsO+H*;7|v&sQrE053tRTHzn*n#s_ZO=Sx8q0v zJaiD%0op3=vmI_dg06dBY&q3+MgM zH1K)gKGv~O0DWzcVc`+%JSHD~gf{wNC}89~PiD`g-7D3Ph^VmTblt_4VbHMHTUZVR zq%d1+D(_b-#g15WX|C0gqa$g>aNYD^yZ@`by z-v+;p`dO2CNxYSVO4>p=1xGyNn!YJ#R6WZJMDh-yFQGPKa~4DBde=g^O2Z&J+^!Cx zE{IYBh1+=zBpdZhDFk|v^}9>Wa&;j1XL0ak>M`wX%OdqKb(ldONu&6vOY{N)u#QKh za>WgByKcp*cv4H?4MqiFIy>_BcAL6w}nfYPf71f@*u1=xV{a)}qH^X1Fn6rwh_#km94)S73^Q zEOzpT6sqn6D;Is!SCEILLzT*|^>V(0tj>XNAs)1ED_&@{Vw*=^V55Q~aT-~Q zH~~ki{{UmqAKkt6#4nnGha}#gT%-4Q!LQ+GqKrK%JR6{>av3K-z^370OOk1Fp$sVQ z7MRGQnJ1{T7cIMzw|Ki!{1I(%>biNr2EK?3SfL4AguOLZeRHK!_FS`JWw~5%G#25-u!T_nLKmzMX zv#}C5!##CZv(eTLLK<4bkf4nPs12?H0twL*w|ROJ+E90exmw<^rjo-=1EGmT3#>%Y z5Y)*zx)S(XG(zgIbQl7#m|HJ{o3#;k+d9jNYt@TwdN0yIokMSHz+VJG3w{9TWq@@m zD;E^euUUWqG@w5kVSfIZPzh4KPhs%_&}Sg&1adfXGLxE`EFjP6V1qX(eclK&&G19f z*Dv=?2P4GxZ-`C((h>ahMri`=jNYZ zz7N8^Pg{W4*1_f|&63m?bQ?uuiD`ujR={#RrY2#rvFoSa3<$?4{(<#^_J%(Aaa<{|_q3D>qnD}34-KsrF)_il=`*Tx56$H6s zOxD_0sPixVtb-Udpfm!ZxK9W*>0#ZZ(lo$Zv3!$gY>AF}%8T zV1ui%+DBpq7>}Wn01F`7RIr3;TN7wCCX(ZQrs*Tlwp6vI67{UEfs}<1ZbGfBTxD;y zWez8AL}6!IuM5O%h=#g=FPy%UyRA8d3ZU9v(Sw^5L|D;7^{VKBLdeU$9G3Jc*W0uW;S7RaX z3wujtF}=*M2JB#*MAM0*D4}+fc&?;RE7W;Y2cxme-cu>`x{Uk!B|xuB^g)cS;xYjg zQH1L22I$zOW#W+R5Yp*R=*MJO?=3DluMwWV+>hIW`!^#M0YWl`m{yO{_7aT=v_? zQp?a4by!YOpEIjNk+67Zz|qs*^!5D<>+yY3d-NB`GBI(1`@3UL#-%{7RyuMq7hNho zVb~cRDHvtn)w3Q2nR%BCdWAH)I}Q< LZ7n)sPmxS9a<^1V=a35{gnnK?41q7*sn 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 literal 115477 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�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�MM<*3+J`-y^QQ<5M$<_xjs%EYH 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⁣P!)++``&Z+fyUMBzyi&fH4{(=ID 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