|
a/README.md |
|
b/README.md |
1 |
 |
1 |
 |
2 |
|
2 |
|
3 |
<div align="center"> |
3 |
<div align="center">
|
4 |
<h3>Democratizing AI-Powered DNA Analysis</h3> |
4 |
<h3>Democratizing AI-Powered DNA Analysis</h3>
|
5 |
<p><i>On-device genomic insights for everyone, everywhere</i></p> |
5 |
<p><i>On-device genomic insights for everyone, everywhere</i></p> |
6 |
|
6 |
|
7 |
[](https://github.com/VERISIMILITUDEX/DNAnalyzer) |
7 |
[](https://github.com/VERISIMILITUDEX/DNAnalyzer)
|
8 |
[](https://github.com/VERISIMILITUDEX/DNAnalyzer/releases) |
8 |
[](https://github.com/VERISIMILITUDEX/DNAnalyzer/releases)
|
9 |
[](https://github.com/VerisimilitudeX/DNAnalyzer/actions/workflows/gradle.yml) |
9 |
[](https://github.com/VerisimilitudeX/DNAnalyzer/actions/workflows/gradle.yml)
|
10 |
[](https://zenodo.org/records/14556578) |
10 |
[](https://zenodo.org/records/14556578) |
11 |
|
11 |
|
12 |
<br> |
12 |
<br> |
13 |
|
13 |
|
14 |
<a href="https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=519909104&machine=largePremiumLinux&location=WestUs&skip_quickstart=true&geo=UsWest"> |
14 |
<a href="https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=519909104&machine=largePremiumLinux&location=WestUs&skip_quickstart=true&geo=UsWest">
|
15 |
<img src="https://github.com/codespaces/badge.svg" alt="Open in GitHub Codespaces" style="height: 35px" /> |
15 |
<img src="https://github.com/codespaces/badge.svg" alt="Open in GitHub Codespaces" style="height: 35px" />
|
16 |
</a> |
16 |
</a>
|
17 |
<a href="https://huggingface.co/DNAnalyzer"> |
17 |
<a href="https://huggingface.co/DNAnalyzer">
|
18 |
<img src="https://huggingface.co/datasets/huggingface/badges/resolve/main/sign-in-with-huggingface-xl-dark.svg" alt="Model in Hugging Face" style="height: 35px" /> |
18 |
<img src="https://huggingface.co/datasets/huggingface/badges/resolve/main/sign-in-with-huggingface-xl-dark.svg" alt="Model in Hugging Face" style="height: 35px" />
|
19 |
</a> |
19 |
</a>
|
20 |
<a href="https://www.producthunt.com/posts/dnanalyzer?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-dnanalyzer"> |
20 |
<a href="https://www.producthunt.com/posts/dnanalyzer?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-dnanalyzer">
|
21 |
<img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=401710&theme=dark" alt="DNAnalyzer on Product Hunt" style="height: 35px" /> |
21 |
<img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=401710&theme=dark" alt="DNAnalyzer on Product Hunt" style="height: 35px" />
|
22 |
</a> |
22 |
</a> |
23 |
|
23 |
|
24 |
</div> |
24 |
</div> |
25 |
|
25 |
|
26 |
<br> |
26 |
<br> |
27 |
|
27 |
|
28 |
## Table of Contents |
28 |
## Table of Contents |
29 |
|
29 |
|
30 |
- [About DNAnalyzer](#-about-dnanalyzer) |
30 |
- [About DNAnalyzer](#-about-dnanalyzer)
|
31 |
- [Why It Matters](#-why-it-matters) |
31 |
- [Why It Matters](#-why-it-matters)
|
32 |
- [Core Features](#-core-features) |
32 |
- [Core Features](#-core-features)
|
33 |
- [Quick DNA Introduction](#-quick-dna-introduction) |
33 |
- [Quick DNA Introduction](#-quick-dna-introduction)
|
34 |
- [Getting Started](#-getting-started) |
34 |
- [Getting Started](#-getting-started)
|
35 |
- [Roadmap](#-roadmap) |
35 |
- [Roadmap](#-roadmap)
|
36 |
- [Contributing](#-contributing) |
36 |
- [Contributing](#-contributing)
|
37 |
- [Citations](#-citations) |
37 |
- [Citations](#-citations)
|
38 |
- [Terms of Use](#-terms-of-use) |
38 |
- [Terms of Use](#-terms-of-use) |
39 |
|
39 |
|
40 |
<br> |
40 |
<br> |
41 |
|
41 |
|
42 |
## About DNAnalyzer |
42 |
## About DNAnalyzer |
43 |
|
43 |
|
44 |
DNAnalyzer is a a biotechnology research and deployment company. Our mission is to revolutionize DNA analysis by making AI-powered genomic insights accessible to all through on-device computation. |
44 |
DNAnalyzer is a a biotechnology research and deployment company. Our mission is to revolutionize DNA analysis by making AI-powered genomic insights accessible to all through on-device computation. |
45 |
|
45 |
|
46 |
Founded by [Piyush Acharya](https://github.com/VerisimilitudeX), our platform has attracted **45 computational biologists and computer scientists** from institutions including Microsoft Research, University of Macedonia, and Northeastern University. |
46 |
Founded by [Piyush Acharya](https://github.com/VerisimilitudeX), our platform has attracted **45 computational biologists and computer scientists** from institutions including Microsoft Research, University of Macedonia, and Northeastern University. |
47 |
|
47 |
|
48 |
Our impact has been recognized by the organizers of the [AI Engineer World's Fair](https://www.ai.engineer/worldsfair) (backed by OpenAI, Microsoft, Google DeepMind, and Anthropic) and the CEO of Forem. |
48 |
Our impact has been recognized by the organizers of the [AI Engineer World's Fair](https://www.ai.engineer/worldsfair) (backed by OpenAI, Microsoft, Google DeepMind, and Anthropic) and the CEO of Forem. |
49 |
|
49 |
|
50 |
<br> |
50 |
<br> |
51 |
|
51 |
|
52 |
## Why It Matters |
52 |
## Why It Matters |
53 |
|
53 |
|
54 |
<div align="center"> |
54 |
<div align="center"> |
55 |
|
55 |
|
56 |
| Current Reality | DNAnalyzer's Mission | |
56 |
| Current Reality | DNAnalyzer's Mission |
|
57 |
|---|---| |
57 |
|---|---|
|
58 |
| **$100** average cost for DNA sequencing | **Free** on-device analysis | |
58 |
| **$100** average cost for DNA sequencing | **Free** on-device analysis |
|
59 |
| Up to **$600** for basic health insights | **Accessible** to underserved communities | |
59 |
| Up to **$600** for basic health insights | **Accessible** to underserved communities |
|
60 |
| **78%** of companies share genetic data with third parties | **Private, secure** analysis that stays on your device | |
60 |
| **78%** of companies share genetic data with third parties | **Private, secure** analysis that stays on your device |
|
61 |
| Data breaches expose millions (23andMe: 6.9M users in 2023) | **No central database** of sensitive genetic information | |
61 |
| Data breaches expose millions (23andMe: 6.9M users in 2023) | **No central database** of sensitive genetic information | |
62 |
|
62 |
|
63 |
</div> |
63 |
</div> |
64 |
|
64 |
|
65 |
> *"Unlike a credit card number or password, stolen or misused genetic information cannot be changed."* |
65 |
*"Unlike a credit card number or password, stolen or misused genetic information cannot be changed."* |
66 |
|
66 |
|
67 |
<br> |
67 |
<br> |
68 |
|
68 |
|
69 |
## Core Features |
69 |
## Core Features |
70 |
|
70 |
|
71 |
<table> |
71 |
<table>
|
72 |
<tr> |
72 |
<tr>
|
73 |
<td width="33%" align="center"> |
73 |
<td width="33%" align="center">
|
74 |
<h3>Start & Stop Codons</h3> |
74 |
<h3>Start & Stop Codons</h3>
|
75 |
<p>Identify protein coding regions and analyze the 20 different amino acids in polypeptide chains</p> |
75 |
<p>Identify protein coding regions and analyze the 20 different amino acids in polypeptide chains</p>
|
76 |
</td> |
76 |
</td>
|
77 |
<td width="33%" align="center"> |
77 |
<td width="33%" align="center">
|
78 |
<h3>High Coverage Regions</h3> |
78 |
<h3>High Coverage Regions</h3>
|
79 |
<p>Detect promoter sequences with high GC-content (45-60%) that likely reveal crucial genomic information</p> |
79 |
<p>Detect promoter sequences with high GC-content (45-60%) that likely reveal crucial genomic information</p>
|
80 |
</td> |
80 |
</td>
|
81 |
<td width="33%" align="center"> |
81 |
<td width="33%" align="center">
|
82 |
<h3>Neural Disorder Analysis</h3> |
82 |
<h3>Neural Disorder Analysis</h3>
|
83 |
<p>Identify genetic signatures related to neurodevelopmental disorders like autism, ADHD, and schizophrenia</p> |
83 |
<p>Identify genetic signatures related to neurodevelopmental disorders like autism, ADHD, and schizophrenia</p>
|
84 |
</td> |
84 |
</td>
|
85 |
</tr> |
85 |
</tr>
|
86 |
<tr> |
86 |
<tr>
|
87 |
<td width="33%" align="center"> |
87 |
<td width="33%" align="center">
|
88 |
<h3>Core Promoter Elements</h3> |
88 |
<h3>Core Promoter Elements</h3>
|
89 |
<p>Find key promoter sequences (BRE, TATA, INR, DPE) responsible for initiating transcription</p> |
89 |
<p>Find key promoter sequences (BRE, TATA, INR, DPE) responsible for initiating transcription</p>
|
90 |
</td> |
90 |
</td>
|
91 |
<td width="33%" align="center"> |
91 |
<td width="33%" align="center">
|
92 |
<h3>FASTA Support</h3> |
92 |
<h3>FASTA Support</h3>
|
93 |
<p>Process multi-line and single-line FASTA database files through upload or web linking</p> |
93 |
<p>Process multi-line and single-line FASTA database files through upload or web linking</p>
|
94 |
</td> |
94 |
</td>
|
95 |
<td width="33%" align="center"> |
95 |
<td width="33%" align="center">
|
96 |
<h3>Command-Line Interface</h3> |
96 |
<h3>Command-Line Interface</h3>
|
97 |
<p>Access all core features through our powerful Methionine CLI (Met CLI) for scripting and automation</p> |
97 |
<p>Access all core features through our powerful Methionine CLI (Met CLI) for scripting and automation</p>
|
98 |
</td> |
98 |
</td>
|
99 |
</tr> |
99 |
</tr>
|
100 |
</table> |
100 |
</table> |
101 |
|
101 |
|
102 |
> **Coming Soon:** Web-based user interface for enhanced accessibility |
102 |
**Coming Soon:** Web-based user interface for enhanced accessibility |
103 |
|
103 |
|
104 |
<br> |
104 |
<br> |
105 |
|
105 |
|
106 |
## Quick DNA Introduction |
106 |
## Quick DNA Introduction |
107 |
|
107 |
|
108 |
**DNA: The Programming Language of Life** |
108 |
**DNA: The Programming Language of Life** |
109 |
|
109 |
|
110 |
DNA exists in most cells of the body and contains the blueprint for creating over 200 distinct cell types. Like a programming language exclusive to living organisms, it encodes the instructions for all biological processes. |
110 |
DNA exists in most cells of the body and contains the blueprint for creating over 200 distinct cell types. Like a programming language exclusive to living organisms, it encodes the instructions for all biological processes. |
111 |
|
111 |
|
112 |
**Databases: The Foundation of Analysis** |
112 |
**Databases: The Foundation of Analysis** |
113 |
|
113 |
|
114 |
A DNA database is crucial for interpreting DNA sequences. By leveraging machine learning, we can make predictions on previously unseen DNA sequences, forming the foundation of modern genomic analysis. |
114 |
A DNA database is crucial for interpreting DNA sequences. By leveraging machine learning, we can make predictions on previously unseen DNA sequences, forming the foundation of modern genomic analysis. |
115 |
|
115 |
|
116 |
<br> |
116 |
<br> |
117 |
|
117 |
|
118 |
## Getting Started |
118 |
## Getting Started |
119 |
|
119 |
|
120 |
Ready to explore your DNA? Follow our comprehensive guide to get started: |
120 |
Ready to explore your DNA? Follow our comprehensive guide to get started: |
121 |
|
121 |
|
122 |
```bash |
122 |
```bash
|
123 |
# Clone the repository |
123 |
# Clone the repository
|
124 |
git clone https://github.com/VerisimilitudeX/DNAnalyzer.git |
124 |
git clone https://github.com/VerisimilitudeX/DNAnalyzer.git |
125 |
|
125 |
|
126 |
# Navigate to project directory |
126 |
# Navigate to project directory
|
127 |
cd DNAnalyzer |
127 |
cd DNAnalyzer |
128 |
|
128 |
|
129 |
# Install dependencies |
129 |
# Install dependencies
|
130 |
./gradlew build |
130 |
./gradlew build
|
131 |
``` |
131 |
``` |
132 |
|
132 |
|
133 |
For detailed instructions, please refer to our [Getting Started Guide](docs/getting-started.md). |
133 |
For detailed instructions, please refer to our [Getting Started Guide](docs/getting-started.md). |
134 |
|
134 |
|
135 |
<br> |
135 |
<br> |
136 |
|
136 |
|
137 |
## Roadmap |
137 |
## Roadmap |
138 |
|
138 |
|
139 |
<div align="center"> |
139 |
<div align="center"> |
140 |
|
140 |
|
141 |
| Upcoming Development | Description | |
141 |
| Upcoming Development | Description |
|
142 |
|---|---| |
142 |
|---|---|
|
143 |
| **Optimized SQL Database** | High-performance vertical scaling database to store genomic data from thousands of species | |
143 |
| **Optimized SQL Database** | High-performance vertical scaling database to store genomic data from thousands of species |
|
144 |
| **Enhanced Neural Network** | Support for genotyped data from 3rd-party DNA testing services ($99 compatibility) | |
144 |
| **Enhanced Neural Network** | Support for genotyped data from 3rd-party DNA testing services ($99 compatibility) |
|
145 |
| **DIAMOND Implementation** | Combining DIAMOND's performance with BLAST's powerful algorithm | |
145 |
| **DIAMOND Implementation** | Combining DIAMOND's performance with BLAST's powerful algorithm | |
146 |
|
146 |
|
147 |
</div> |
147 |
</div> |
148 |
|
148 |
|
149 |
<br> |
149 |
<br> |
150 |
|
150 |
|
151 |
## Contributing |
151 |
## Contributing |
152 |
|
152 |
|
153 |
We welcome contributions from developers and researchers of all skill levels! |
153 |
We welcome contributions from developers and researchers of all skill levels! |
154 |
|
154 |
|
155 |
- [Contributing Guidelines](./docs/contributing/Contribution_Guidelines.md) |
155 |
- [Contributing Guidelines](./docs/contributing/Contribution_Guidelines.md)
|
156 |
- [How To Use Git](./docs/contributing/CONTRIBUTING.md) |
156 |
- [How To Use Git](./docs/contributing/CONTRIBUTING.md) |
157 |
|
157 |
|
158 |
<div align="center"> |
158 |
<div align="center">
|
159 |
<a href="https://github.com/VerisimilitudeX/DNAnalyzer/stargazers"> |
159 |
<a href="https://github.com/VerisimilitudeX/DNAnalyzer/stargazers">
|
160 |
<img src="https://img.shields.io/github/stars/VerisimilitudeX/DNAnalyzer?style=for-the-badge&color=yellow" alt="Stars"> |
160 |
<img src="https://img.shields.io/github/stars/VerisimilitudeX/DNAnalyzer?style=for-the-badge&color=yellow" alt="Stars">
|
161 |
</a> |
161 |
</a>
|
162 |
<a href="https://github.com/VerisimilitudeX/DNAnalyzer/issues"> |
162 |
<a href="https://github.com/VerisimilitudeX/DNAnalyzer/issues">
|
163 |
<img src="https://img.shields.io/github/issues/VerisimilitudeX/DNAnalyzer?style=for-the-badge" alt="Issues"> |
163 |
<img src="https://img.shields.io/github/issues/VerisimilitudeX/DNAnalyzer?style=for-the-badge" alt="Issues">
|
164 |
</a> |
164 |
</a>
|
165 |
<a href="https://github.com/VerisimilitudeX/DNAnalyzer/pulls"> |
165 |
<a href="https://github.com/VerisimilitudeX/DNAnalyzer/pulls">
|
166 |
<img src="https://img.shields.io/github/issues-pr/VerisimilitudeX/DNAnalyzer?style=for-the-badge" alt="Pull Requests"> |
166 |
<img src="https://img.shields.io/github/issues-pr/VerisimilitudeX/DNAnalyzer?style=for-the-badge" alt="Pull Requests">
|
167 |
</a> |
167 |
</a>
|
168 |
<a href="https://discord.gg/X3YCvGf2Ug"> |
168 |
<a href="https://discord.gg/X3YCvGf2Ug">
|
169 |
<img src="https://img.shields.io/discord/1033196198816915516?style=for-the-badge&logo=discord&logoColor=white" alt="Discord"> |
169 |
<img src="https://img.shields.io/discord/1033196198816915516?style=for-the-badge&logo=discord&logoColor=white" alt="Discord">
|
170 |
</a> |
170 |
</a>
|
171 |
</div> |
171 |
</div> |
172 |
|
172 |
|
173 |
<br> |
173 |
<br> |
174 |
|
174 |
|
175 |
## Citations |
175 |
## Citations |
176 |
|
176 |
|
177 |
View our [detailed citations document](docs/citations.md) for all in-line references. |
177 |
View our [detailed citations document](docs/citations.md) for all in-line references. |
178 |
|
178 |
|
179 |
If you use DNAnalyzer in your research, please cite: |
179 |
If you use DNAnalyzer in your research, please cite: |
180 |
|
180 |
|
181 |
```bibtex |
181 |
```bibtex
|
182 |
@software{Acharya_DNAnalyzer_ML-Powered_DNA_2022, |
182 |
@software{Acharya_DNAnalyzer_ML-Powered_DNA_2022,
|
183 |
author = {Acharya, Piyush}, |
183 |
author = {Acharya, Piyush},
|
184 |
doi = {10.5281/zenodo.14556577}, |
184 |
doi = {10.5281/zenodo.14556577},
|
185 |
month = oct, |
185 |
month = oct,
|
186 |
title = {{DNAnalyzer: ML-Powered DNA Analysis Platform}}, |
186 |
title = {{DNAnalyzer: ML-Powered DNA Analysis Platform}},
|
187 |
url = {https://github.com/VerisimilitudeX/DNAnalyzer}, |
187 |
url = {https://github.com/VerisimilitudeX/DNAnalyzer},
|
188 |
version = {3.5.0-beta.0}, |
188 |
version = {3.5.0-beta.0},
|
189 |
year = {2022} |
189 |
year = {2022}
|
190 |
} |
190 |
}
|
191 |
``` |
191 |
``` |
192 |
|
192 |
|
193 |
<br> |
193 |
<br> |
194 |
|
194 |
|
195 |
## ⚖Terms of Use |
195 |
## ⚖Terms of Use |
196 |
|
196 |
|
197 |
The use of this application is entirely at your own discretion and responsibility. While the DNAnalyzer team is committed to addressing significant issues, we disclaim liability for losses, damages, or consequences arising from the use of this application. |
197 |
The use of this application is entirely at your own discretion and responsibility. While the DNAnalyzer team is committed to addressing significant issues, we disclaim liability for losses, damages, or consequences arising from the use of this application. |
198 |
|
198 |
|
199 |
For questions or concerns, please contact us at help@dnanalyzer.org. |
199 |
For questions or concerns, please contact us at help@dnanalyzer.org. |
200 |
|
200 |
|
201 |
**Copyright © Piyush Acharya 2025.** DNAnalyzer is a fiscally sponsored 501(c)(3) nonprofit organization (EIN: 81-2908499) and is licensed under the MIT License. |
201 |
**Copyright © Piyush Acharya 2025.** DNAnalyzer is a fiscally sponsored 501(c)(3) nonprofit organization (EIN: 81-2908499) and is licensed under the MIT License. |
202 |
|
202 |
|
203 |
<br> |
203 |
<br> |
204 |
|
204 |
|
205 |
<div align="center"> |
205 |
<div align="center">
|
206 |
<h3>Project Growth</h3> |
206 |
<h3>Project Growth</h3>
|
207 |
<a href="https://star-history.com/#VerisimilitudeX/DNAnalyzer&Date"> |
207 |
<a href="https://star-history.com/#VerisimilitudeX/DNAnalyzer&Date">
|
208 |
<picture> |
208 |
<picture>
|
209 |
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=VerisimilitudeX/DNAnalyzer&type=Date&theme=dark" /> |
209 |
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=VerisimilitudeX/DNAnalyzer&type=Date&theme=dark" />
|
210 |
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=VerisimilitudeX/DNAnalyzer&type=Date" /> |
210 |
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=VerisimilitudeX/DNAnalyzer&type=Date" />
|
211 |
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=VerisimilitudeX/DNAnalyzer&type=Date" /> |
211 |
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=VerisimilitudeX/DNAnalyzer&type=Date" />
|
212 |
</picture> |
212 |
</picture>
|
213 |
</a> |
213 |
</a>
|
214 |
</div> |
214 |
</div> |
215 |
|
215 |
|
216 |
<br> |
216 |
<br> |
217 |
|
217 |
|
218 |
<div align="center"> |
218 |
<div align="center">
|
219 |
<h3>Support DNAnalyzer</h3> |
219 |
<h3>Support DNAnalyzer</h3>
|
220 |
<p>Every referral helps fund our nonprofit mission</p> |
220 |
<p>Every referral helps fund our nonprofit mission</p> |
221 |
|
221 |
|
222 |
<table> |
222 |
<table>
|
223 |
<tr> |
223 |
<tr>
|
224 |
<td align="center"> |
224 |
<td align="center">
|
225 |
<h4>23andMe</h4> |
225 |
<h4>23andMe</h4>
|
226 |
<p>Get <strong>10% off</strong> your order<br>DNAnalyzer earns <strong>$20</strong> per referral</p> |
226 |
<p>Get <strong>10% off</strong> your order<br>DNAnalyzer earns <strong>$20</strong> per referral</p>
|
227 |
<a href="https://refer.23andme.com/s/ruxd4" target="_blank"> |
227 |
<a href="https://refer.23andme.com/s/ruxd4" target="_blank">
|
228 |
<img src="https://img.shields.io/badge/Get_10%25_Off-23andMe-4285F4?style=for-the-badge" alt="23andMe Referral"> |
228 |
<img src="https://img.shields.io/badge/Get_10%25_Off-23andMe-4285F4?style=for-the-badge" alt="23andMe Referral">
|
229 |
</a> |
229 |
</a>
|
230 |
</td> |
230 |
</td>
|
231 |
<td align="center"> |
231 |
<td align="center">
|
232 |
<h4>Ancestry® Membership</h4> |
232 |
<h4>Ancestry® Membership</h4>
|
233 |
<p>Get up to <strong>24% off</strong> membership<br>DNAnalyzer earns <strong>$10</strong> per referral</p> |
233 |
<p>Get up to <strong>24% off</strong> membership<br>DNAnalyzer earns <strong>$10</strong> per referral</p>
|
234 |
<a href="https://refer.ancestry.com/verisimilitude11!6699046cdf!a" target="_blank"> |
234 |
<a href="https://refer.ancestry.com/verisimilitude11!6699046cdf!a" target="_blank">
|
235 |
<img src="https://img.shields.io/badge/Get_24%25_Off-Ancestry-83C36D?style=for-the-badge" alt="Ancestry Referral"> |
235 |
<img src="https://img.shields.io/badge/Get_24%25_Off-Ancestry-83C36D?style=for-the-badge" alt="Ancestry Referral">
|
236 |
</a> |
236 |
</a>
|
237 |
</td> |
237 |
</td>
|
238 |
</tr> |
238 |
</tr>
|
239 |
</table> |
239 |
</table>
|
240 |
</div> |
240 |
</div>
|