code-review-graph-codeblackwell 2.3.6.post1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. code_review_graph_codeblackwell-2.3.6.post1/.beads/README.md +81 -0
  2. code_review_graph_codeblackwell-2.3.6.post1/.beads/hooks/post-checkout +24 -0
  3. code_review_graph_codeblackwell-2.3.6.post1/.beads/hooks/post-merge +24 -0
  4. code_review_graph_codeblackwell-2.3.6.post1/.beads/hooks/pre-commit +24 -0
  5. code_review_graph_codeblackwell-2.3.6.post1/.beads/hooks/pre-push +24 -0
  6. code_review_graph_codeblackwell-2.3.6.post1/.beads/hooks/prepare-commit-msg +24 -0
  7. code_review_graph_codeblackwell-2.3.6.post1/.gitignore +94 -0
  8. code_review_graph_codeblackwell-2.3.6.post1/LICENSE +21 -0
  9. code_review_graph_codeblackwell-2.3.6.post1/PKG-INFO +718 -0
  10. code_review_graph_codeblackwell-2.3.6.post1/README.md +656 -0
  11. code_review_graph_codeblackwell-2.3.6.post1/code-review-graph-vscode/LICENSE +21 -0
  12. code_review_graph_codeblackwell-2.3.6.post1/code-review-graph-vscode/README.md +94 -0
  13. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/__init__.py +20 -0
  14. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/__main__.py +4 -0
  15. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/analysis.py +410 -0
  16. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/changes.py +409 -0
  17. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/cli.py +1255 -0
  18. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/communities.py +874 -0
  19. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/constants.py +23 -0
  20. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/context_savings.py +317 -0
  21. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/custom_languages.py +322 -0
  22. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/daemon.py +1009 -0
  23. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/daemon_cli.py +320 -0
  24. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/embeddings.py +1006 -0
  25. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/enrich.py +303 -0
  26. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/__init__.py +33 -0
  27. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/benchmarks/__init__.py +1 -0
  28. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/benchmarks/agent_baseline.py +193 -0
  29. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/benchmarks/build_performance.py +60 -0
  30. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/benchmarks/flow_completeness.py +36 -0
  31. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/benchmarks/impact_accuracy.py +220 -0
  32. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/benchmarks/multi_hop_retrieval.py +125 -0
  33. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/benchmarks/search_quality.py +59 -0
  34. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/benchmarks/token_efficiency.py +143 -0
  35. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/configs/code-review-graph.yaml +50 -0
  36. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/configs/express.yaml +45 -0
  37. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/configs/fastapi.yaml +48 -0
  38. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/configs/flask.yaml +50 -0
  39. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/configs/gin.yaml +51 -0
  40. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/configs/httpx.yaml +48 -0
  41. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/reporter.py +301 -0
  42. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/runner.py +211 -0
  43. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/scorer.py +85 -0
  44. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/eval/token_benchmark.py +182 -0
  45. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/exports.py +409 -0
  46. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/flows.py +698 -0
  47. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/graph.py +1427 -0
  48. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/graph_diff.py +122 -0
  49. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/hints.py +384 -0
  50. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/incremental.py +1245 -0
  51. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/jedi_resolver.py +303 -0
  52. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/main.py +1079 -0
  53. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/memory.py +142 -0
  54. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/migrations.py +284 -0
  55. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/parser.py +6957 -0
  56. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/postprocessing.py +134 -0
  57. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/prompts.py +159 -0
  58. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/refactor.py +852 -0
  59. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/registry.py +319 -0
  60. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/rescript_resolver.py +206 -0
  61. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/search.py +447 -0
  62. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/skills.py +1481 -0
  63. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/spring_resolver.py +200 -0
  64. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/temporal_resolver.py +199 -0
  65. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/token_benchmark.py +125 -0
  66. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/tools/__init__.py +156 -0
  67. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/tools/_common.py +176 -0
  68. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/tools/analysis_tools.py +184 -0
  69. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/tools/build.py +541 -0
  70. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/tools/community_tools.py +246 -0
  71. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/tools/context.py +152 -0
  72. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/tools/docs.py +274 -0
  73. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/tools/flows_tools.py +176 -0
  74. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/tools/query.py +692 -0
  75. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/tools/refactor_tools.py +168 -0
  76. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/tools/registry_tools.py +125 -0
  77. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/tools/review.py +477 -0
  78. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/tsconfig_resolver.py +257 -0
  79. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/visualization.py +2184 -0
  80. code_review_graph_codeblackwell-2.3.6.post1/code_review_graph/wiki.py +305 -0
  81. code_review_graph_codeblackwell-2.3.6.post1/docs/COMMANDS.md +404 -0
  82. code_review_graph_codeblackwell-2.3.6.post1/docs/CUSTOM_LANGUAGES.md +171 -0
  83. code_review_graph_codeblackwell-2.3.6.post1/docs/FAQ.md +252 -0
  84. code_review_graph_codeblackwell-2.3.6.post1/docs/FEATURES.md +155 -0
  85. code_review_graph_codeblackwell-2.3.6.post1/docs/GITHUB_ACTION.md +166 -0
  86. code_review_graph_codeblackwell-2.3.6.post1/docs/INDEX.md +15 -0
  87. code_review_graph_codeblackwell-2.3.6.post1/docs/LEGAL.md +16 -0
  88. code_review_graph_codeblackwell-2.3.6.post1/docs/LLM-OPTIMIZED-REFERENCE.md +71 -0
  89. code_review_graph_codeblackwell-2.3.6.post1/docs/REPRODUCING.md +429 -0
  90. code_review_graph_codeblackwell-2.3.6.post1/docs/ROADMAP.md +114 -0
  91. code_review_graph_codeblackwell-2.3.6.post1/docs/TROUBLESHOOTING.md +190 -0
  92. code_review_graph_codeblackwell-2.3.6.post1/docs/USAGE.md +154 -0
  93. code_review_graph_codeblackwell-2.3.6.post1/docs/architecture.md +120 -0
  94. code_review_graph_codeblackwell-2.3.6.post1/docs/schema.md +276 -0
  95. code_review_graph_codeblackwell-2.3.6.post1/hooks/hooks.json +35 -0
  96. code_review_graph_codeblackwell-2.3.6.post1/hooks/session-start.sh +25 -0
  97. code_review_graph_codeblackwell-2.3.6.post1/pyproject.toml +142 -0
  98. code_review_graph_codeblackwell-2.3.6.post1/skills/build-graph/SKILL.md +38 -0
  99. code_review_graph_codeblackwell-2.3.6.post1/skills/debug-issue/SKILL.md +27 -0
  100. code_review_graph_codeblackwell-2.3.6.post1/skills/explore-codebase/SKILL.md +28 -0
  101. code_review_graph_codeblackwell-2.3.6.post1/skills/refactor-safely/SKILL.md +28 -0
  102. code_review_graph_codeblackwell-2.3.6.post1/skills/review-changes/SKILL.md +29 -0
  103. code_review_graph_codeblackwell-2.3.6.post1/skills/review-delta/SKILL.md +46 -0
  104. code_review_graph_codeblackwell-2.3.6.post1/skills/review-pr/SKILL.md +66 -0
@@ -0,0 +1,81 @@
1
+ # Beads - AI-Native Issue Tracking
2
+
3
+ Welcome to Beads! This repository uses **Beads** for issue tracking - a modern, AI-native tool designed to live directly in your codebase alongside your code.
4
+
5
+ ## What is Beads?
6
+
7
+ Beads is issue tracking that lives in your repo, making it perfect for AI coding agents and developers who want their issues close to their code. No web UI required - everything works through the CLI and integrates seamlessly with git.
8
+
9
+ **Learn more:** [github.com/steveyegge/beads](https://github.com/steveyegge/beads)
10
+
11
+ ## Quick Start
12
+
13
+ ### Essential Commands
14
+
15
+ ```bash
16
+ # Create new issues
17
+ bd create "Add user authentication"
18
+
19
+ # View all issues
20
+ bd list
21
+
22
+ # View issue details
23
+ bd show <issue-id>
24
+
25
+ # Update issue status
26
+ bd update <issue-id> --claim
27
+ bd update <issue-id> --status done
28
+
29
+ # Sync with Dolt remote
30
+ bd dolt push
31
+ ```
32
+
33
+ ### Working with Issues
34
+
35
+ Issues in Beads are:
36
+ - **Git-native**: Stored in Dolt database with version control and branching
37
+ - **AI-friendly**: CLI-first design works perfectly with AI coding agents
38
+ - **Branch-aware**: Issues can follow your branch workflow
39
+ - **Always in sync**: Auto-syncs with your commits
40
+
41
+ ## Why Beads?
42
+
43
+ ✨ **AI-Native Design**
44
+ - Built specifically for AI-assisted development workflows
45
+ - CLI-first interface works seamlessly with AI coding agents
46
+ - No context switching to web UIs
47
+
48
+ 🚀 **Developer Focused**
49
+ - Issues live in your repo, right next to your code
50
+ - Works offline, syncs when you push
51
+ - Fast, lightweight, and stays out of your way
52
+
53
+ 🔧 **Git Integration**
54
+ - Automatic sync with git commits
55
+ - Branch-aware issue tracking
56
+ - Dolt-native three-way merge resolution
57
+
58
+ ## Get Started with Beads
59
+
60
+ Try Beads in your own projects:
61
+
62
+ ```bash
63
+ # Install Beads
64
+ curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash
65
+
66
+ # Initialize in your repo
67
+ bd init
68
+
69
+ # Create your first issue
70
+ bd create "Try out Beads"
71
+ ```
72
+
73
+ ## Learn More
74
+
75
+ - **Documentation**: [github.com/steveyegge/beads/docs](https://github.com/steveyegge/beads/tree/main/docs)
76
+ - **Quick Start Guide**: Run `bd quickstart`
77
+ - **Examples**: [github.com/steveyegge/beads/examples](https://github.com/steveyegge/beads/tree/main/examples)
78
+
79
+ ---
80
+
81
+ *Beads: Issue tracking that moves at the speed of thought* ⚡
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env sh
2
+ # --- BEGIN BEADS INTEGRATION v1.0.0 ---
3
+ # This section is managed by beads. Do not remove these markers.
4
+ if command -v bd >/dev/null 2>&1; then
5
+ export BD_GIT_HOOK=1
6
+ _bd_timeout=${BEADS_HOOK_TIMEOUT:-300}
7
+ if command -v timeout >/dev/null 2>&1; then
8
+ timeout "$_bd_timeout" bd hooks run post-checkout "$@"
9
+ _bd_exit=$?
10
+ if [ $_bd_exit -eq 124 ]; then
11
+ echo >&2 "beads: hook 'post-checkout' timed out after ${_bd_timeout}s — continuing without beads"
12
+ _bd_exit=0
13
+ fi
14
+ else
15
+ bd hooks run post-checkout "$@"
16
+ _bd_exit=$?
17
+ fi
18
+ if [ $_bd_exit -eq 3 ]; then
19
+ echo >&2 "beads: database not initialized — skipping hook 'post-checkout'"
20
+ _bd_exit=0
21
+ fi
22
+ if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
23
+ fi
24
+ # --- END BEADS INTEGRATION v1.0.0 ---
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env sh
2
+ # --- BEGIN BEADS INTEGRATION v1.0.0 ---
3
+ # This section is managed by beads. Do not remove these markers.
4
+ if command -v bd >/dev/null 2>&1; then
5
+ export BD_GIT_HOOK=1
6
+ _bd_timeout=${BEADS_HOOK_TIMEOUT:-300}
7
+ if command -v timeout >/dev/null 2>&1; then
8
+ timeout "$_bd_timeout" bd hooks run post-merge "$@"
9
+ _bd_exit=$?
10
+ if [ $_bd_exit -eq 124 ]; then
11
+ echo >&2 "beads: hook 'post-merge' timed out after ${_bd_timeout}s — continuing without beads"
12
+ _bd_exit=0
13
+ fi
14
+ else
15
+ bd hooks run post-merge "$@"
16
+ _bd_exit=$?
17
+ fi
18
+ if [ $_bd_exit -eq 3 ]; then
19
+ echo >&2 "beads: database not initialized — skipping hook 'post-merge'"
20
+ _bd_exit=0
21
+ fi
22
+ if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
23
+ fi
24
+ # --- END BEADS INTEGRATION v1.0.0 ---
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env sh
2
+ # --- BEGIN BEADS INTEGRATION v1.0.0 ---
3
+ # This section is managed by beads. Do not remove these markers.
4
+ if command -v bd >/dev/null 2>&1; then
5
+ export BD_GIT_HOOK=1
6
+ _bd_timeout=${BEADS_HOOK_TIMEOUT:-300}
7
+ if command -v timeout >/dev/null 2>&1; then
8
+ timeout "$_bd_timeout" bd hooks run pre-commit "$@"
9
+ _bd_exit=$?
10
+ if [ $_bd_exit -eq 124 ]; then
11
+ echo >&2 "beads: hook 'pre-commit' timed out after ${_bd_timeout}s — continuing without beads"
12
+ _bd_exit=0
13
+ fi
14
+ else
15
+ bd hooks run pre-commit "$@"
16
+ _bd_exit=$?
17
+ fi
18
+ if [ $_bd_exit -eq 3 ]; then
19
+ echo >&2 "beads: database not initialized — skipping hook 'pre-commit'"
20
+ _bd_exit=0
21
+ fi
22
+ if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
23
+ fi
24
+ # --- END BEADS INTEGRATION v1.0.0 ---
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env sh
2
+ # --- BEGIN BEADS INTEGRATION v1.0.0 ---
3
+ # This section is managed by beads. Do not remove these markers.
4
+ if command -v bd >/dev/null 2>&1; then
5
+ export BD_GIT_HOOK=1
6
+ _bd_timeout=${BEADS_HOOK_TIMEOUT:-300}
7
+ if command -v timeout >/dev/null 2>&1; then
8
+ timeout "$_bd_timeout" bd hooks run pre-push "$@"
9
+ _bd_exit=$?
10
+ if [ $_bd_exit -eq 124 ]; then
11
+ echo >&2 "beads: hook 'pre-push' timed out after ${_bd_timeout}s — continuing without beads"
12
+ _bd_exit=0
13
+ fi
14
+ else
15
+ bd hooks run pre-push "$@"
16
+ _bd_exit=$?
17
+ fi
18
+ if [ $_bd_exit -eq 3 ]; then
19
+ echo >&2 "beads: database not initialized — skipping hook 'pre-push'"
20
+ _bd_exit=0
21
+ fi
22
+ if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
23
+ fi
24
+ # --- END BEADS INTEGRATION v1.0.0 ---
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env sh
2
+ # --- BEGIN BEADS INTEGRATION v1.0.0 ---
3
+ # This section is managed by beads. Do not remove these markers.
4
+ if command -v bd >/dev/null 2>&1; then
5
+ export BD_GIT_HOOK=1
6
+ _bd_timeout=${BEADS_HOOK_TIMEOUT:-300}
7
+ if command -v timeout >/dev/null 2>&1; then
8
+ timeout "$_bd_timeout" bd hooks run prepare-commit-msg "$@"
9
+ _bd_exit=$?
10
+ if [ $_bd_exit -eq 124 ]; then
11
+ echo >&2 "beads: hook 'prepare-commit-msg' timed out after ${_bd_timeout}s — continuing without beads"
12
+ _bd_exit=0
13
+ fi
14
+ else
15
+ bd hooks run prepare-commit-msg "$@"
16
+ _bd_exit=$?
17
+ fi
18
+ if [ $_bd_exit -eq 3 ]; then
19
+ echo >&2 "beads: database not initialized — skipping hook 'prepare-commit-msg'"
20
+ _bd_exit=0
21
+ fi
22
+ if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
23
+ fi
24
+ # --- END BEADS INTEGRATION v1.0.0 ---
@@ -0,0 +1,94 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ *.egg-info/
7
+ dist/
8
+ build/
9
+ *.egg
10
+ .eggs/
11
+
12
+ # Virtual environments
13
+ .venv/
14
+ venv/
15
+ env/
16
+
17
+ # Graph database
18
+ *.db
19
+ *.db-journal
20
+ *.db-wal
21
+ *.db-shm
22
+ .code-review-graph/
23
+
24
+ # IDE
25
+ .idea/
26
+ .vscode/
27
+ *.swp
28
+ *.swo
29
+ *~
30
+
31
+ # OS
32
+ .DS_Store
33
+ Thumbs.db
34
+
35
+ # Node
36
+ node_modules/
37
+
38
+ # VS Code extension build artifacts
39
+ code-review-graph-vscode/dist/
40
+ *.vsix
41
+
42
+ # Claude Code
43
+ .claude/
44
+ .claude-plugin/
45
+
46
+ # Qoder
47
+ .qoder/
48
+ QODER.md
49
+
50
+ # Coverage
51
+ htmlcov/
52
+ .coverage
53
+ .coverage.*
54
+
55
+ # pytest
56
+ .pytest_cache/
57
+
58
+ # mypy
59
+ .mypy_cache/
60
+
61
+ # Excalidraw source files (PNGs are tracked, sources are not)
62
+ *.excalidraw
63
+ diagrams/export_pngs.mjs
64
+
65
+ # Evaluation (generated output — test repos and reports are local; canonical
66
+ # CSVs under evaluate/results/ are tracked as evidence for the numbers in
67
+ # docs/REPRODUCING.md, so contributors can verify without rerunning).
68
+ evaluate/test_repos/
69
+ evaluate/reports/
70
+ evaluate/standalone_token_benchmark.json
71
+ evaluate/eval-run.log
72
+
73
+ # Superpowers brainstorm docs
74
+ .superpowers/
75
+ docs/superpowers/
76
+
77
+ # Draft/duplicate assets
78
+ docs/assets/marketing-diagram*
79
+
80
+ # One-off docs (audits, analyses, plans, articles)
81
+ medium/
82
+ Quality-Audit-Report.docx
83
+ accessibility-audit.md
84
+ cross-audit-synthesis.md
85
+ design-critique.md
86
+ design-handoff.md
87
+ design-system-audit.md
88
+ research-synthesis.md
89
+ code-review-graph-analysis.md
90
+ SCALING_AND_TOKEN_EFFICIENCY_PLAN.md
91
+
92
+ # Beads / Dolt files (added by bd init)
93
+ .dolt/
94
+ .beads-credential-key
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Tirth Kanani
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.