@kevinrabun/judges 3.34.1 → 3.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/README.md +19 -17
- package/dist/api.d.ts +1 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +1 -1
- package/dist/api.js.map +1 -1
- package/dist/commands/benchmark-ai-output.d.ts +10 -0
- package/dist/commands/benchmark-ai-output.d.ts.map +1 -0
- package/dist/commands/benchmark-ai-output.js +366 -0
- package/dist/commands/benchmark-ai-output.js.map +1 -0
- package/dist/commands/benchmark.d.ts.map +1 -1
- package/dist/commands/benchmark.js +2 -0
- package/dist/commands/benchmark.js.map +1 -1
- package/dist/dedup.d.ts.map +1 -1
- package/dist/dedup.js +98 -0
- package/dist/dedup.js.map +1 -1
- package/dist/evaluators/framework-safety.d.ts.map +1 -1
- package/dist/evaluators/framework-safety.js +268 -0
- package/dist/evaluators/framework-safety.js.map +1 -1
- package/dist/evaluators/hallucination-detection.d.ts.map +1 -1
- package/dist/evaluators/hallucination-detection.js +55 -2
- package/dist/evaluators/hallucination-detection.js.map +1 -1
- package/dist/evaluators/index.d.ts +10 -0
- package/dist/evaluators/index.d.ts.map +1 -1
- package/dist/evaluators/index.js +130 -6
- package/dist/evaluators/index.js.map +1 -1
- package/dist/evaluators/logic-review.d.ts +3 -0
- package/dist/evaluators/logic-review.d.ts.map +1 -0
- package/dist/evaluators/logic-review.js +263 -0
- package/dist/evaluators/logic-review.js.map +1 -0
- package/dist/evaluators/project.d.ts +19 -0
- package/dist/evaluators/project.d.ts.map +1 -1
- package/dist/evaluators/project.js +2 -2
- package/dist/evaluators/project.js.map +1 -1
- package/dist/evaluators/testing.d.ts.map +1 -1
- package/dist/evaluators/testing.js +39 -0
- package/dist/evaluators/testing.js.map +1 -1
- package/dist/finding-lifecycle.d.ts +55 -0
- package/dist/finding-lifecycle.d.ts.map +1 -1
- package/dist/finding-lifecycle.js +174 -0
- package/dist/finding-lifecycle.js.map +1 -1
- package/dist/judges/framework-safety.d.ts.map +1 -1
- package/dist/judges/framework-safety.js +12 -6
- package/dist/judges/framework-safety.js.map +1 -1
- package/dist/judges/index.d.ts.map +1 -1
- package/dist/judges/index.js +4 -0
- package/dist/judges/index.js.map +1 -1
- package/dist/judges/logic-review.d.ts +3 -0
- package/dist/judges/logic-review.d.ts.map +1 -0
- package/dist/judges/logic-review.js +33 -0
- package/dist/judges/logic-review.js.map +1 -0
- package/dist/patches/index.d.ts.map +1 -1
- package/dist/patches/index.js +227 -0
- package/dist/patches/index.js.map +1 -1
- package/dist/tools/register-review.d.ts +7 -0
- package/dist/tools/register-review.d.ts.map +1 -0
- package/dist/tools/register-review.js +372 -0
- package/dist/tools/register-review.js.map +1 -0
- package/dist/tools/register-workflow.d.ts.map +1 -1
- package/dist/tools/register-workflow.js +73 -1
- package/dist/tools/register-workflow.js.map +1 -1
- package/dist/tools/register.d.ts +1 -1
- package/dist/tools/register.d.ts.map +1 -1
- package/dist/tools/register.js +3 -1
- package/dist/tools/register.js.map +1 -1
- package/dist/types.d.ts +30 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/server.json +3 -3
|
@@ -629,6 +629,115 @@ export function analyzeFrameworkSafety(code, language) {
|
|
|
629
629
|
});
|
|
630
630
|
}
|
|
631
631
|
}
|
|
632
|
+
// ── v3.35.0 — Additional Django patterns ──
|
|
633
|
+
if (hasDjango) {
|
|
634
|
+
// Django: SESSION_COOKIE_SECURE = False
|
|
635
|
+
const insecureSessionLines = getLineNumbers(code, /^\s*SESSION_COOKIE_SECURE\s*=\s*False\b/gm);
|
|
636
|
+
if (insecureSessionLines.length > 0) {
|
|
637
|
+
findings.push({
|
|
638
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
639
|
+
severity: "high",
|
|
640
|
+
title: "Django SESSION_COOKIE_SECURE=False — session hijacking over HTTP",
|
|
641
|
+
description: "Session cookies are sent over unencrypted HTTP connections. Attackers on the same network can intercept session cookies via passive sniffing.",
|
|
642
|
+
lineNumbers: insecureSessionLines,
|
|
643
|
+
recommendation: "Set SESSION_COOKIE_SECURE = True. Also set CSRF_COOKIE_SECURE = True and SECURE_SSL_REDIRECT = True.",
|
|
644
|
+
reference: "Django Security — https://docs.djangoproject.com/en/5.0/ref/settings/#session-cookie-secure",
|
|
645
|
+
confidence: 0.9,
|
|
646
|
+
});
|
|
647
|
+
}
|
|
648
|
+
// Django: SECURE_SSL_REDIRECT = False
|
|
649
|
+
const noSslRedirectLines = getLineNumbers(code, /^\s*SECURE_SSL_REDIRECT\s*=\s*False\b/gm);
|
|
650
|
+
if (noSslRedirectLines.length > 0) {
|
|
651
|
+
findings.push({
|
|
652
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
653
|
+
severity: "medium",
|
|
654
|
+
title: "Django SECURE_SSL_REDIRECT=False — no HTTPS enforcement",
|
|
655
|
+
description: "HTTP requests are not redirected to HTTPS. Sensitive data including credentials and session tokens may be transmitted in cleartext.",
|
|
656
|
+
lineNumbers: noSslRedirectLines,
|
|
657
|
+
recommendation: "Set SECURE_SSL_REDIRECT = True in production settings.",
|
|
658
|
+
reference: "Django SSL — https://docs.djangoproject.com/en/5.0/ref/settings/#secure-ssl-redirect",
|
|
659
|
+
confidence: 0.85,
|
|
660
|
+
});
|
|
661
|
+
}
|
|
662
|
+
// Django: mark_safe() with variable input
|
|
663
|
+
const markSafeLines = getLineNumbers(code, /mark_safe\s*\(\s*(?:f["']|.*\+|\w+(?:\.\w+)*\s*\))/gm);
|
|
664
|
+
if (markSafeLines.length > 0) {
|
|
665
|
+
findings.push({
|
|
666
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
667
|
+
severity: "high",
|
|
668
|
+
title: "Django mark_safe() with dynamic content — XSS vulnerability",
|
|
669
|
+
description: "mark_safe() is called with f-strings, concatenation, or variable input. This bypasses Django's auto-escaping and can introduce XSS when user-controlled data is included.",
|
|
670
|
+
lineNumbers: markSafeLines,
|
|
671
|
+
recommendation: "Use format_html() instead of mark_safe() for dynamic content: format_html('<b>{}</b>', user_input).",
|
|
672
|
+
reference: "Django mark_safe — https://docs.djangoproject.com/en/5.0/ref/utils/#django.utils.safestring.mark_safe",
|
|
673
|
+
confidence: 0.85,
|
|
674
|
+
});
|
|
675
|
+
}
|
|
676
|
+
// Django: FILE_UPLOAD_PERMISSIONS too permissive
|
|
677
|
+
const uploadPermLines = getLineNumbers(code, /FILE_UPLOAD_PERMISSIONS\s*=\s*0o?7[0-7]{2}/gm);
|
|
678
|
+
if (uploadPermLines.length > 0) {
|
|
679
|
+
findings.push({
|
|
680
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
681
|
+
severity: "medium",
|
|
682
|
+
title: "Django FILE_UPLOAD_PERMISSIONS too permissive",
|
|
683
|
+
description: "Uploaded files are created with world-readable or world-writable permissions. This may allow other system users to read or modify uploaded files.",
|
|
684
|
+
lineNumbers: uploadPermLines,
|
|
685
|
+
recommendation: "Set FILE_UPLOAD_PERMISSIONS = 0o644 to restrict access to owner-writable, group/world-readable.",
|
|
686
|
+
reference: "Django File Uploads — https://docs.djangoproject.com/en/5.0/ref/settings/#file-upload-permissions",
|
|
687
|
+
confidence: 0.8,
|
|
688
|
+
});
|
|
689
|
+
}
|
|
690
|
+
// Django: using globals() or locals() in render context
|
|
691
|
+
const localsRenderLines = getLineNumbers(code, /render\s*\([^)]*(?:locals|globals)\s*\(\s*\)/gm);
|
|
692
|
+
if (localsRenderLines.length > 0) {
|
|
693
|
+
findings.push({
|
|
694
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
695
|
+
severity: "medium",
|
|
696
|
+
title: "Django render() with locals()/globals() — data exposure",
|
|
697
|
+
description: "Passing locals() or globals() as template context exposes all local/global variables to the template, potentially leaking sensitive data like database connections, secrets, or internal state.",
|
|
698
|
+
lineNumbers: localsRenderLines,
|
|
699
|
+
recommendation: "Pass an explicit context dictionary: render(request, 'template.html', {'user': user, 'items': items}).",
|
|
700
|
+
reference: "Django Views — https://docs.djangoproject.com/en/5.0/topics/http/shortcuts/#render",
|
|
701
|
+
confidence: 0.8,
|
|
702
|
+
});
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
// ── v3.35.0 — Additional Flask patterns ──
|
|
706
|
+
if (hasFlask) {
|
|
707
|
+
// Flask: send_file with user-controlled path (path traversal)
|
|
708
|
+
const sendFilePaths = getLineNumbers(code, /send_file\s*\(\s*(?:request\.|f["']|os\.path\.join\s*\([^)]*request\.)/gm);
|
|
709
|
+
if (sendFilePaths.length > 0) {
|
|
710
|
+
findings.push({
|
|
711
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
712
|
+
severity: "critical",
|
|
713
|
+
title: "Flask send_file with user input — path traversal",
|
|
714
|
+
description: "send_file() uses user-controlled input to determine the file path. Attackers can use ../ sequences to read arbitrary files from the server.",
|
|
715
|
+
lineNumbers: sendFilePaths,
|
|
716
|
+
recommendation: "Use send_from_directory() with a fixed base directory, or validate the filename with secure_filename().",
|
|
717
|
+
reference: "Flask send_file — https://flask.palletsprojects.com/en/3.0.x/api/#flask.send_file",
|
|
718
|
+
confidence: 0.9,
|
|
719
|
+
});
|
|
720
|
+
}
|
|
721
|
+
// Flask: session without SECRET_KEY
|
|
722
|
+
const sessionNoKeyLines = [];
|
|
723
|
+
if (/session\[/.test(code) && !/secret_key|SECRET_KEY/.test(code)) {
|
|
724
|
+
const sessionUseLines = getLineNumbers(code, /session\[/gm);
|
|
725
|
+
sessionNoKeyLines.push(...sessionUseLines);
|
|
726
|
+
}
|
|
727
|
+
if (sessionNoKeyLines.length > 0) {
|
|
728
|
+
findings.push({
|
|
729
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
730
|
+
severity: "high",
|
|
731
|
+
title: "Flask session used without SECRET_KEY in file",
|
|
732
|
+
description: "Flask sessions are used but no SECRET_KEY is configured in this file. Without a strong secret key, session cookies can be tampered with or forged.",
|
|
733
|
+
lineNumbers: sessionNoKeyLines,
|
|
734
|
+
recommendation: "Set app.secret_key = os.environ['SECRET_KEY'] before using sessions. Ensure the key is cryptographically random.",
|
|
735
|
+
reference: "Flask Sessions — https://flask.palletsprojects.com/en/3.0.x/quickstart/#sessions",
|
|
736
|
+
confidence: 0.65,
|
|
737
|
+
isAbsenceBased: true,
|
|
738
|
+
});
|
|
739
|
+
}
|
|
740
|
+
}
|
|
632
741
|
}
|
|
633
742
|
// ── Spring Boot (Java) ────────────────────────────────────────────────────
|
|
634
743
|
if (lang === "java") {
|
|
@@ -735,6 +844,85 @@ export function analyzeFrameworkSafety(code, language) {
|
|
|
735
844
|
confidence: 0.95,
|
|
736
845
|
});
|
|
737
846
|
}
|
|
847
|
+
// ── v3.35.0 — Additional Spring Boot patterns ──
|
|
848
|
+
// Spring: @RequestBody without @Valid/@Validated
|
|
849
|
+
const noValidationLines = [];
|
|
850
|
+
for (let i = 0; i < lines.length; i++) {
|
|
851
|
+
if (isCommentLine(lines[i]))
|
|
852
|
+
continue;
|
|
853
|
+
if (/@RequestBody\b/.test(lines[i]) && !/@Valid\b|@Validated\b/.test(lines[i])) {
|
|
854
|
+
noValidationLines.push(i + 1);
|
|
855
|
+
}
|
|
856
|
+
}
|
|
857
|
+
if (noValidationLines.length >= 2) {
|
|
858
|
+
findings.push({
|
|
859
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
860
|
+
severity: "medium",
|
|
861
|
+
title: "Spring @RequestBody without @Valid — no input validation",
|
|
862
|
+
description: "Request bodies are deserialized without Bean Validation. Invalid or malicious data passes directly to business logic without constraint checks.",
|
|
863
|
+
lineNumbers: noValidationLines,
|
|
864
|
+
recommendation: "Add @Valid annotation: public ResponseEntity<?> create(@Valid @RequestBody UserDto dto). Define constraints on the DTO with @NotNull, @Size, @Email, etc.",
|
|
865
|
+
reference: "Spring Validation — https://docs.spring.io/spring-framework/reference/core/validation.html",
|
|
866
|
+
confidence: 0.75,
|
|
867
|
+
isAbsenceBased: true,
|
|
868
|
+
});
|
|
869
|
+
}
|
|
870
|
+
// Spring: permitAll on sensitive paths
|
|
871
|
+
const permitAllLines = getLineNumbers(code, /\.requestMatchers\s*\([^)]*(?:admin|user|account|api\/v|manage|config)[^)]*\)\s*\.permitAll\s*\(\s*\)/gim);
|
|
872
|
+
if (permitAllLines.length > 0) {
|
|
873
|
+
findings.push({
|
|
874
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
875
|
+
severity: "high",
|
|
876
|
+
title: "Spring Security permitAll() on sensitive path",
|
|
877
|
+
description: "Paths containing admin, user, account, or management keywords are configured with permitAll(), allowing unauthenticated access to likely sensitive endpoints.",
|
|
878
|
+
lineNumbers: permitAllLines,
|
|
879
|
+
recommendation: 'Use authenticated() or hasRole(): .requestMatchers("/admin/**").hasRole("ADMIN").',
|
|
880
|
+
reference: "Spring Security Authorization — https://docs.spring.io/spring-security/reference/servlet/authorization/authorize-http-requests.html",
|
|
881
|
+
confidence: 0.8,
|
|
882
|
+
});
|
|
883
|
+
}
|
|
884
|
+
// Spring: ObjectMapper with default typing enabled (deserialization attack)
|
|
885
|
+
const defaultTypingLines = getLineNumbers(code, /enableDefaultTyping|activateDefaultTyping|DefaultTyping\.NON_FINAL/gm);
|
|
886
|
+
if (defaultTypingLines.length > 0) {
|
|
887
|
+
findings.push({
|
|
888
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
889
|
+
severity: "critical",
|
|
890
|
+
title: "Jackson default typing enabled — deserialization vulnerability",
|
|
891
|
+
description: "Jackson ObjectMapper has default typing enabled, which allows attackers to specify arbitrary classes during deserialization. This can lead to remote code execution via gadget chains.",
|
|
892
|
+
lineNumbers: defaultTypingLines,
|
|
893
|
+
recommendation: "Remove enableDefaultTyping(). Use @JsonTypeInfo on specific classes instead. Configure PolymorphicTypeValidator to restrict allowed types.",
|
|
894
|
+
reference: "Jackson Deserialization — https://github.com/FasterXML/jackson-databind/issues/2326",
|
|
895
|
+
confidence: 0.95,
|
|
896
|
+
});
|
|
897
|
+
}
|
|
898
|
+
// Spring: Hardcoded credentials in application.properties/YAML
|
|
899
|
+
const springCredLines = getLineNumbers(code, /(?:spring\.datasource\.password|spring\.mail\.password|spring\.security\.user\.password)\s*=\s*[^\s$\{]+/gm);
|
|
900
|
+
if (springCredLines.length > 0) {
|
|
901
|
+
findings.push({
|
|
902
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
903
|
+
severity: "critical",
|
|
904
|
+
title: "Spring Boot hardcoded credentials in configuration",
|
|
905
|
+
description: "Database, mail, or security passwords are hardcoded in configuration files. These credentials will be committed to version control and exposed to anyone with repository access.",
|
|
906
|
+
lineNumbers: springCredLines,
|
|
907
|
+
recommendation: "Use environment variables: spring.datasource.password=${DB_PASSWORD}. Use Spring Cloud Config or Vault for secrets management.",
|
|
908
|
+
reference: "Spring Externalized Config — https://docs.spring.io/spring-boot/reference/features/external-config.html",
|
|
909
|
+
confidence: 0.9,
|
|
910
|
+
});
|
|
911
|
+
}
|
|
912
|
+
// Spring: Logging sensitive data
|
|
913
|
+
const logSensitiveLines = getLineNumbers(code, /(?:log|logger|LOG)\.\w+\s*\([^)]*(?:password|secret|token|apiKey|credentials|ssn|creditCard)/gim);
|
|
914
|
+
if (logSensitiveLines.length > 0) {
|
|
915
|
+
findings.push({
|
|
916
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
917
|
+
severity: "high",
|
|
918
|
+
title: "Spring logging sensitive data — credential exposure",
|
|
919
|
+
description: "Sensitive data such as passwords, secrets, or tokens appears in log statements. Log files are often stored with weaker access controls and retained for extended periods.",
|
|
920
|
+
lineNumbers: logSensitiveLines,
|
|
921
|
+
recommendation: "Remove sensitive data from log statements. Use structured logging with field masking. Never log raw passwords or tokens.",
|
|
922
|
+
reference: "OWASP Logging — https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html",
|
|
923
|
+
confidence: 0.8,
|
|
924
|
+
});
|
|
925
|
+
}
|
|
738
926
|
}
|
|
739
927
|
}
|
|
740
928
|
// ── ASP.NET Core (C#) ─────────────────────────────────────────────────────
|
|
@@ -837,6 +1025,86 @@ export function analyzeFrameworkSafety(code, language) {
|
|
|
837
1025
|
confidence: 0.8,
|
|
838
1026
|
});
|
|
839
1027
|
}
|
|
1028
|
+
// ── v3.35.0 — Additional ASP.NET Core patterns ──
|
|
1029
|
+
// ASP.NET: Missing HTTPS redirection
|
|
1030
|
+
if (/WebApplication\.Create|builder\.Build\(\)/.test(code) && !/UseHttpsRedirection/.test(code)) {
|
|
1031
|
+
findings.push({
|
|
1032
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
1033
|
+
severity: "medium",
|
|
1034
|
+
title: "ASP.NET missing UseHttpsRedirection — no HTTPS enforcement",
|
|
1035
|
+
description: "The application does not call app.UseHttpsRedirection(). HTTP requests are not automatically redirected to HTTPS, allowing sensitive data to be transmitted in cleartext.",
|
|
1036
|
+
lineNumbers: [1],
|
|
1037
|
+
recommendation: "Add app.UseHttpsRedirection() in the middleware pipeline before app.UseAuthorization().",
|
|
1038
|
+
reference: "ASP.NET HTTPS — https://learn.microsoft.com/aspnet/core/security/enforcing-ssl",
|
|
1039
|
+
confidence: 0.7,
|
|
1040
|
+
isAbsenceBased: true,
|
|
1041
|
+
});
|
|
1042
|
+
}
|
|
1043
|
+
// ASP.NET: Unsafe model binding (OverpostTo/Bind with too many properties)
|
|
1044
|
+
const bindAllLines = getLineNumbers(code, /\[Bind\s*\(\s*\)\s*\]|\.Entry\s*\(\s*\w+\s*\)\.CurrentValues\.SetValues/gm);
|
|
1045
|
+
if (bindAllLines.length > 0) {
|
|
1046
|
+
findings.push({
|
|
1047
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
1048
|
+
severity: "high",
|
|
1049
|
+
title: "ASP.NET mass assignment — unsafe model binding",
|
|
1050
|
+
description: "Models are bound without specifying which properties to include. Attackers can set properties they shouldn't have access to (e.g., IsAdmin, Role, Price) via extra form fields.",
|
|
1051
|
+
lineNumbers: bindAllLines,
|
|
1052
|
+
recommendation: 'Use DTOs or [Bind(Include = "Name,Email")] to explicitly whitelist bindable properties. Never bind entity models directly from user input.',
|
|
1053
|
+
reference: "ASP.NET Model Binding — https://learn.microsoft.com/aspnet/core/mvc/models/model-binding",
|
|
1054
|
+
confidence: 0.75,
|
|
1055
|
+
});
|
|
1056
|
+
}
|
|
1057
|
+
// ASP.NET: Logging with string interpolation (structured logging bypass)
|
|
1058
|
+
const logInterpolationLines = getLineNumbers(code, /_?(?:logger|log|Logger|Log)\.\w+\s*\(\s*\$/gm);
|
|
1059
|
+
if (logInterpolationLines.length > 0) {
|
|
1060
|
+
findings.push({
|
|
1061
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
1062
|
+
severity: "low",
|
|
1063
|
+
title: "ASP.NET string interpolation in logging — structured logging bypass",
|
|
1064
|
+
description: 'Using $"..." in ILogger calls bypasses structured logging. Log aggregation tools cannot parse or filter by parameters when they are pre-interpolated into the message string.',
|
|
1065
|
+
lineNumbers: logInterpolationLines,
|
|
1066
|
+
recommendation: 'Use message templates: _logger.LogInformation("User {UserId} logged in", userId) instead of $"User {userId} logged in".',
|
|
1067
|
+
reference: "ASP.NET Logging — https://learn.microsoft.com/aspnet/core/fundamentals/logging",
|
|
1068
|
+
confidence: 0.8,
|
|
1069
|
+
});
|
|
1070
|
+
}
|
|
1071
|
+
// ASP.NET: Returning ProblemDetails with sensitive info
|
|
1072
|
+
const problemDetailsLines = getLineNumbers(code, /Problem\s*\(\s*(?:detail|title)\s*:\s*(?:ex\.Message|exception\.Message|e\.Message|err\.Message)/gm);
|
|
1073
|
+
if (problemDetailsLines.length > 0) {
|
|
1074
|
+
findings.push({
|
|
1075
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
1076
|
+
severity: "medium",
|
|
1077
|
+
title: "ASP.NET ProblemDetails with exception message — information disclosure",
|
|
1078
|
+
description: "Exception messages are passed directly to ProblemDetails responses. In production, this leaks internal error details, stack traces, and potentially sensitive data to API consumers.",
|
|
1079
|
+
lineNumbers: problemDetailsLines,
|
|
1080
|
+
recommendation: 'Return generic messages: Problem(detail: "An error occurred"). Log the full exception server-side. Use exception filters for centralized error handling.',
|
|
1081
|
+
reference: "ASP.NET Error Handling — https://learn.microsoft.com/aspnet/core/web-api/handle-errors",
|
|
1082
|
+
confidence: 0.8,
|
|
1083
|
+
});
|
|
1084
|
+
}
|
|
1085
|
+
// ASP.NET: Missing authorization on controller
|
|
1086
|
+
const controllerNoAuthLines = [];
|
|
1087
|
+
for (let i = 0; i < lines.length; i++) {
|
|
1088
|
+
if (/\[ApiController\]/.test(lines[i])) {
|
|
1089
|
+
const chunk = lines.slice(Math.max(0, i - 3), i + 1).join(" ");
|
|
1090
|
+
if (!/\[Authorize|AllowAnonymous/.test(chunk)) {
|
|
1091
|
+
controllerNoAuthLines.push(i + 1);
|
|
1092
|
+
}
|
|
1093
|
+
}
|
|
1094
|
+
}
|
|
1095
|
+
if (controllerNoAuthLines.length > 0) {
|
|
1096
|
+
findings.push({
|
|
1097
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
1098
|
+
severity: "medium",
|
|
1099
|
+
title: "ASP.NET [ApiController] without [Authorize] — no default auth",
|
|
1100
|
+
description: "API controller does not have [Authorize] attribute. All endpoints on this controller are accessible without authentication unless individually decorated.",
|
|
1101
|
+
lineNumbers: controllerNoAuthLines,
|
|
1102
|
+
recommendation: "Add [Authorize] at the controller level and use [AllowAnonymous] for specific public endpoints: [Authorize] [ApiController] public class UsersController.",
|
|
1103
|
+
reference: "ASP.NET Authorization — https://learn.microsoft.com/aspnet/core/security/authorization/simple",
|
|
1104
|
+
confidence: 0.65,
|
|
1105
|
+
isAbsenceBased: true,
|
|
1106
|
+
});
|
|
1107
|
+
}
|
|
840
1108
|
}
|
|
841
1109
|
}
|
|
842
1110
|
// ── Gin / Echo / Fiber (Go) ───────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework-safety.js","sourceRoot":"","sources":["../../src/evaluators/framework-safety.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAErF;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,QAAgB;IACnE,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAErC,6EAA6E;IAC7E,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QACnD,4EAA4E;QAE5E,gDAAgD;QAChD,MAAM,oBAAoB,GAAa,EAAE,CAAC;QAC1C,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,aAAa,CAAC,IAAI,CAAC;gBAAE,SAAS;YAClC,IAAI,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,aAAa,EAAE,CAAC;YACjE,IACE,aAAa,GAAG,CAAC;gBACjB,wGAAwG,CAAC,IAAI,CAC3G,IAAI,CACL,EACD,CAAC;gBACD,oBAAoB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,GAAG,CAAC;gBAAE,aAAa,EAAE,CAAC;QAChE,CAAC;QACD,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,4DAA4D;gBACnE,WAAW,EACT,sLAAsL;gBACxL,WAAW,EAAE,oBAAoB;gBACjC,cAAc,EACZ,kIAAkI;gBACpI,SAAS,EAAE,yEAAyE;gBACpF,YAAY,EACV,qHAAqH;gBACvH,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QAED,mBAAmB;QACnB,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,aAAa,CAAC,IAAI,CAAC;gBAAE,SAAS;YAClC,IAAI,mDAAmD,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,MAAM,EAAE,CAAC;YAC7E,IAAI,MAAM,GAAG,CAAC,IAAI,+DAA+D,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7F,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC;QAClD,CAAC;QACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,4DAA4D;gBACnE,WAAW,EACT,sJAAsJ;gBACxJ,WAAW,EAAE,eAAe;gBAC5B,cAAc,EACZ,0IAA0I;gBAC5I,SAAS,EAAE,yEAAyE;gBACpF,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QAED,0DAA0D;QAC1D,MAAM,oBAAoB,GAAa,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAS;YACtC,IAAI,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7E,MAAM,eAAe,GACnB,oGAAoG,CAAC,IAAI,CACvG,UAAU,CACX,CAAC;gBACJ,MAAM,UAAU,GACd,yIAAyI,CAAC,IAAI,CAC5I,UAAU,CACX,CAAC;gBACJ,IAAI,eAAe,IAAI,CAAC,UAAU,EAAE,CAAC;oBACnC,oBAAoB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,yDAAyD;gBAChE,WAAW,EACT,kLAAkL;gBACpL,WAAW,EAAE,oBAAoB;gBACjC,cAAc,EACZ,iJAAiJ;gBACnJ,SAAS,EAAE,uEAAuE;gBAClF,YAAY,EACV,0GAA0G;gBAC5G,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,yEAAyE;QACzE,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAS;YACtC,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChH,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpE,qFAAqF;gBACrF,IAAI,8CAA8C,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7D,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,mEAAmE;gBAC1E,WAAW,EACT,iKAAiK;gBACnK,WAAW,EAAE,iBAAiB;gBAC9B,cAAc,EACZ,kIAAkI;gBACpI,SAAS,EAAE,2EAA2E;gBACtF,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QAED,iEAAiE;QACjE,MAAM,qBAAqB,GAAa,EAAE,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAS;YACtC,IAAI,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5E,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjF,IAAI,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC5B,qBAAqB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,0EAA0E;gBACjF,WAAW,EACT,uKAAuK;gBACzK,WAAW,EAAE,qBAAqB;gBAClC,cAAc,EACZ,sIAAsI;gBACxI,SAAS,EAAE,+DAA+D;gBAC1E,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QAED,4EAA4E;QAE5E,6EAA6E;QAC7E,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,QAAQ,CAC5B,IAAI,EACJ,iFAAiF,CAClF,CAAC;QACF,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;YACrB,IAAI,oBAAoB,GAAG,KAAK,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAAE,SAAS;gBACtC,iEAAiE;gBACjE,IACE,8IAA8I,CAAC,IAAI,CACjJ,KAAK,CAAC,CAAC,CAAC,CACT,EACD,CAAC;oBACD,WAAW,GAAG,CAAC,CAAC;gBAClB,CAAC;gBACD,0CAA0C;gBAC1C,IACE,WAAW,IAAI,CAAC;oBAChB,CAAC,GAAG,WAAW;oBACf,qDAAqD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACpE,CAAC;oBACD,oBAAoB,GAAG,IAAI,CAAC;oBAC5B,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YACD,IAAI,oBAAoB,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;gBAC7C,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,mDAAmD;oBAC1D,WAAW,EACT,sLAAsL;oBACxL,WAAW,EAAE,CAAC,WAAW,GAAG,CAAC,EAAE,GAAG,mBAAmB,CAAC;oBACtD,cAAc,EACZ,yHAAyH;oBAC3H,SAAS,EAAE,6EAA6E;oBACxF,YAAY,EACV,2GAA2G;oBAC7G,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,iDAAiD;YACjD,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;YAClB,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAAE,SAAS;gBACtC,IAAI,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC;oBAAE,QAAQ,GAAG,CAAC,CAAC;gBAC9E,IAAI,wDAAwD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC;oBAAE,QAAQ,GAAG,CAAC,CAAC;YAC5G,CAAC;YAED,iCAAiC;YACjC,MAAM,sBAAsB,GAAa,EAAE,CAAC;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAAE,SAAS;gBACtC,IAAI,0FAA0F,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9G,sBAAsB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,IAAI,sBAAsB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACvC,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,mDAAmD;oBAC1D,WAAW,EACT,gJAAgJ;oBAClJ,WAAW,EAAE,sBAAsB;oBACnC,cAAc,EACZ,sGAAsG;oBACxG,SAAS,EAAE,sEAAsE;oBACjF,YAAY,EAAE,qDAAqD;oBACnE,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,2CAA2C;YAC3C,MAAM,eAAe,GAAG,cAAc,CACpC,IAAI,EACJ,+FAA+F,CAChG,CAAC;YACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,mEAAmE;oBAC1E,WAAW,EACT,kKAAkK;oBACpK,WAAW,EAAE,eAAe;oBAC5B,cAAc,EACZ,4GAA4G;oBAC9G,SAAS,EAAE,2EAA2E;oBACtF,YAAY,EAAE,qEAAqE;oBACnF,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,kDAAkD;YAClD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,oEAAoE,CAAC,CAAC;YACvG,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,iDAAiD,CAAC,CAAC;YACpF,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACjD,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,yDAAyD;oBAChE,WAAW,EACT,wKAAwK;oBAC1K,WAAW,EAAE,CAAC,CAAC,CAAC;oBAChB,cAAc,EACZ,2HAA2H;oBAC7H,SAAS,EAAE,yCAAyC;oBACpD,YAAY,EAAE,sDAAsD;oBACpE,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,gDAAgD;YAChD,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,EAAE,6DAA6D,CAAC,CAAC;YACpG,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,0CAA0C,CAAC,CAAC;YAChF,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,gDAAgD,CAAC,CAAC;YAClF,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACtE,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,2DAA2D;oBAClE,WAAW,EACT,qLAAqL;oBACvL,WAAW,EAAE,CAAC,CAAC,CAAC;oBAChB,cAAc,EACZ,8GAA8G;oBAChH,SAAS,EAAE,0EAA0E;oBACrF,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,2EAA2E;QAE3E,+CAA+C;QAC/C,MAAM,IAAI,GAAG,oEAAoE,CAAC;QAClF,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,eAAe,GAAa,EAAE,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAAE,SAAS;gBACtC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACzE,qEAAqE;oBACrE,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBAClF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;wBAC3D,IAAI,UAAU,IAAI,iDAAiD,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACxF,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC9B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,0DAA0D;oBACjE,WAAW,EACT,2LAA2L;oBAC7L,WAAW,EAAE,eAAe;oBAC5B,cAAc,EACZ,uHAAuH;oBACzH,SAAS,EAAE,8EAA8E;oBACzF,YAAY,EACV,+IAA+I;oBACjJ,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,MAAM,mBAAmB,GACvB,oJAAoJ,CAAC;QACvJ,MAAM,cAAc,GAClB,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzC,CAAC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAC;QACzF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,YAAY,GAChB,wHAAwH,CAAC,IAAI,CAC3H,IAAI,CACL,CAAC;YACJ,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,gDAAgD;oBACvD,WAAW,EACT,oJAAoJ;oBACtJ,WAAW,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;oBAC3C,cAAc,EACZ,0JAA0J;oBAC5J,SAAS,EAAE,kEAAkE;oBAC7E,YAAY,EACV,yGAAyG;oBAC3G,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,6EAA6E;QAE7E,uDAAuD;QACvD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,iEAAiE,CAAC,CAAC;QAC5G,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,wCAAwC;gBAC/C,WAAW,EACT,gLAAgL;gBAClL,WAAW,EAAE,WAAW;gBACxB,cAAc,EACZ,gLAAgL;gBAClL,SAAS,EAAE,sDAAsD;gBACjE,YAAY,EACV,oGAAoG;gBACtG,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,6EAA6E;QAE7E,2BAA2B;QAC3B,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;QACvE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;YACxE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,qDAAqD;oBAC5D,WAAW,EACT,qKAAqK;oBACvK,WAAW,EAAE,UAAU;oBACvB,cAAc,EACZ,8IAA8I;oBAChJ,SAAS,EAAE,qEAAqE;oBAChF,YAAY,EACV,4GAA4G;oBAC9G,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,6EAA6E;QAE7E,uEAAuE;QACvE,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAS;YACtC,IAAI,oDAAoD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxE,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,wDAAwD;gBAC/D,WAAW,EAAE,GAAG,kBAAkB,CAAC,MAAM,+JAA+J;gBACxM,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC3C,cAAc,EACZ,2HAA2H;gBAC7H,SAAS,EAAE,mEAAmE;gBAC9E,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,oDAAoD;QACpD,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAS;YACtC,IACE,yCAAyC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC3F,CAAC;gBACD,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,0DAA0D;gBACjE,WAAW,EACT,oKAAoK;gBACtK,WAAW,EAAE,aAAa;gBAC1B,cAAc,EACZ,8IAA8I;gBAChJ,SAAS,EAAE,2FAA2F;gBACtG,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC;QAED,mDAAmD;QACnD,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,aAAa,CAAC,IAAI,CAAC;gBAAE,SAAS;YAClC,oFAAoF;YACpF,IACE,mEAAmE,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9E,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EACrC,CAAC;gBACD,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACzD,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,mDAAmD;gBAC1D,WAAW,EACT,oKAAoK;gBACtK,WAAW,EAAE,kBAAkB;gBAC/B,cAAc,EACZ,4IAA4I;gBAC9I,SAAS,EAAE,0EAA0E;gBACrF,YAAY,EACV,mIAAmI;gBACrI,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,+CAA+C;QAC/C,MAAM,kBAAkB,GAAG,cAAc,CAAC,IAAI,EAAE,sDAAsD,CAAC,CAAC;QACxG,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,6CAA6C,CAAC,CAAC;YACnF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACvD,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,+DAA+D;oBACtE,WAAW,EACT,mJAAmJ;oBACrJ,WAAW,EAAE,kBAAkB;oBAC/B,cAAc,EACZ,kLAAkL;oBACpL,SAAS,EACP,iHAAiH;oBACnH,YAAY,EAAE,sFAAsF;oBACpG,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,uBAAuB;IAEzB,6EAA6E;IAC7E,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,oCAAoC,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,sCAAsC,CAAC,CAAC;QAE1E,mDAAmD;QACnD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;YACxE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,iDAAiD;oBACxD,WAAW,EACT,oJAAoJ;oBACtJ,WAAW,EAAE,cAAc;oBAC3B,cAAc,EACZ,0HAA0H;oBAC5H,SAAS,EAAE,6EAA6E;oBACxF,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,gCAAgC;YAChC,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,EAAE,4CAA4C,CAAC,CAAC;YAC7F,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,yDAAyD;oBAChE,WAAW,EACT,8HAA8H;oBAChI,WAAW,EAAE,iBAAiB;oBAC9B,cAAc,EAAE,4FAA4F;oBAC5G,SAAS,EAAE,0FAA0F;oBACrG,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,gEAAgE;YAChE,MAAM,WAAW,GAAG,cAAc,CAChC,IAAI,EACJ,4IAA4I,CAC7I,CAAC;YACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,0DAA0D;oBACjE,WAAW,EACT,4KAA4K;oBAC9K,WAAW,EAAE,WAAW;oBACxB,cAAc,EACZ,0GAA0G;oBAC5G,SAAS,EACP,wGAAwG;oBAC1G,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,+BAA+B;YAC/B,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,EAAE,0CAA0C,CAAC,CAAC;YACxF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,mDAAmD;oBAC1D,WAAW,EACT,mKAAmK;oBACrK,WAAW,EAAE,cAAc;oBAC3B,cAAc,EACZ,wGAAwG;oBAC1G,SAAS,EAAE,oFAAoF;oBAC/F,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,iCAAiC;YACjC,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;YAC/D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,gDAAgD;oBACvD,WAAW,EACT,sKAAsK;oBACxK,WAAW,EAAE,eAAe;oBAC5B,cAAc,EACZ,yKAAyK;oBAC3K,SAAS,EAAE,+DAA+D;oBAC1E,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,gCAAgC;YAChC,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;YACzE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,yCAAyC;oBAChD,WAAW,EACT,kKAAkK;oBACpK,WAAW,EAAE,eAAe;oBAC5B,cAAc,EACZ,4HAA4H;oBAC9H,SAAS,EAAE,uFAAuF;oBAClG,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,EAAE,sCAAsC,CAAC,CAAC;YACrF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,uDAAuD;oBAC9D,WAAW,EACT,wLAAwL;oBAC1L,WAAW,EAAE,eAAe;oBAC5B,cAAc,EACZ,qHAAqH;oBACvH,SAAS,EAAE,wEAAwE;oBACnF,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,gDAAgD;YAChD,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;YAChF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,sEAAsE;oBAC7E,WAAW,EACT,8LAA8L;oBAChM,WAAW,EAAE,iBAAiB;oBAC9B,cAAc,EACZ,qGAAqG;oBACvG,SAAS,EAAE,2FAA2F;oBACtG,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,8BAA8B;YAC9B,MAAM,gBAAgB,GAAG,cAAc,CACrC,IAAI,EACJ,qFAAqF,CACtF,CAAC;YACF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,mDAAmD;oBAC1D,WAAW,EACT,6IAA6I;oBAC/I,WAAW,EAAE,gBAAgB;oBAC7B,cAAc,EACZ,sGAAsG;oBACxG,SAAS,EAAE,kFAAkF;oBAC7F,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,0CAA0C;YAC1C,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,0CAA0C,CAAC,CAAC;YACrF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,qDAAqD;oBAC5D,WAAW,EACT,uIAAuI;oBACzI,WAAW,EAAE,WAAW;oBACxB,cAAc,EACZ,yGAAyG;oBAC3G,SAAS,EAAE,iEAAiE;oBAC5E,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,eAAe,GAAa,EAAE,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAAE,SAAS;gBACtC,uCAAuC;gBACvC,IAAI,uDAAuD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;oBAClF,gEAAgE;oBAChE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1E,IAAI,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;wBAChF,+EAA+E;wBAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACpD,IAAI,kEAAkE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;4BACvF,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC9B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,qEAAqE;oBAC5E,WAAW,EACT,kLAAkL;oBACpL,WAAW,EAAE,eAAe;oBAC5B,cAAc,EACZ,+HAA+H;oBACjI,SAAS,EAAE,oEAAoE;oBAC/E,UAAU,EAAE,GAAG;oBACf,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,QAAQ,CACxB,IAAI,EACJ,qFAAqF,CACtF,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,wBAAwB;YACxB,MAAM,iBAAiB,GAAG,cAAc,CACtC,IAAI,EACJ,wEAAwE,CACzE,CAAC;YACF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,0CAA0C;oBACjD,WAAW,EACT,0JAA0J;oBAC5J,WAAW,EAAE,iBAAiB;oBAC9B,cAAc,EACZ,8LAA8L;oBAChM,SAAS,EAAE,2FAA2F;oBACtG,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,2DAA2D;YAC3D,MAAM,mBAAmB,GAAG,cAAc,CACxC,IAAI,EACJ,oFAAoF,CACrF,CAAC;YACF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,yDAAyD;oBAChE,WAAW,EACT,8JAA8J;oBAChK,WAAW,EAAE,mBAAmB;oBAChC,cAAc,EACZ,wHAAwH;oBAC1H,SAAS,EAAE,2FAA2F;oBACtG,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,8CAA8C;YAC9C,MAAM,iBAAiB,GAAG,cAAc,CACtC,IAAI,EACJ,oEAAoE,CACrE,CAAC;YACF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,4CAA4C;oBACnD,WAAW,EACT,kIAAkI;oBACpI,WAAW,EAAE,iBAAiB;oBAC9B,cAAc,EAAE,0FAA0F;oBAC1G,SAAS,EAAE,sFAAsF;oBACjG,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,qDAAqD;YACrD,MAAM,2BAA2B,GAAa,EAAE,CAAC;YACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAAE,SAAS;gBACtC,IAAI,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjF,2BAA2B,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,IAAI,2BAA2B,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC5C,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,kEAAkE;oBACzE,WAAW,EACT,2JAA2J;oBAC7J,WAAW,EAAE,2BAA2B;oBACxC,cAAc,EACZ,gKAAgK;oBAClK,SAAS,EAAE,+FAA+F;oBAC1G,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,gEAAgE;YAChE,MAAM,qBAAqB,GAAa,EAAE,CAAC;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAAE,SAAS;gBACtC,oDAAoD;gBACpD,IACE,0FAA0F,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACzG,iDAAiD,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACpG,CAAC;oBACD,qBAAqB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,uEAAuE;oBAC9E,WAAW,EACT,yKAAyK;oBAC3K,WAAW,EAAE,qBAAqB;oBAClC,cAAc,EACZ,iJAAiJ;oBACnJ,SAAS,EACP,+GAA+G;oBACjH,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;YACL,CAAC;YAED,sDAAsD;YACtD,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,EAAE,0DAA0D,CAAC,CAAC;YACvG,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,8CAA8C;oBACrD,WAAW,EACT,oJAAoJ;oBACtJ,WAAW,EAAE,aAAa;oBAC1B,cAAc,EACZ,2HAA2H;oBAC7H,SAAS,EAAE,wFAAwF;oBACnG,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,QAAQ,CACxB,IAAI,EACJ,oHAAoH,CACrH,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,yBAAyB;YACzB,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,EAAE,iEAAiE,CAAC,CAAC;YAC7G,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,qCAAqC;oBAC5C,WAAW,EACT,+IAA+I;oBACjJ,WAAW,EAAE,YAAY;oBACzB,cAAc,EACZ,mIAAmI;oBACrI,SAAS,EAAE,sEAAsE;oBACjF,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,iCAAiC;YACjC,MAAM,mBAAmB,GAAG,cAAc,CACxC,IAAI,EACJ,0GAA0G,CAC3G,CAAC;YACF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,gDAAgD;oBACvD,WAAW,EACT,iJAAiJ;oBACnJ,WAAW,EAAE,mBAAmB;oBAChC,cAAc,EACZ,sIAAsI;oBACxI,SAAS,EAAE,8FAA8F;oBACzG,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,kDAAkD;YAClD,MAAM,iBAAiB,GAAG,cAAc,CACtC,IAAI,EACJ,qGAAqG,CACtG,CAAC;YACF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,2DAA2D;oBAClE,WAAW,EACT,uKAAuK;oBACzK,WAAW,EAAE,iBAAiB;oBAC9B,cAAc,EACZ,gIAAgI;oBAClI,SAAS,EAAE,4EAA4E;oBACvF,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,qCAAqC;YACrC,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,EAAE,4CAA4C,CAAC,CAAC;YAC7F,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,aAAa,GAAG,QAAQ,CAC5B,IAAI,EACJ,+GAA+G,CAChH,CAAC;gBACF,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,QAAQ,CAAC,IAAI,CAAC;wBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;wBACzD,QAAQ,EAAE,MAAM;wBAChB,KAAK,EAAE,6DAA6D;wBACpE,WAAW,EACT,iJAAiJ;wBACnJ,WAAW,EAAE,iBAAiB;wBAC9B,cAAc,EACZ,sGAAsG;wBACxG,SAAS,EAAE,8FAA8F;wBACzG,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,wCAAwC;YACxC,MAAM,eAAe,GAAG,cAAc,CACpC,IAAI,EACJ,+EAA+E,CAChF,CAAC;YACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,sDAAsD;oBAC7D,WAAW,EACT,+JAA+J;oBACjK,WAAW,EAAE,eAAe;oBAC5B,cAAc,EACZ,sJAAsJ;oBACxJ,SAAS,EAAE,4FAA4F;oBACvG,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,mDAAmD;YACnD,MAAM,cAAc,GAAa,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxC,yDAAyD;oBACzD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtE,IAAI,6DAA6D,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC9E,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,iDAAiD;oBACxD,WAAW,EACT,2JAA2J;oBAC7J,WAAW,EAAE,cAAc;oBAC3B,cAAc,EACZ,mGAAmG;oBACrG,SAAS,EAAE,+FAA+F;oBAC1G,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,gFAAgF,CAAC,CAAC;QAChH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,0DAA0D,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,2DAA2D,CAAC,CAAC;QAE7F,IAAI,MAAM,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YAClC,iCAAiC;YACjC,MAAM,mBAAmB,GAAa,EAAE,CAAC;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAAE,SAAS;gBACtC,IAAI,oDAAoD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxE,+BAA+B;oBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACpD,IAAI,CAAC,wDAAwD,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC9E,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,0CAA0C;oBACjD,WAAW,EACT,0LAA0L;oBAC5L,WAAW,EAAE,mBAAmB;oBAChC,cAAc,EACZ,2IAA2I;oBAC7I,SAAS,EAAE,8EAA8E;oBACzF,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,IAAI;iBACrB,CAAC,CAAC;YACL,CAAC;YAED,gCAAgC;YAChC,MAAM,mBAAmB,GAAG,cAAc,CACxC,IAAI,EACJ,+FAA+F,CAChG,CAAC;YACF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,qDAAqD;oBAC5D,WAAW,EACT,mKAAmK;oBACrK,WAAW,EAAE,mBAAmB;oBAChC,cAAc,EAAE,mFAAmF;oBACnG,SAAS,EAAE,mDAAmD;oBAC9D,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,wCAAwC;YACxC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,EAAE,0CAA0C,CAAC,CAAC;gBACrF,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,yCAAyC,CAAC,CAAC;gBAC/E,IAAI,CAAC,iBAAiB,IAAI,YAAY,EAAE,CAAC;oBACvC,QAAQ,CAAC,IAAI,CAAC;wBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;wBACzD,QAAQ,EAAE,QAAQ;wBAClB,KAAK,EAAE,sDAAsD;wBAC7D,WAAW,EACT,4JAA4J;wBAC9J,WAAW,EAAE,CAAC,CAAC,CAAC;wBAChB,cAAc,EACZ,mIAAmI;wBACrI,SAAS,EAAE,sFAAsF;wBACjG,UAAU,EAAE,IAAI;wBAChB,cAAc,EAAE,IAAI;qBACrB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,6CAA6C;YAC7C,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,EAAE,oDAAoD,CAAC,CAAC;YACrG,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACzD,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,4DAA4D;oBACnE,WAAW,EACT,kIAAkI;oBACpI,WAAW,EAAE,iBAAiB;oBAC9B,cAAc,EAAE,yEAAyE;oBACzF,UAAU,EAAE,GAAG;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,2CAA2C;YAC3C,MAAM,mBAAmB,GAAG,cAAc,CAAC,IAAI,EAAE,sDAAsD,CAAC,CAAC;YACzG,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,4CAA4C;oBACvG,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,iDAAiD;oBACxD,WAAW,EACT,qJAAqJ;oBACvJ,WAAW,EAAE,mBAAmB;oBAChC,cAAc,EACZ,2HAA2H;oBAC7H,SAAS,EAAE,qDAAqD;oBAChE,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"framework-safety.js","sourceRoot":"","sources":["../../src/evaluators/framework-safety.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hallucination-detection.d.ts","sourceRoot":"","sources":["../../src/evaluators/hallucination-detection.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAwB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"hallucination-detection.d.ts","sourceRoot":"","sources":["../../src/evaluators/hallucination-detection.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAwB,MAAM,aAAa,CAAC;AAsnBjE,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAgWvF"}
|
|
@@ -454,7 +454,7 @@ const HALLUCINATED_PATTERNS = [
|
|
|
454
454
|
// ── Cross-language ────────────────────────────────────────────────────
|
|
455
455
|
// Fabricated npm packages — common hallucinated package names
|
|
456
456
|
{
|
|
457
|
-
pattern: /\bfrom\s+['"](?:easy-jwt|simple-crypto|auto-sanitize|quick-hash|fast-validate|node-security-utils|express-secure|react-safe-render|mongo-safe|api-guard|auth-helper|crypto-utils|secure-config|safe-eval|node-encrypt)['"]/,
|
|
457
|
+
pattern: /\bfrom\s+['"](?:easy-jwt|simple-crypto|auto-sanitize|quick-hash|fast-validate|node-security-utils|express-secure|react-safe-render|mongo-safe|api-guard|auth-helper|crypto-utils|secure-config|safe-eval|node-encrypt|express-auth|express-jwt-auth|express-session-store|react-auth-provider|react-secure|react-data-grid-pro|node-auth|node-sanitize|node-validator|db-connect|sql-builder|sql-safe|prisma-utils|mongoose-helper|redis-helper|cache-manager-redis|graphql-auth|graphql-validate|ws-auth|socket-secure|file-encrypt|pdf-extract|csv-parse-sync|image-resize|video-transcode|email-send|sms-send|payment-process|stripe-helper|aws-helper|azure-helper|gcp-helper|cloud-deploy)['"]/,
|
|
458
458
|
hallucinated: "Non-existent npm package import",
|
|
459
459
|
reason: "This import references a package name commonly hallucinated by LLMs. The package either doesn't exist on npm or is a name-squatted stub.",
|
|
460
460
|
fix: "Verify the package exists on npmjs.com. Use established alternatives: jose/jsonwebtoken for JWT, crypto for hashing, express-validator for validation, helmet for security headers.",
|
|
@@ -462,12 +462,28 @@ const HALLUCINATED_PATTERNS = [
|
|
|
462
462
|
},
|
|
463
463
|
// Fabricated Python packages
|
|
464
464
|
{
|
|
465
|
-
pattern: /^\s*(?:from|import)\s+(?:easy_jwt|simple_crypto|auto_sanitize|quick_hash|fast_validate|python_security|django_secure|flask_safe|mongo_safe|api_guard|auth_helper|crypto_utils|secure_config|safe_eval|py_encrypt)\b/,
|
|
465
|
+
pattern: /^\s*(?:from|import)\s+(?:easy_jwt|simple_crypto|auto_sanitize|quick_hash|fast_validate|python_security|django_secure|flask_safe|mongo_safe|api_guard|auth_helper|crypto_utils|secure_config|safe_eval|py_encrypt|django_auth_utils|flask_auth|fastapi_auth|fastapi_jwt|py_sanitize|py_validator|db_connect|sql_builder|sql_safe|redis_helper|cache_helper|graphql_auth|file_encrypt|pdf_extract|image_resize|email_send|payment_process|cloud_deploy|aws_helper|azure_helper|gcp_helper)\b/,
|
|
466
466
|
hallucinated: "Non-existent Python package import",
|
|
467
467
|
reason: "This import references a package name commonly hallucinated by LLMs. The package likely doesn't exist on PyPI.",
|
|
468
468
|
fix: "Verify the package exists on pypi.org. Use established alternatives: PyJWT for JWT, cryptography for crypto, flask-wtf for validation.",
|
|
469
469
|
languages: ["python"],
|
|
470
470
|
},
|
|
471
|
+
// Fabricated Go packages — common hallucinated module paths
|
|
472
|
+
{
|
|
473
|
+
pattern: /^\s*"(?:github\.com\/go-(?:jwt|auth|sanitize|validate|encrypt|hash|session|middleware|cache|queue|email|payments))\b/,
|
|
474
|
+
hallucinated: "Non-existent Go module import",
|
|
475
|
+
reason: "This import references a Go module path commonly hallucinated by LLMs. The module likely doesn't exist.",
|
|
476
|
+
fix: "Verify on pkg.go.dev. Use established alternatives: github.com/golang-jwt/jwt for JWT, golang.org/x/crypto for crypto.",
|
|
477
|
+
languages: ["go"],
|
|
478
|
+
},
|
|
479
|
+
// Fabricated Java/Kotlin packages
|
|
480
|
+
{
|
|
481
|
+
pattern: /^\s*import\s+(?:com\.(?:auth|security|validate|sanitize|encrypt)\.(?:utils|helper|manager|service)|org\.(?:auth|security|validate)\.(?:utils|helper|core))\b/,
|
|
482
|
+
hallucinated: "Non-existent Java/Kotlin package import",
|
|
483
|
+
reason: "This import references a Java/Kotlin package commonly hallucinated by LLMs.",
|
|
484
|
+
fix: "Verify the package exists on Maven Central/Gradle Plugin Portal. Use established alternatives from Spring Security, Apache Commons, or Bouncy Castle.",
|
|
485
|
+
languages: ["java", "kotlin"],
|
|
486
|
+
},
|
|
471
487
|
];
|
|
472
488
|
// ─── Suspicious Import Patterns ─────────────────────────────────────────────
|
|
473
489
|
/**
|
|
@@ -809,6 +825,43 @@ export function analyzeHallucinationDetection(code, language) {
|
|
|
809
825
|
}
|
|
810
826
|
}
|
|
811
827
|
}
|
|
828
|
+
// ── Dependency Confusion / Internal Namespace Detection ─────────────────
|
|
829
|
+
// Detect unscoped package names that look like internal company packages
|
|
830
|
+
// (common when AI fabricates imports based on the codebase context)
|
|
831
|
+
if (lang === "javascript" || lang === "typescript") {
|
|
832
|
+
const internalPatterns = /\bfrom\s+['"](?!@)([a-z]+-(?:internal|private|core-api|backend-sdk|shared-types|company|org|platform|infra|deploy|devtools|build-tools|internal-utils|private-utils)(?:[-/][a-z]+)*)['"]/;
|
|
833
|
+
for (let i = 0; i < lines.length; i++) {
|
|
834
|
+
if (isCommentLine(lines[i]))
|
|
835
|
+
continue;
|
|
836
|
+
const m = lines[i].match(internalPatterns);
|
|
837
|
+
if (m) {
|
|
838
|
+
findings.push({
|
|
839
|
+
ruleId: `${prefix}-${String(ruleNum++).padStart(3, "0")}`,
|
|
840
|
+
severity: "high",
|
|
841
|
+
title: `Potential dependency confusion: "${m[1]}"`,
|
|
842
|
+
description: `The package "${m[1]}" looks like an internal/private package name but is imported without a scoped namespace (@org/). ` +
|
|
843
|
+
"AI code generators may fabricate package names based on project context, creating dependency confusion risks.",
|
|
844
|
+
lineNumbers: [i + 1],
|
|
845
|
+
recommendation: "Verify this package exists. Internal packages should use scoped names (@yourorg/package). " +
|
|
846
|
+
"If this is a private package, ensure your .npmrc is configured for your private registry.",
|
|
847
|
+
reference: "Dependency Confusion — Alex Birsan (2021)",
|
|
848
|
+
confidence: 0.7,
|
|
849
|
+
provenance: "regex-pattern-match",
|
|
850
|
+
evidenceChain: {
|
|
851
|
+
steps: [
|
|
852
|
+
{
|
|
853
|
+
observation: `Unscoped package "${m[1]}" contains internal-looking keywords`,
|
|
854
|
+
source: "pattern-match",
|
|
855
|
+
line: i + 1,
|
|
856
|
+
},
|
|
857
|
+
],
|
|
858
|
+
impactStatement: `Supply-chain risk: "${m[1]}" could be claimed by an attacker on the public registry`,
|
|
859
|
+
},
|
|
860
|
+
evidenceBasis: "Dependency-confusion-heuristic (+0.40), naming-pattern (+0.30)",
|
|
861
|
+
});
|
|
862
|
+
}
|
|
863
|
+
}
|
|
864
|
+
}
|
|
812
865
|
return findings;
|
|
813
866
|
}
|
|
814
867
|
//# sourceMappingURL=hallucination-detection.js.map
|