Retrospective clinical hair samples were used to perform method comparison and agreement studies against the predicate device, as well as to evaluate storage stability and cosmetic treatment effects on assay performance.
Retrospective analysis; Donor specimens; Method comparison; Agreement study
Clinical Evidence
Study Design
Population
Comparator
Key Endpoints
Retrospective analysis Study 2; Retrospective method comparison
Head and body hair samples from different ages, gender, ethnicities and hair color; Sample Size: 530 (total across three studies)
GC/MS confirmation
Qualitative detection of opiates, oxycodone, and hydrocodone
Indications for Use
The Omega Laboratories Hair Drug Screening Assay (Opiates, Oxycodone and Hydrocodone) is an in vitro diagnostic test that is intended for the qualitative detection of opiates (calibrated with morphine) and oxycodone and hydrocodone (calibrated with oxycodone) at or above 300 pg/mg in human head and body hair. To confirm a screen positive result. a more specific alternate chemical method, such as Gas ChromatographyMass Spectrometry (GC/MS) operating in the selected ion monitoring (SIM) mode is the preferred method with deuterated internal standards. Professional judgment should be applied to any drug of abuse test result, particularly when presumptive positive results are obtained. This test is intended exclusively for single laboratory use only and is not intended for sale to anyone.
Device Story
The Omega Laboratories Hair Drug Screening Assay is an in vitro diagnostic test for detecting opiates, oxycodone, and hydrocodone in human head and body hair. The device uses an ELISA-based screening protocol. Hair samples are pulverized using a proprietary method and extracted using an acid-methanol process. The assay is performed in a single laboratory setting by trained personnel. The device produces qualitative results (positive/negative) based on a 300 pg/mg cutoff. Presumptive positive results require confirmation via GC/MS. The assay aids healthcare providers or authorized entities in identifying drug use; professional judgment is required for interpretation. The device includes stability and shipping validation to ensure sample integrity.
Clinical Evidence
No clinical studies performed. Evidence consists of analytical method comparison studies. Combined head hair (N=176/480) and body hair (N=50) samples were tested using ELISA and confirmed via GC/MS. Results showed high agreement between screening and confirmation methods. Discordant results were analyzed and attributed to cross-reactivity or concentrations near the 300 pg/mg cutoff.
Technological Characteristics
Qualitative ELISA immunoassay. Components: micro strip plates coated with anti-morphine mouse monoclonal or anti-oxycodone rabbit polyclonal antibodies, horseradish peroxidase-conjugated enzyme, tetramethylbenzidine substrate. Requires automated microplate reader (450 nm). Extraction via acid-methanol. Single laboratory use.
Indications for Use
Indicated for the qualitative detection of opiates, oxycodone, and hydrocodone at or above 300 pg/mg in human head and body hair. Intended for single laboratory use only; requires confirmation of presumptive positive results via GC/MS.
Regulatory Classification
Identification
An opiate test system is a device intended to measure any of the addictive narcotic pain-relieving opiate drugs in blood, serum, urine, gastric contents, and saliva. An opiate is any natural or synthetic drug that has morphine-like pharmocological actions. The opiates include drugs such as morphine, morphine glucoronide, heroin, codeine, nalorphine, and meperedine. Measurements obtained by this device are used in the diagnosis and treatment of opiate use or overdose and in monitoring the levels of opiate administration to ensure appropriate therapy.
Special Controls
*Classification.* Class II (special controls). An opiate test system is not exempt if it is intended for any use other than employment or insurance testing or is intended for Federal drug testing programs. The device is exempt from the premarket notification procedures in subpart E of part 807 of this chapter subject to the limitations in § 862.9, provided the test system is intended for employment and insurance testing and includes a statement in the labeling that the device is intended solely for use in employment and insurance testing, and does not include devices intended for Federal drug testing programs (*e.g.,* programs run by the Substance Abuse and Mental Health Services Administration (SAMHSA), the Department of Transportation (DOT), and the U.S. military).
Predicate Devices
Omega Laboratories Hair Drug Screening Assay for Opiates, Oxycodone and Hydrocodone (k103161)
Submission Summary (Full Text)
{0}
1
510(k) SUBSTANTIAL EQUIVALENCE DETERMINATION
DECISION SUMMARY
ASSAY ONLY TEMPLATE
A. 510(k) Number:
k140671
B. Purpose for Submission:
Addition of body hair claim
C. Measurand:
Opiates, Oxycodone and Hydrocodone in hair
D. Type of Test:
Qualitative ELISA Immunoassay
E. Applicant:
Omega Laboratories, Inc.
F. Proprietary and Established Names:
Omega Laboratories, Inc. Hair Drug Screening Assay for Opiates, Oxycodone and Hydrocodone
G. Regulatory Information:
1. Regulation section:
21 CFR §862.3650, Opiate Test System
2. Classification:
Class II
3. Product code:
DJG
4. Panel:
Toxicology (91)
{1}
H. Intended Use:
1. Intended use(s):
See Indications for Use below.
2. Indication(s) for use:
The Omega Laboratories Hair Drug Screening Assay (Opiates, Oxycodone and Hydrocodone) is an in vitro diagnostic test that is intended for the qualitative detection of opiates (calibrated with morphine) and oxycodone and hydrocodone (calibrated with oxycodone) at or above 300 pg/mg in human head and body hair. To confirm a screen positive result, a more specific alternate chemical method, such as Gas Chromatography/Mass Spectrometry (GC/MS) operating in the selected ion monitoring (SIM) mode is the preferred method with deuterated internal standards. Professional judgment should be applied to any drug of abuse test result, particularly when presumptive positive results are obtained.
This test is intended exclusively for single laboratory use only and is not intended for sale to anyone.
3. Special conditions for use statement(s):
For Over-the-Counter Use
4. Special instrument requirements:
The screening assay is for use with an automated microplate reader capable of measuring at 450 nm.
For confirmation testing, the sponsor uses an Agilent GC/MS in selected ion monitoring (SIM) mode using deuterated internal standards.
I. Device Description:
Donor head and body hair samples are collected using the Omega Collection Kit. The Donor Sample is shipped to the Company facility where testing is conducted by trained scientists under the direction of the Laboratory Director.
The assay consists of the following:
- Hair sample collection kit
- Micro strip plates coated with either anti-morphine mouse monoclonal or antioxycodone rabbit polyclonal antibody, enzyme conjugate (horseradish peroxidase conjugated to morphine or oxycodone), substrate (containing tetramethylbenzidine), an enzyme diluent, and wash solution
{2}
- In-house prepared calibrators and controls are used. These are prepared solutions of morphine and oxycodone added to negative hair matrix tubes.
## J. Substantial Equivalence Information:
1. Predicate device name(s):
Omega Laboratories Hair Drug Screening Assay for Opiates, Oxycodone and Hydrocodone
2. Predicate 510(k) number(s):
k103161
3. Comparison with predicate:
| Similarities and Differences | | |
| --- | --- | --- |
| Item | Device | Predicate |
| Laboratory | Omega Laboratories | Same |
| Indication for/Intended Use | Same except for both head and body hair | Intended to be used for the Qualitative determination of the presence of opiates, oxycodone and hydrocodon in human hair from the head. |
| Method of Measurement | Same | Microplate Reader read at 450 nm |
| Matrix | Head and body hair | Head hair |
| Cut-off Concentration | Same | 300 pg Opiates/mg hair
300 pg Oxycodone/mg hair
300 pg Hydrocodone/mg hair |
| Assay Principal | Same | ELISA |
| Extraction Method | Same | Acid-methanol to facilitate extraction of Cocaine from hair. Hair is pulverized into small segments prior to acid- methanol extraction, which improves extraction times without loss of efficiency |
## K. Standard/Guidance Document Referenced (if applicable):
None referenced.
{3}
L. Test Principle:
The test consists of two parts; a pre-analytical hair treatment procedure (to convert the solid matrix of hair to a measurable liquid matrix) and the screening assay. The screening assay is an Enzyme-Linked ImmunoSorbent Assay (ELISA).
Sample is added to a well of the micro strip plate and enzyme conjugate is added, followed by incubation. During this phase the enzyme-labeled drug conjugate competes with drug in the sample for a limited number of binding sites on the antibody-coated micro wells. The two bind in proportion to their concentrations. A wash solution is applied to remove unbound materials. Enzyme substrate solution containing a chromagen is added. The reaction is stopped with a stop solution and absorbance is read using a plate reader at 450 nm. A background reading is also taken at 630 nm. Color intensity is inversely proportional to the amount of drug presented in the sample.
M. Performance Characteristics (if/when applicable):
1. Analytical performance:
a. Precision/Reproducibility:
See k103161 for precision/reproducibility information.
b. Linearity/assay reportable range:
Not applicable.
c. Traceability, Stability, Expected values (controls, calibrators, or methods):
See k103161 for calibrator and control materials information, hair sample stability, and shipping study information.
d. Detection limit:
Not applicable.
e. Analytical specificity:
See k103161 for cross reactivity, interference (structurally related and unrelated compounds), hair treatment, and environmental contamination studies.
In addition to studies conducted in k103161, the sponsor performed additional cross reactivity testing on several structurally similar compounds including Buprenorphine, Noroxymorphone, 3-Methoxynaltrexone, Morphine-6-betaglucuronide, Nalmefene, Nalorphine, Naloxone-3-beta-D-glucuronide, Naltrexone, Naltriben. These compounds appeared to contribute to an Opiate or Oxycodone positive ELISA result
4
{4}
at -50% cutoff, but did not show cross reactivity when tested at concentrations up to 400,000pg/mg.
To investigate this discrepancy, cross reactivity was tested at up to 10 fold higher concentrations. Expected results were obtained. The results are summarized in the tables below. The tables below are also included in the device labeling.
Cross reactivity of Opiates ELISA with Structurally Similar Compounds
| Compound | Concentration of Compound (pg/mg) Equivalent to 300 pg/mg Opiates Cutoff Control | Percent Cross-Reactivity (%) |
| --- | --- | --- |
| Morphine-6-β-D-glucuronide | 800 | 37.5 |
| Nalorphine | 8500 | 3.5 |
| Buprenorphine | 600000 | 0.050 |
| 3-Methoxynaltrexone | 900000 | 0.033 |
| Naltrexone | 3000000 | 0.010 |
| Noroxymorphone | 4000000 | 0.008 |
| Nalmefene | * | 0.00 |
| Naloxone-3-β-D-glucuronide | * | 0.00 |
| Naltriben | * | 0.00 |
* Unable to generate an assay absorbance equivalent to 300pg/mg Opiates cutoff. Highest concentration tested was 4,000,000pg/mg.
Cross Reactivity of Omega Laboratories, Inc. Oxycodone ELISA with Structurally Similar Compounds
| Compound | Concentration of Compound (pg/mg) Equivalent to 300 pg/mg Oxycodone Cutoff Control | Percent Cross-Reactivity (%) |
| --- | --- | --- |
| Morphine-6-β-D-glucuronide | 31000 | 0.97 |
| Nalorphine | 300000 | 0.10 |
| Buprenorphine | * | 0.00 |
| 3-Methoxynaltrexone | 380000 | 0.08 |
| Naltrexone | 50000 | 0.60 |
| Noroxymorphone | 58000 | 0.52 |
| Nalmefene | 300000 | 0.10 |
| Naloxone-3-β-D-glucuronide | 680000 | 0.04 |
| Naltriben | 300000 | 0.10 |
{5}
* Unable to generate an assay absorbance equivalent to 300pg/mg Oxycodone cutoff. Highest concentration tested was 4,000,000pg/mg
f. Assay cut-off:
See k103161.
2. Comparison studies:
a. Method comparison with predicate device:
Method comparison studies on head hair samples were performed and reported in the predicate submission (k103161). Additional method comparison studies were performed for this current submission with 50 body hair samples. Each tested sample was divided into two aliquots and one was used for screening on the candidate device (ELISA assay) and the other for GC/MS confirmation. Testing was performed on hair samples from different ages, gender, ethnicities and hair color. The combined head hair (performed in k103161) and body hair (this submission) results are shown below:
Opiates Equivalents Summary of Agreement Study Results, Head Hair (N=176) and Body Hair (N=50)
| ELISA Test Result | Negativ e by GC/MS | Less than half the cutoff concentration by GC/MS | Near Cutoff Negative (Between 50% below the cutoff and the cutoff concentration) | Near Cutoff Positive (Between the cutoff and 50% above the cutoff concentration) | High Positive (Greater that 50% above the cutoff concentration) |
| --- | --- | --- | --- | --- | --- |
| Positive | 0 | 0 | 2 | 24 | 116 |
| Negative | 70 | 4 | 9 | 1 | 0 |
{6}
GC/MS Summary of Opiates Equivalents Discordant Results (N=3)
| Sample No. | Screening Cutoff (pg/mg) | ELISA Test Result (POS/NEG) | GC/MS Cutoff (pg/mg) | GC/MS Drug Result (pg/mg) |
| --- | --- | --- | --- | --- |
| 16 | 300 | POS | 300 | HDC 268 |
| 150 | 300 | POS | 300 | HDC 299 |
| 29 | 300 | NEG | 300 | HDC 354 |
Oxycodone Summary of Agreement Study Results, Head Hair (N=480) and Body Hair (N=50)
| ELISA Test Result | Negative by GC/MS | Less than half the cutoff concentration by GC/MS | Near Cutoff Negative (Between 50% below the cutoff and the cutoff concentration) | Near Cutoff Positive (Between the cutoff and 50% above the cutoff concentration) | High Positive (Greater that 50% above the cutoff concentration) |
| --- | --- | --- | --- | --- | --- |
| Positive | 0 | 0 | 6 | 94 | 221 |
| Negative | 140 | 6 | 14 | 2 | 0 |
*Of the 530 samples compared in the Oxycodone assays, 46 ELISA head hair positive samples were negative by GC/MS confirmation for oxycodone but positive for hydrocodone and one head hair test sample was lost during centrifugation reducing the number of test samples reported in the table to 483.
GC/MS Summary of Oxycodone Discordant Results (N=8)
| Sample No. | Screening Cutoff (pg/mg) | ELISA Test Result (POS/NEG) | GC/MS Cutoff (pg/mg) | GC/MS Drug Result (pg/mg) |
| --- | --- | --- | --- | --- |
| 835334 | 300 | NEG | 300 | OXY 169 HDC 167 |
| EXOP 39 | 300 | POS | 300 | OXY 131 HDC 83 |
| 788840 | 300 | POS | 300 | OXY 185 HDC 29 |
{7}
8
| Sample No. | Screening Cutoff (pg/mg) | ELISA Test Result (POS/NEG) | GC/MS Cutoff (pg/mg) | GC/MS Drug Result (pg/mg) |
| --- | --- | --- | --- | --- |
| 787180c | 300 | POS | 300 | OXY 229
HDC 68 |
| 789526 | 300 | POS | 300 | OXY 240
HDC 49 |
| 872104 | 300 | NEG | 300 | OXY 130
HDC 221 |
| 854976 | 300 | POS | 300 | OXY 255 |
| 800488 | 300 | POS | 300 | OXY 298 |
Hydrocodone Summary of Agreement Study Results, Head Hair (N=480), Body Hair (N=50)
| ELISA Test Result | Negative by GC/MS | Less than half the cutoff concentration by GC/MS | Near Cutoff Negative (Between 50% below the cutoff and the cutoff concentration) | Near Cutoff Positive (Between the cutoff and 50% above the cutoff concentration) | High Positive (Greater that 50% above the cutoff concentration) |
| --- | --- | --- | --- | --- | --- |
| Positive | 0 | 0 | 8 | 110 | 201 |
| Negative | 142 | 8 | 25 | 6 | 0 |
*Of the 530 samples compared in the HDC assays, 27 ELISA head hair positive samples were negative by GC/MS confirmation for hydrocodone but positive for oxycodone, one head hair test sample was lost during centrifugation and 2 ELISA head hair positive samples were not able to be confirmed by GC/MS which reduced the number of test samples reported here to 500.
{8}
GC/MS Summary of Hydrocodone Discordant Results (N=14)
| Sample No. | Screening Cutoff (pg/mg) | ELISA Test Result (POS/NEG) | GC/MS Cutoff (pg/mg) | GC/MS Drug Result (pg/mg) |
| --- | --- | --- | --- | --- |
| 787832 | 300 | NEG | 300 | HDC 403 |
| 89 | 300 | NEG | 300 | HDC 313 |
| 65 | 300 | NEG | 300 | HDC 334 |
| 835334 | 300 | NEG | 300 | HDC 167 OXY 169 |
| 872104 | 300 | NEG | 300 | HDC 221 OXY 130 |
| 835981a | 300 | NEG | 300 | HDC 347 |
| 788840 | 300 | POS | 300 | HDC 29 OXY 185 |
| 789526 | 300 | POS | 300 | HDC 49 OXY 240 |
| 787180c | 300 | POS | 300 | HDC 68 OXY 229 |
| EXOP 39 | 300 | POS | 300 | HDC 83 OXY 131 |
| 790194 | 300 | POS | 300 | HDC 204 |
| 849237 | 300 | POS | 300 | HDC 256 |
| 904316 | 300 | POS | 300 | HDC 272 |
| 780598 | 300 | POS | 300 | HDC 283 |
b. Matrix comparison:
Not applicable.
3. Clinical studies:
a. Clinical Sensitivity:
Not applicable.
{9}
b. Clinical specificity:
Not applicable.
c. Other clinical supportive data (when a. and b. are not applicable):
Not applicable.
4. Clinical cut-off:
Not applicable.
5. Expected values/Reference range:
Not applicable.
N. Proposed Labeling:
The labeling is sufficient and it satisfies the requirements of 21 CFR Part 809.10.
O. Conclusion:
The submitted information in this premarket notification is complete and supports a substantial equivalence decision.
10
Predicate graph will load when search results are available.
Embedding visualization will load when search results are available.
PDF viewer will load when search results are available.
Loading panels...
Select an item from Submissions
Click any panel, subpart, regulation, product code, or device to see details here.
Section Matches
Results will appear here.
Product Code Matches
Results will appear here.
Special Control Matches
Results will appear here.
Loading collections...
Loading
My Alerts
You will receive email notifications based on the filters and frequency you set for each alert.
Sort by:
Create Alert
Search Filters
Agent Token
Create a read-only bearer token for Claude, ChatGPT, or other agents that can call HTTP APIs.
Copy this now. It will not be shown again.
Connected apps
Apps you authorized through browser sign-in. Disconnecting revokes their access immediately.
Learn the FDA Browser
Two short videos show you everything — or skip straight to the written tutorial if you'd rather read. You can reopen this any time from the Tutorial button in the top bar.
Part 1 — Search, results, and everyday workflows 16 min
Part 2 — Embeddings: the galaxy map 3 min
1. Search: exact and fuzzy
Type a phrase like "coronary artery calcification" into the search box. You get two kinds of results. Exact results match the literal phrase — prefix searches work ("coronary artery calcificati") but suffix searches do not. Fuzzy results match on the meaning and intent of your phrase rather than the exact words, and are sorted by relevance score. Hover over the Exact or Fuzzy badge on any row to see exactly why it matched.
Use the checkboxes above the results to narrow: SaMD keeps only software-only devices, AI / ML keeps only devices with AI.
Exact vs. fuzzy search: what's the difference?
Exact matches on the literal phrase (prefix search works, suffix does not). Fuzzy matches on the meaning and intent of the phrase rather than the exact words. Hover over the badge on any row to see why it matched.
You search "coronary artery calcification" and want only software devices with AI. What two filters do you apply?
Narrow by SaMD (software-only devices), then narrow by AI/ML (devices with AI).
2. The results table
Scroll right in the results table. The intended use is extracted for you — no need to open the PDF. The device story gives a high-level snapshot of what the device does and how it's used. The AI Performance sub-table shows each output name, acceptance criteria, observed values, and development/test dataset descriptions — the same format Innolitics uses for regulatory strategy outputs, and the fastest high-level fingerprint of an AI device. It is AI-generated but has been very reliable in practice.
Where do you find a device's intended use without opening the PDF?
Scroll right in the search results table. The intended use column is extracted for you; no need to dig into the 510(k) summary PDF.
What does the AI Performance sub-table show, and why is it useful?
Output name, acceptance criteria, observed values, development dataset description, and test dataset description. It's the same format we use for regulatory strategy output and Fast 510(k) input, and the fastest high-level fingerprint of an AI device. AI-generated but reliable in practice.
3. Judging fuzzy relevance
Fuzzy results trail off in relevance as you scroll. Use three signals to decide how far down to go: the fuzzy badge explanations, the intended use column, and whether your target output (e.g., Cobb angle) still appears in the AI Performance sub-table. Once it stops appearing, you're past the relevant zone. A top hit with a low score (~0.4) and a stretched explanation is a hint the closest predicates are far away — the project may be headed for De Novo. Note the fuzzy search is a pattern match: it doesn't handle negation ("not") well, and hardware devices can appear — filter by SaMD/AI ML to cut them.
How do you judge how far down fuzzy search results to go?
Use the relevancy signals: the fuzzy badge explanations, the intended use column, and whether the target output (e.g., Cobb angle) still appears in the AI Performance sub-table. Once it stops appearing, results are trailing off in relevancy.
4. Device detail page: chat and citations
Click a device name to open its detail page: device facts on the left, a chat window on the right. Ask something like "Describe the training data". The answer carries little citation bubbles — click one to jump to the highlighted passage in the source PDF, so you can verify every AI answer against the document. There's also a Download PDF button for sharing.
How do you verify an AI chat answer on the device detail page?
Click the citation bubbles to jump to the relevant highlight in the source document.
Reading rule for every project: how many summaries do you read in full?
At least the three most relevant 510(k) or De Novo summaries, in full. After that, use targeted chat questions to confirm your memory quickly. The tool supports this professional habit — it doesn't replace it.
5. Side-by-side comparison
Select multiple rows in the results table (aim for under ~10), then open the PDF Viewer tab. Ask one question — it goes to all selected devices in parallel, each with citations. This is the fastest way to compare and contrast devices: training data, PCCP scope, how they handled adding new scanners, and so on.
What does the side-by-side PDF viewer mode do?
Select multiple devices, open the PDF viewer tab, and ask one question (e.g., "Describe the training data"). It queries all selected devices simultaneously with citations, so you can compare and contrast quickly.
6. Collections
With rows selected, go to the Collections tab and create a labeled collection (e.g., "Cobb Angle Project"). Reload that selection any time — before a client call, pull up the collection and ask questions across all of its devices at once.
How do you save a set of selected devices for later use?
Select the rows, go to the Collections tab, and create a labeled collection (e.g., "Cobb Angle Project"). You can reload the selection anytime and carry it into the PDF viewer and other tabs that support selections.
7. Product codes and the regulations tree
Click a product code in the results to jump to it in the regulations tree — identification text, sibling product codes, and devices you can open in a PDF viewer on the right. Click a regulation number to see its identification, special controls, and related product codes. You can also search by product code or regulation number at the top of the tree. Always read the special controls if any exist for your device — it broadens your search and sharpens pre-kickoff research.
What can you do from the regulations tree view?
Browse product codes and regulation numbers, read the identification text and special controls, browse sibling product codes, open device PDFs on the right, and search by product code or regulation number at the top of the tree.
8. Chart view
Click Show Chart and segment by regulation number (or product code) to see which regulations dominate your result set. Clicking a regulation takes you into the regulations tree. Great for spotting that most matches are, say, hardware laparoscopic devices — a cue to go back and filter.
How do you see which regulations dominate a search result set?
Click "Show Chart" and segment by Regulation Number. Clicking a regulation takes you to the regulations tree.
9. The predicate graph
Open the Predicates tab for a family-tree view of predicate relationships. Click a node to trace its parents and children; selections from search carry over pre-selected. Commonly predicated devices are worth reading — a lot of people predicated them for a reason. The visual lineage is also handy on client calls, e.g. to show how a predicate family evolved and justify why your predicate still holds.
In the predicate graph, why are commonly predicated devices worth reading?
A lot of people predicated them for a reason. Clicking a node traces parents and children, and selections from search carry over pre-selected.
10. Embeddings: the galaxy map
The Embeddings tab plots every matching document in a 2-D "galaxy map" where semantically similar devices cluster together. Hover or click clusters to explore, and let AI label the clusters for you. Embeddings beat product codes for grouping: two devices can carry different product codes (LLZ vs. QIH) yet do the same thing — the embedding captures the meaning of the intended use and device story. This is also exactly how retrieval-augmented generation (RAG) works under the hood, and it makes a great visual on client calls.
Try it yourself
Head to the search page and work through a few of these AI/ML fuzzy searches to build intuition: perivascular fat on CT · aortic valve calcification opportunistic screening on noncontrast CT · breast cancer prediction on digital pathology slides · autism detection · gestational age prediction · a hearing aid that can also detect a pulse · foundation model based analysis of ECG · large language models · penetration test. Watch how the relevance scores, intended use, and AI Performance tables tell you when results stop being meaningful.