Forms

  • LabReport
    • ea_form_fieldset_01KES3VQJX4G8SBXSBGBC3HTPM
    • name
    • sampleName
    • sampleMatrix
    • productType
    • labName
    • externalUrl
    • internalUrl
    • category
    • type
    • project
    • state
    • debugData
    • markdownContent
    • ea_form_fieldset_close_01KES3VQJX4G8SBXSBGBC3HTPN
    • _token

LabReport

Form type:
"EasyCorp\Bundle\EasyAdminBundle\Form\Type\CrudFormType"

Errors

This form has no errors.

Default Data

Property Value
Model Format same as normalized format
Normalized Format
App\Entity\LabReport {#854
  -id: 858
  -name: "Broad Spectrum Dog Tincture Lab Report - Image 5"
  -externalUrl: "https://purecbdnc.com/cdn/shop/files/PawCBD_CBDBroadSpectrumDogTincture300mg_PeanutButterCOA5.jpg?v=1742236255"
  -source: null
  -type: "jpg"
  -project: Proxies\__CG__\App\Entity\Project {#903
    -id: 104
    -name: "pure cbd"
    -url: "https://purecbdnc.com/"
    -prompt: null
    -chatJson: null
    -externalLabReportsUrl: null
    -spiderSourceUrls: Doctrine\ORM\PersistentCollection {#1521 …}
    -productMatchingUrl: null
    -productUrls: Doctrine\ORM\PersistentCollection {#1556 …}
    -labReportSources: Doctrine\ORM\PersistentCollection {#1527 …}
    -labReports: Doctrine\ORM\PersistentCollection {#1558 …}
    -createdAt: DateTime @1744068184 {#1495
      date: 2025-04-07 23:23:04.0 UTC (+00:00)
    }
    -updatedAt: DateTime @1768199044 {#1485
      date: 2026-01-12 06:24:04.0 UTC (+00:00)
    }
    -spiderSourceMatchingUrls: null
    -state: "ready_to_hunt"
    -products: Doctrine\ORM\PersistentCollection {#1560 …}
    -productPages: Doctrine\ORM\PersistentCollection {#1581 …}
    -websiteFramework: "shopify"
    -debugData: "{"error":{"message":"DOMDocument::loadHTML(): Argument #1 ($source) must not be empty","trace":"#0 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/FrameworkHelper.php(346): DOMDocument->loadHTML()\n#1 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Crawler\/ProductHuntCrawlerObserver.php(134): App\\Helper\\FrameworkHelper->is_shopify_product_page()\n#2 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/CrawlObservers\/CrawlObserverCollection.php(28): App\\Crawler\\ProductHuntCrawlerObserver->crawled()\n#3 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(104): Spatie\\Crawler\\CrawlObservers\\CrawlObserverCollection->crawled()\n#4 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(70): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->handleCrawled()\n#5 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(173): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->__invoke()\n#6 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(209): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#7 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(158): GuzzleHttp\\Promise\\Promise::callHandler()\n#8 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/TaskQueue.php(52): GuzzleHttp\\Promise\\Promise::GuzzleHttp\\Promise\\{closure}()\n#9 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(167): GuzzleHttp\\Promise\\TaskQueue->run()\n#10 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(206): GuzzleHttp\\Handler\\CurlMultiHandler->tick()\n#11 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Handler\\CurlMultiHandler->execute()\n#12 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#13 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(272): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#14 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(229): GuzzleHttp\\Promise\\Promise->invokeWaitList()\n#15 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#16 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(109): GuzzleHttp\\Promise\\Promise->wait()\n#17 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#18 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#19 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#20 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(494): GuzzleHttp\\Promise\\Promise->wait()\n#21 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(443): Spatie\\Crawler\\Crawler->startCrawlingQueue()\n#22 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/CrawlerHelper.php(181): Spatie\\Crawler\\Crawler->startCrawling()\n#23 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/ProjectHelper.php(250): App\\Helper\\CrawlerHelper->crawlProjectProducts()\n#24 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Command\/Cron\/ProductHuntCommand.php(60): App\\Helper\\ProjectHelper->huntProducts()\n#25 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Command\/Command.php(279): App\\Command\\Cron\\ProductHuntCommand->execute()\n#26 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(1047): Symfony\\Component\\Console\\Command\\Command->run()\n#27 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(123): Symfony\\Component\\Console\\Application->doRunCommand()\n#28 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(316): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#29 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(77): Symfony\\Component\\Console\\Application->doRun()\n#30 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(167): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#31 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/runtime\/Runner\/Symfony\/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#32 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#33 \/home\/cbdextract\/cbdextract.nw.agency\/source\/bin\/console(15): require_once('...')\n#34 {main}"}}"
    -labReportFails: Doctrine\ORM\PersistentCollection {#1609 …}
    -productExcludePaths: null
    -aILogs: Doctrine\ORM\PersistentCollection {#1586 …}
    -user: null
    -aIBatchJobs: Doctrine\ORM\PersistentCollection {#1650 …}
    -lazyObjectState: Symfony\Component\VarExporter\Internal\LazyObjectState {#906 …}
  }
  -labReportSource: null
  -createdAt: DateTime @1748166689 {#848
    date: 2025-05-25 09:51:29.0 UTC (+00:00)
  }
  -updatedAt: DateTime @1748152342 {#845
    date: 2025-05-25 05:52:22.0 UTC (+00:00)
  }
  -category: null
  -state: "processed"
  -expiryDate: ""
  -extractionDate: "2024-11-13"
  -thcaPercentage: "0"
  -totalThcPercentage: "0"
  -deltaNinePercentage: "0"
  -deltaNineWithThcaCombined: "0"
  -comments: null
  -internalUrl: "https://cbdextract.nw.agency/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
  -markdownContent: ""# Residual Solvents Analysis\n\nResidual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n\n**Method:** QSP 1204 - Analysis of Residual Solvents by GC\/MS\n\n## Residual Solvents Test Results - 11\/13\/2024 \u2705 PASS\n\n| COMPOUND                             | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Propane                              | 10 \/ 20        | 5000                | N\/A                            | ND            | PASS   |\n| n-Butane                             | 10 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Pentane                            | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Hexane                             | 2 \/ 5          | 290                 | N\/A                            | ND            | PASS   |\n| n-Heptane                            | 20 \/ 60        | 5000                | N\/A                            | ND            | PASS   |\n| Benzene                              | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Toluene                              | 7 \/ 21         | 890                 | N\/A                            | ND            | PASS   |\n| Total Xylenes                        | 50 \/ 160       | 2170                | N\/A                            | ND            | PASS   |\n| Methanol                             | 50 \/ 200       | 3000                | N\/A                            | ND            | PASS   |\n| Ethanol                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| 2-Propanol (Isopropyl Alcohol)       | 10 \/ 40        | 5000                | N\/A                            | ND            | PASS   |\n| Acetone                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethyl Ether                          | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethylene Oxide                       | 0.3 \/ 0.8      | 1                   | N\/A                            | ND            | PASS   |\n| Ethyl Acetate                        | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Chloroform                           | 0.1 \/ 0.2      | 1                   | N\/A                            | ND            | PASS   |\n| Dichloromethane (Methylene Chloride) | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Trichloroethylene                    | 0.1 \/ 0.3      | 1                   | N\/A                            | ND            | PASS   |\n| 1,2-Dichloroethane                   | 0.05 \/ 0.1     | 1                   | N\/A                            | ND            | PASS   |\n| Acetonitrile                         | 2 \/ 7          | 410                 | N\/A                            | ND            | PASS   |\n\n\n# Heavy Metals Analysis\n\nHeavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n\n**Method:** QSP 1150 - Analysis of Heavy Metals by ICP\/MS\n\n## Heavy Metals Test Results - 11\/14\/2024 \u2705 PASS\n\n| COMPOUND | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Arsenic  | 0.02 \/ 0.1     | 1.5                 | N\/A                            | ND            | PASS   |\n| Cadmium  | 0.02 \/ 0.05    | 0.5                 | N\/A                            | ND            | PASS   |\n| Lead     | 0.04 \/ 0.1     | 0.5                 | N\/A                            | ND            | PASS   |\n| Mercury  | 0.002 \/ 0.01   | 3                   | N\/A                            | ND            | PASS   |\n\n\n# Microbiology Analysis\n\nPCR and Plating\n\nAnalysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n\n**Method:** QSP 1521 - Analysis of Microbiological Contaminants\n\n## Microbiology Test Results (PCR) - 11\/17\/2024 \u2705 PASS\n\n| COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n| -------------------------------------- | ------------------ | ------ | ------ |\n| Listeria monocytogenes                 | ND                 | ND     | PASS   |\n| Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n| Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n""
  -debugData: null
  -jsonContent: [
    "pages" => [
      [
        "page" => 1
        "md" => """
          # Residual Solvents Analysis\n
          \n
          Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
          \n
          **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS\n
          \n
          ## Residual Solvents Test Results - 11/13/2024 ✅ PASS\n
          \n
          | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
          | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
          | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
          | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
          | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
          | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
          | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
          | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
          | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
          | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
          | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
          | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
          | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
          | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
          | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
          | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |\n
          \n
          \n
          # Heavy Metals Analysis\n
          \n
          Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
          \n
          **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS\n
          \n
          ## Heavy Metals Test Results - 11/14/2024 ✅ PASS\n
          \n
          | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
          | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
          | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
          | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
          | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
          | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |\n
          \n
          \n
          # Microbiology Analysis\n
          \n
          PCR and Plating\n
          \n
          Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
          \n
          **Method:** QSP 1521 - Analysis of Microbiological Contaminants\n
          \n
          ## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS\n
          \n
          | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
          | -------------------------------------- | ------------------ | ------ | ------ |\n
          | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
          | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
          | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n
          """
        "images" => [
          [
            "name" => "page_1.jpg"
            "height" => 0
            "width" => 0
            "x" => 0
            "y" => 0
            "type" => "full_page_screenshot"
          ]
        ]
        "charts" => []
        "items" => [
          [
            "type" => "heading"
            "lvl" => 1
            "value" => "Residual Solvents Analysis"
            "md" => "# Residual Solvents Analysis"
          ]
          [
            "type" => "text"
            "value" => """
              Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
              \n
              **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
              """
            "md" => """
              Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
              \n
              **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
              """
          ]
          [
            "type" => "heading"
            "lvl" => 2
            "value" => "Residual Solvents Test Results - 11/13/2024 ✅ PASS"
            "md" => "## Residual Solvents Test Results - 11/13/2024 ✅ PASS"
          ]
          [
            "type" => "table"
            "rows" => [
              [
                "COMPOUND"
                "LOD/LOQ (µg/g)"
                "ACTION LIMIT (µg/g)"
                "MEASUREMENT UNCERTAINTY (µg/g)"
                "RESULT (µg/g)"
                "RESULT"
              ]
              [
                "Propane"
                "10 / 20"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Butane"
                "10 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Pentane"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Hexane"
                "2 / 5"
                "290"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Heptane"
                "20 / 60"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Benzene"
                "0.3 / 0.9"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Toluene"
                "7 / 21"
                "890"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Total Xylenes"
                "50 / 160"
                "2170"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Methanol"
                "50 / 200"
                "3000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethanol"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "2-Propanol (Isopropyl Alcohol)"
                "10 / 40"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Acetone"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethyl Ether"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethylene Oxide"
                "0.3 / 0.8"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethyl Acetate"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Chloroform"
                "0.1 / 0.2"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Dichloromethane (Methylene Chloride)"
                "0.3 / 0.9"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Trichloroethylene"
                "0.1 / 0.3"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "1,2-Dichloroethane"
                "0.05 / 0.1"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Acetonitrile"
                "2 / 7"
                "410"
                "N/A"
                "ND"
                "PASS"
              ]
            ]
            "md" => """
              | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
              | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
              | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
              | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
              | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
              | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
              | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
              | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
              | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
              | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
              | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
              | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
              | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
              | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
              | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |
              """
            "isPerfectTable" => true
            "csv" => """
              "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
              "Propane","10 / 20","5000","N/A","ND","PASS"\n
              "n-Butane","10 / 50","5000","N/A","ND","PASS"\n
              "n-Pentane","20 / 50","5000","N/A","ND","PASS"\n
              "n-Hexane","2 / 5","290","N/A","ND","PASS"\n
              "n-Heptane","20 / 60","5000","N/A","ND","PASS"\n
              "Benzene","0.3 / 0.9","1","N/A","ND","PASS"\n
              "Toluene","7 / 21","890","N/A","ND","PASS"\n
              "Total Xylenes","50 / 160","2170","N/A","ND","PASS"\n
              "Methanol","50 / 200","3000","N/A","ND","PASS"\n
              "Ethanol","20 / 50","5000","N/A","ND","PASS"\n
              "2-Propanol (Isopropyl Alcohol)","10 / 40","5000","N/A","ND","PASS"\n
              "Acetone","20 / 50","5000","N/A","ND","PASS"\n
              "Ethyl Ether","20 / 50","5000","N/A","ND","PASS"\n
              "Ethylene Oxide","0.3 / 0.8","1","N/A","ND","PASS"\n
              "Ethyl Acetate","20 / 50","5000","N/A","ND","PASS"\n
              "Chloroform","0.1 / 0.2","1","N/A","ND","PASS"\n
              "Dichloromethane (Methylene Chloride)","0.3 / 0.9","1","N/A","ND","PASS"\n
              "Trichloroethylene","0.1 / 0.3","1","N/A","ND","PASS"\n
              "1,2-Dichloroethane","0.05 / 0.1","1","N/A","ND","PASS"\n
              "Acetonitrile","2 / 7","410","N/A","ND","PASS"
              """
          ]
          [
            "type" => "heading"
            "lvl" => 1
            "value" => "Heavy Metals Analysis"
            "md" => "# Heavy Metals Analysis"
          ]
          [
            "type" => "text"
            "value" => """
              Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
              \n
              **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
              """
            "md" => """
              Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
              \n
              **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
              """
          ]
          [
            "type" => "heading"
            "lvl" => 2
            "value" => "Heavy Metals Test Results - 11/14/2024 ✅ PASS"
            "md" => "## Heavy Metals Test Results - 11/14/2024 ✅ PASS"
          ]
          [
            "type" => "table"
            "rows" => [
              [
                "COMPOUND"
                "LOD/LOQ (µg/g)"
                "ACTION LIMIT (µg/g)"
                "MEASUREMENT UNCERTAINTY (µg/g)"
                "RESULT (µg/g)"
                "RESULT"
              ]
              [
                "Arsenic"
                "0.02 / 0.1"
                "1.5"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Cadmium"
                "0.02 / 0.05"
                "0.5"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Lead"
                "0.04 / 0.1"
                "0.5"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Mercury"
                "0.002 / 0.01"
                "3"
                "N/A"
                "ND"
                "PASS"
              ]
            ]
            "md" => """
              | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
              | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
              | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
              | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
              | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
              | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |
              """
            "isPerfectTable" => true
            "csv" => """
              "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
              "Arsenic","0.02 / 0.1","1.5","N/A","ND","PASS"\n
              "Cadmium","0.02 / 0.05","0.5","N/A","ND","PASS"\n
              "Lead","0.04 / 0.1","0.5","N/A","ND","PASS"\n
              "Mercury","0.002 / 0.01","3","N/A","ND","PASS"
              """
          ]
          [
            "type" => "heading"
            "lvl" => 1
            "value" => "Microbiology Analysis"
            "md" => "# Microbiology Analysis"
          ]
          [
            "type" => "text"
            "value" => """
              PCR and Plating\n
              \n
              Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
              \n
              **Method:** QSP 1521 - Analysis of Microbiological Contaminants
              """
            "md" => """
              PCR and Plating\n
              \n
              Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
              \n
              **Method:** QSP 1521 - Analysis of Microbiological Contaminants
              """
          ]
          [
            "type" => "heading"
            "lvl" => 2
            "value" => "Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
            "md" => "## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
          ]
          [
            "type" => "table"
            "rows" => [
              [
                "COMPOUND"
                "ACTION LIMIT"
                "RESULT"
                "RESULT"
              ]
              [
                "Listeria monocytogenes"
                "ND"
                "ND"
                "PASS"
              ]
              [
                "Salmonella spp."
                "Not Detected in 1g"
                "ND"
                "PASS"
              ]
              [
                "Shiga toxin-producing Escherichia coli"
                "Not Detected in 1g"
                "ND"
                "PASS"
              ]
            ]
            "md" => """
              | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
              | -------------------------------------- | ------------------ | ------ | ------ |\n
              | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
              | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
              | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |
              """
            "isPerfectTable" => true
            "csv" => """
              "COMPOUND","ACTION LIMIT","RESULT","RESULT"\n
              "Listeria monocytogenes","ND","ND","PASS"\n
              "Salmonella spp.","Not Detected in 1g","ND","PASS"\n
              "Shiga toxin-producing Escherichia coli","Not Detected in 1g","ND","PASS"
              """
          ]
        ]
        "status" => "OK"
        "originalOrientationAngle" => 0
        "links" => []
        "triggeredAutoMode" => false
        "parsingMode" => "multimodal-openai-gpt4o"
        "structuredData" => null
        "noStructuredContent" => false
        "noTextContent" => false
      ]
    ]
    "job_metadata" => [
      "credits_used" => 0
      "job_credits_usage" => 0
      "job_pages" => 1
      "job_auto_mode_triggered_pages" => 0
      "job_is_cache_hit" => false
    ]
  ]
  -labName: "Laboratory ABC"
  -sampleName: "Pineapple Express Concentrate"
  -sampleMatrix: "concentrate"
  -internalPath: "/home/cbdextract/cbdextract.nw.agency/source/public/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
  -productType: "cannabis"
  -aILogs: Doctrine\ORM\PersistentCollection {#964 …}
  -products: Doctrine\ORM\PersistentCollection {#1018 …}
}
View Format same as normalized format

Submitted Data

This form was not submitted.

Passed Options

Option Passed Value Resolved Value
attr
[
  "class" => "ea-edit-form"
  "id" => "edit-LabReport-form"
]
[
  "class" => "ea-edit-form"
  "id" => "edit-LabReport-form"
]
data
App\Entity\LabReport {#854
  -id: 858
  -name: "Broad Spectrum Dog Tincture Lab Report - Image 5"
  -externalUrl: "https://purecbdnc.com/cdn/shop/files/PawCBD_CBDBroadSpectrumDogTincture300mg_PeanutButterCOA5.jpg?v=1742236255"
  -source: null
  -type: "jpg"
  -project: Proxies\__CG__\App\Entity\Project {#903
    -id: 104
    -name: "pure cbd"
    -url: "https://purecbdnc.com/"
    -prompt: null
    -chatJson: null
    -externalLabReportsUrl: null
    -spiderSourceUrls: Doctrine\ORM\PersistentCollection {#1521 …}
    -productMatchingUrl: null
    -productUrls: Doctrine\ORM\PersistentCollection {#1556 …}
    -labReportSources: Doctrine\ORM\PersistentCollection {#1527 …}
    -labReports: Doctrine\ORM\PersistentCollection {#1558 …}
    -createdAt: DateTime @1744068184 {#1495
      date: 2025-04-07 23:23:04.0 UTC (+00:00)
    }
    -updatedAt: DateTime @1768199044 {#1485
      date: 2026-01-12 06:24:04.0 UTC (+00:00)
    }
    -spiderSourceMatchingUrls: null
    -state: "ready_to_hunt"
    -products: Doctrine\ORM\PersistentCollection {#1560 …}
    -productPages: Doctrine\ORM\PersistentCollection {#1581 …}
    -websiteFramework: "shopify"
    -debugData: "{"error":{"message":"DOMDocument::loadHTML(): Argument #1 ($source) must not be empty","trace":"#0 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/FrameworkHelper.php(346): DOMDocument->loadHTML()\n#1 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Crawler\/ProductHuntCrawlerObserver.php(134): App\\Helper\\FrameworkHelper->is_shopify_product_page()\n#2 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/CrawlObservers\/CrawlObserverCollection.php(28): App\\Crawler\\ProductHuntCrawlerObserver->crawled()\n#3 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(104): Spatie\\Crawler\\CrawlObservers\\CrawlObserverCollection->crawled()\n#4 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(70): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->handleCrawled()\n#5 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(173): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->__invoke()\n#6 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(209): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#7 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(158): GuzzleHttp\\Promise\\Promise::callHandler()\n#8 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/TaskQueue.php(52): GuzzleHttp\\Promise\\Promise::GuzzleHttp\\Promise\\{closure}()\n#9 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(167): GuzzleHttp\\Promise\\TaskQueue->run()\n#10 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(206): GuzzleHttp\\Handler\\CurlMultiHandler->tick()\n#11 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Handler\\CurlMultiHandler->execute()\n#12 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#13 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(272): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#14 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(229): GuzzleHttp\\Promise\\Promise->invokeWaitList()\n#15 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#16 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(109): GuzzleHttp\\Promise\\Promise->wait()\n#17 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#18 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#19 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#20 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(494): GuzzleHttp\\Promise\\Promise->wait()\n#21 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(443): Spatie\\Crawler\\Crawler->startCrawlingQueue()\n#22 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/CrawlerHelper.php(181): Spatie\\Crawler\\Crawler->startCrawling()\n#23 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/ProjectHelper.php(250): App\\Helper\\CrawlerHelper->crawlProjectProducts()\n#24 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Command\/Cron\/ProductHuntCommand.php(60): App\\Helper\\ProjectHelper->huntProducts()\n#25 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Command\/Command.php(279): App\\Command\\Cron\\ProductHuntCommand->execute()\n#26 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(1047): Symfony\\Component\\Console\\Command\\Command->run()\n#27 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(123): Symfony\\Component\\Console\\Application->doRunCommand()\n#28 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(316): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#29 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(77): Symfony\\Component\\Console\\Application->doRun()\n#30 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(167): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#31 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/runtime\/Runner\/Symfony\/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#32 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#33 \/home\/cbdextract\/cbdextract.nw.agency\/source\/bin\/console(15): require_once('...')\n#34 {main}"}}"
    -labReportFails: Doctrine\ORM\PersistentCollection {#1609 …}
    -productExcludePaths: null
    -aILogs: Doctrine\ORM\PersistentCollection {#1586 …}
    -user: null
    -aIBatchJobs: Doctrine\ORM\PersistentCollection {#1650 …}
    -lazyObjectState: Symfony\Component\VarExporter\Internal\LazyObjectState {#906 …}
  }
  -labReportSource: null
  -createdAt: DateTime @1748166689 {#848
    date: 2025-05-25 09:51:29.0 UTC (+00:00)
  }
  -updatedAt: DateTime @1748152342 {#845
    date: 2025-05-25 05:52:22.0 UTC (+00:00)
  }
  -category: null
  -state: "processed"
  -expiryDate: ""
  -extractionDate: "2024-11-13"
  -thcaPercentage: "0"
  -totalThcPercentage: "0"
  -deltaNinePercentage: "0"
  -deltaNineWithThcaCombined: "0"
  -comments: null
  -internalUrl: "https://cbdextract.nw.agency/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
  -markdownContent: ""# Residual Solvents Analysis\n\nResidual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n\n**Method:** QSP 1204 - Analysis of Residual Solvents by GC\/MS\n\n## Residual Solvents Test Results - 11\/13\/2024 \u2705 PASS\n\n| COMPOUND                             | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Propane                              | 10 \/ 20        | 5000                | N\/A                            | ND            | PASS   |\n| n-Butane                             | 10 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Pentane                            | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Hexane                             | 2 \/ 5          | 290                 | N\/A                            | ND            | PASS   |\n| n-Heptane                            | 20 \/ 60        | 5000                | N\/A                            | ND            | PASS   |\n| Benzene                              | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Toluene                              | 7 \/ 21         | 890                 | N\/A                            | ND            | PASS   |\n| Total Xylenes                        | 50 \/ 160       | 2170                | N\/A                            | ND            | PASS   |\n| Methanol                             | 50 \/ 200       | 3000                | N\/A                            | ND            | PASS   |\n| Ethanol                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| 2-Propanol (Isopropyl Alcohol)       | 10 \/ 40        | 5000                | N\/A                            | ND            | PASS   |\n| Acetone                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethyl Ether                          | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethylene Oxide                       | 0.3 \/ 0.8      | 1                   | N\/A                            | ND            | PASS   |\n| Ethyl Acetate                        | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Chloroform                           | 0.1 \/ 0.2      | 1                   | N\/A                            | ND            | PASS   |\n| Dichloromethane (Methylene Chloride) | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Trichloroethylene                    | 0.1 \/ 0.3      | 1                   | N\/A                            | ND            | PASS   |\n| 1,2-Dichloroethane                   | 0.05 \/ 0.1     | 1                   | N\/A                            | ND            | PASS   |\n| Acetonitrile                         | 2 \/ 7          | 410                 | N\/A                            | ND            | PASS   |\n\n\n# Heavy Metals Analysis\n\nHeavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n\n**Method:** QSP 1150 - Analysis of Heavy Metals by ICP\/MS\n\n## Heavy Metals Test Results - 11\/14\/2024 \u2705 PASS\n\n| COMPOUND | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Arsenic  | 0.02 \/ 0.1     | 1.5                 | N\/A                            | ND            | PASS   |\n| Cadmium  | 0.02 \/ 0.05    | 0.5                 | N\/A                            | ND            | PASS   |\n| Lead     | 0.04 \/ 0.1     | 0.5                 | N\/A                            | ND            | PASS   |\n| Mercury  | 0.002 \/ 0.01   | 3                   | N\/A                            | ND            | PASS   |\n\n\n# Microbiology Analysis\n\nPCR and Plating\n\nAnalysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n\n**Method:** QSP 1521 - Analysis of Microbiological Contaminants\n\n## Microbiology Test Results (PCR) - 11\/17\/2024 \u2705 PASS\n\n| COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n| -------------------------------------- | ------------------ | ------ | ------ |\n| Listeria monocytogenes                 | ND                 | ND     | PASS   |\n| Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n| Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n""
  -debugData: null
  -jsonContent: [
    "pages" => [
      [
        "page" => 1
        "md" => """
          # Residual Solvents Analysis\n
          \n
          Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
          \n
          **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS\n
          \n
          ## Residual Solvents Test Results - 11/13/2024 ✅ PASS\n
          \n
          | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
          | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
          | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
          | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
          | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
          | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
          | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
          | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
          | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
          | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
          | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
          | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
          | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
          | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
          | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
          | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |\n
          \n
          \n
          # Heavy Metals Analysis\n
          \n
          Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
          \n
          **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS\n
          \n
          ## Heavy Metals Test Results - 11/14/2024 ✅ PASS\n
          \n
          | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
          | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
          | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
          | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
          | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
          | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |\n
          \n
          \n
          # Microbiology Analysis\n
          \n
          PCR and Plating\n
          \n
          Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
          \n
          **Method:** QSP 1521 - Analysis of Microbiological Contaminants\n
          \n
          ## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS\n
          \n
          | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
          | -------------------------------------- | ------------------ | ------ | ------ |\n
          | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
          | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
          | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n
          """
        "images" => [
          [
            "name" => "page_1.jpg"
            "height" => 0
            "width" => 0
            "x" => 0
            "y" => 0
            "type" => "full_page_screenshot"
          ]
        ]
        "charts" => []
        "items" => [
          [
            "type" => "heading"
            "lvl" => 1
            "value" => "Residual Solvents Analysis"
            "md" => "# Residual Solvents Analysis"
          ]
          [
            "type" => "text"
            "value" => """
              Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
              \n
              **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
              """
            "md" => """
              Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
              \n
              **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
              """
          ]
          [
            "type" => "heading"
            "lvl" => 2
            "value" => "Residual Solvents Test Results - 11/13/2024 ✅ PASS"
            "md" => "## Residual Solvents Test Results - 11/13/2024 ✅ PASS"
          ]
          [
            "type" => "table"
            "rows" => [
              [
                "COMPOUND"
                "LOD/LOQ (µg/g)"
                "ACTION LIMIT (µg/g)"
                "MEASUREMENT UNCERTAINTY (µg/g)"
                "RESULT (µg/g)"
                "RESULT"
              ]
              [
                "Propane"
                "10 / 20"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Butane"
                "10 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Pentane"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Hexane"
                "2 / 5"
                "290"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Heptane"
                "20 / 60"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Benzene"
                "0.3 / 0.9"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Toluene"
                "7 / 21"
                "890"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Total Xylenes"
                "50 / 160"
                "2170"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Methanol"
                "50 / 200"
                "3000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethanol"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "2-Propanol (Isopropyl Alcohol)"
                "10 / 40"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Acetone"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethyl Ether"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethylene Oxide"
                "0.3 / 0.8"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethyl Acetate"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Chloroform"
                "0.1 / 0.2"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Dichloromethane (Methylene Chloride)"
                "0.3 / 0.9"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Trichloroethylene"
                "0.1 / 0.3"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "1,2-Dichloroethane"
                "0.05 / 0.1"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Acetonitrile"
                "2 / 7"
                "410"
                "N/A"
                "ND"
                "PASS"
              ]
            ]
            "md" => """
              | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
              | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
              | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
              | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
              | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
              | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
              | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
              | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
              | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
              | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
              | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
              | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
              | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
              | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
              | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |
              """
            "isPerfectTable" => true
            "csv" => """
              "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
              "Propane","10 / 20","5000","N/A","ND","PASS"\n
              "n-Butane","10 / 50","5000","N/A","ND","PASS"\n
              "n-Pentane","20 / 50","5000","N/A","ND","PASS"\n
              "n-Hexane","2 / 5","290","N/A","ND","PASS"\n
              "n-Heptane","20 / 60","5000","N/A","ND","PASS"\n
              "Benzene","0.3 / 0.9","1","N/A","ND","PASS"\n
              "Toluene","7 / 21","890","N/A","ND","PASS"\n
              "Total Xylenes","50 / 160","2170","N/A","ND","PASS"\n
              "Methanol","50 / 200","3000","N/A","ND","PASS"\n
              "Ethanol","20 / 50","5000","N/A","ND","PASS"\n
              "2-Propanol (Isopropyl Alcohol)","10 / 40","5000","N/A","ND","PASS"\n
              "Acetone","20 / 50","5000","N/A","ND","PASS"\n
              "Ethyl Ether","20 / 50","5000","N/A","ND","PASS"\n
              "Ethylene Oxide","0.3 / 0.8","1","N/A","ND","PASS"\n
              "Ethyl Acetate","20 / 50","5000","N/A","ND","PASS"\n
              "Chloroform","0.1 / 0.2","1","N/A","ND","PASS"\n
              "Dichloromethane (Methylene Chloride)","0.3 / 0.9","1","N/A","ND","PASS"\n
              "Trichloroethylene","0.1 / 0.3","1","N/A","ND","PASS"\n
              "1,2-Dichloroethane","0.05 / 0.1","1","N/A","ND","PASS"\n
              "Acetonitrile","2 / 7","410","N/A","ND","PASS"
              """
          ]
          [
            "type" => "heading"
            "lvl" => 1
            "value" => "Heavy Metals Analysis"
            "md" => "# Heavy Metals Analysis"
          ]
          [
            "type" => "text"
            "value" => """
              Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
              \n
              **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
              """
            "md" => """
              Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
              \n
              **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
              """
          ]
          [
            "type" => "heading"
            "lvl" => 2
            "value" => "Heavy Metals Test Results - 11/14/2024 ✅ PASS"
            "md" => "## Heavy Metals Test Results - 11/14/2024 ✅ PASS"
          ]
          [
            "type" => "table"
            "rows" => [
              [
                "COMPOUND"
                "LOD/LOQ (µg/g)"
                "ACTION LIMIT (µg/g)"
                "MEASUREMENT UNCERTAINTY (µg/g)"
                "RESULT (µg/g)"
                "RESULT"
              ]
              [
                "Arsenic"
                "0.02 / 0.1"
                "1.5"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Cadmium"
                "0.02 / 0.05"
                "0.5"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Lead"
                "0.04 / 0.1"
                "0.5"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Mercury"
                "0.002 / 0.01"
                "3"
                "N/A"
                "ND"
                "PASS"
              ]
            ]
            "md" => """
              | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
              | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
              | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
              | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
              | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
              | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |
              """
            "isPerfectTable" => true
            "csv" => """
              "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
              "Arsenic","0.02 / 0.1","1.5","N/A","ND","PASS"\n
              "Cadmium","0.02 / 0.05","0.5","N/A","ND","PASS"\n
              "Lead","0.04 / 0.1","0.5","N/A","ND","PASS"\n
              "Mercury","0.002 / 0.01","3","N/A","ND","PASS"
              """
          ]
          [
            "type" => "heading"
            "lvl" => 1
            "value" => "Microbiology Analysis"
            "md" => "# Microbiology Analysis"
          ]
          [
            "type" => "text"
            "value" => """
              PCR and Plating\n
              \n
              Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
              \n
              **Method:** QSP 1521 - Analysis of Microbiological Contaminants
              """
            "md" => """
              PCR and Plating\n
              \n
              Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
              \n
              **Method:** QSP 1521 - Analysis of Microbiological Contaminants
              """
          ]
          [
            "type" => "heading"
            "lvl" => 2
            "value" => "Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
            "md" => "## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
          ]
          [
            "type" => "table"
            "rows" => [
              [
                "COMPOUND"
                "ACTION LIMIT"
                "RESULT"
                "RESULT"
              ]
              [
                "Listeria monocytogenes"
                "ND"
                "ND"
                "PASS"
              ]
              [
                "Salmonella spp."
                "Not Detected in 1g"
                "ND"
                "PASS"
              ]
              [
                "Shiga toxin-producing Escherichia coli"
                "Not Detected in 1g"
                "ND"
                "PASS"
              ]
            ]
            "md" => """
              | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
              | -------------------------------------- | ------------------ | ------ | ------ |\n
              | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
              | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
              | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |
              """
            "isPerfectTable" => true
            "csv" => """
              "COMPOUND","ACTION LIMIT","RESULT","RESULT"\n
              "Listeria monocytogenes","ND","ND","PASS"\n
              "Salmonella spp.","Not Detected in 1g","ND","PASS"\n
              "Shiga toxin-producing Escherichia coli","Not Detected in 1g","ND","PASS"
              """
          ]
        ]
        "status" => "OK"
        "originalOrientationAngle" => 0
        "links" => []
        "triggeredAutoMode" => false
        "parsingMode" => "multimodal-openai-gpt4o"
        "structuredData" => null
        "noStructuredContent" => false
        "noTextContent" => false
      ]
    ]
    "job_metadata" => [
      "credits_used" => 0
      "job_credits_usage" => 0
      "job_pages" => 1
      "job_auto_mode_triggered_pages" => 0
      "job_is_cache_hit" => false
    ]
  ]
  -labName: "Laboratory ABC"
  -sampleName: "Pineapple Express Concentrate"
  -sampleMatrix: "concentrate"
  -internalPath: "/home/cbdextract/cbdextract.nw.agency/source/public/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
  -productType: "cannabis"
  -aILogs: Doctrine\ORM\PersistentCollection {#964 …}
  -products: Doctrine\ORM\PersistentCollection {#1018 …}
}
same as passed value
entityDto
EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto {#844
  -isAccessible: true
  -fqcn: "App\Entity\LabReport"
  -metadata: Doctrine\ORM\Mapping\ClassMetadata {#691 …}
  -instance: App\Entity\LabReport {#854
    -id: 858
    -name: "Broad Spectrum Dog Tincture Lab Report - Image 5"
    -externalUrl: "https://purecbdnc.com/cdn/shop/files/PawCBD_CBDBroadSpectrumDogTincture300mg_PeanutButterCOA5.jpg?v=1742236255"
    -source: null
    -type: "jpg"
    -project: Proxies\__CG__\App\Entity\Project {#903
      -id: 104
      -name: "pure cbd"
      -url: "https://purecbdnc.com/"
      -prompt: null
      -chatJson: null
      -externalLabReportsUrl: null
      -spiderSourceUrls: Doctrine\ORM\PersistentCollection {#1521 …}
      -productMatchingUrl: null
      -productUrls: Doctrine\ORM\PersistentCollection {#1556 …}
      -labReportSources: Doctrine\ORM\PersistentCollection {#1527 …}
      -labReports: Doctrine\ORM\PersistentCollection {#1558 …}
      -createdAt: DateTime @1744068184 {#1495
        date: 2025-04-07 23:23:04.0 UTC (+00:00)
      }
      -updatedAt: DateTime @1768199044 {#1485
        date: 2026-01-12 06:24:04.0 UTC (+00:00)
      }
      -spiderSourceMatchingUrls: null
      -state: "ready_to_hunt"
      -products: Doctrine\ORM\PersistentCollection {#1560 …}
      -productPages: Doctrine\ORM\PersistentCollection {#1581 …}
      -websiteFramework: "shopify"
      -debugData: "{"error":{"message":"DOMDocument::loadHTML(): Argument #1 ($source) must not be empty","trace":"#0 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/FrameworkHelper.php(346): DOMDocument->loadHTML()\n#1 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Crawler\/ProductHuntCrawlerObserver.php(134): App\\Helper\\FrameworkHelper->is_shopify_product_page()\n#2 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/CrawlObservers\/CrawlObserverCollection.php(28): App\\Crawler\\ProductHuntCrawlerObserver->crawled()\n#3 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(104): Spatie\\Crawler\\CrawlObservers\\CrawlObserverCollection->crawled()\n#4 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(70): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->handleCrawled()\n#5 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(173): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->__invoke()\n#6 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(209): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#7 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(158): GuzzleHttp\\Promise\\Promise::callHandler()\n#8 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/TaskQueue.php(52): GuzzleHttp\\Promise\\Promise::GuzzleHttp\\Promise\\{closure}()\n#9 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(167): GuzzleHttp\\Promise\\TaskQueue->run()\n#10 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(206): GuzzleHttp\\Handler\\CurlMultiHandler->tick()\n#11 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Handler\\CurlMultiHandler->execute()\n#12 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#13 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(272): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#14 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(229): GuzzleHttp\\Promise\\Promise->invokeWaitList()\n#15 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#16 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(109): GuzzleHttp\\Promise\\Promise->wait()\n#17 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#18 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#19 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#20 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(494): GuzzleHttp\\Promise\\Promise->wait()\n#21 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(443): Spatie\\Crawler\\Crawler->startCrawlingQueue()\n#22 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/CrawlerHelper.php(181): Spatie\\Crawler\\Crawler->startCrawling()\n#23 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/ProjectHelper.php(250): App\\Helper\\CrawlerHelper->crawlProjectProducts()\n#24 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Command\/Cron\/ProductHuntCommand.php(60): App\\Helper\\ProjectHelper->huntProducts()\n#25 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Command\/Command.php(279): App\\Command\\Cron\\ProductHuntCommand->execute()\n#26 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(1047): Symfony\\Component\\Console\\Command\\Command->run()\n#27 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(123): Symfony\\Component\\Console\\Application->doRunCommand()\n#28 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(316): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#29 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(77): Symfony\\Component\\Console\\Application->doRun()\n#30 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(167): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#31 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/runtime\/Runner\/Symfony\/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#32 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#33 \/home\/cbdextract\/cbdextract.nw.agency\/source\/bin\/console(15): require_once('...')\n#34 {main}"}}"
      -labReportFails: Doctrine\ORM\PersistentCollection {#1609 …}
      -productExcludePaths: null
      -aILogs: Doctrine\ORM\PersistentCollection {#1586 …}
      -user: null
      -aIBatchJobs: Doctrine\ORM\PersistentCollection {#1650 …}
      -lazyObjectState: Symfony\Component\VarExporter\Internal\LazyObjectState {#906 …}
    }
    -labReportSource: null
    -createdAt: DateTime @1748166689 {#848
      date: 2025-05-25 09:51:29.0 UTC (+00:00)
    }
    -updatedAt: DateTime @1748152342 {#845
      date: 2025-05-25 05:52:22.0 UTC (+00:00)
    }
    -category: null
    -state: "processed"
    -expiryDate: ""
    -extractionDate: "2024-11-13"
    -thcaPercentage: "0"
    -totalThcPercentage: "0"
    -deltaNinePercentage: "0"
    -deltaNineWithThcaCombined: "0"
    -comments: null
    -internalUrl: "https://cbdextract.nw.agency/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
    -markdownContent: ""# Residual Solvents Analysis\n\nResidual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n\n**Method:** QSP 1204 - Analysis of Residual Solvents by GC\/MS\n\n## Residual Solvents Test Results - 11\/13\/2024 \u2705 PASS\n\n| COMPOUND                             | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Propane                              | 10 \/ 20        | 5000                | N\/A                            | ND            | PASS   |\n| n-Butane                             | 10 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Pentane                            | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Hexane                             | 2 \/ 5          | 290                 | N\/A                            | ND            | PASS   |\n| n-Heptane                            | 20 \/ 60        | 5000                | N\/A                            | ND            | PASS   |\n| Benzene                              | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Toluene                              | 7 \/ 21         | 890                 | N\/A                            | ND            | PASS   |\n| Total Xylenes                        | 50 \/ 160       | 2170                | N\/A                            | ND            | PASS   |\n| Methanol                             | 50 \/ 200       | 3000                | N\/A                            | ND            | PASS   |\n| Ethanol                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| 2-Propanol (Isopropyl Alcohol)       | 10 \/ 40        | 5000                | N\/A                            | ND            | PASS   |\n| Acetone                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethyl Ether                          | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethylene Oxide                       | 0.3 \/ 0.8      | 1                   | N\/A                            | ND            | PASS   |\n| Ethyl Acetate                        | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Chloroform                           | 0.1 \/ 0.2      | 1                   | N\/A                            | ND            | PASS   |\n| Dichloromethane (Methylene Chloride) | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Trichloroethylene                    | 0.1 \/ 0.3      | 1                   | N\/A                            | ND            | PASS   |\n| 1,2-Dichloroethane                   | 0.05 \/ 0.1     | 1                   | N\/A                            | ND            | PASS   |\n| Acetonitrile                         | 2 \/ 7          | 410                 | N\/A                            | ND            | PASS   |\n\n\n# Heavy Metals Analysis\n\nHeavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n\n**Method:** QSP 1150 - Analysis of Heavy Metals by ICP\/MS\n\n## Heavy Metals Test Results - 11\/14\/2024 \u2705 PASS\n\n| COMPOUND | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Arsenic  | 0.02 \/ 0.1     | 1.5                 | N\/A                            | ND            | PASS   |\n| Cadmium  | 0.02 \/ 0.05    | 0.5                 | N\/A                            | ND            | PASS   |\n| Lead     | 0.04 \/ 0.1     | 0.5                 | N\/A                            | ND            | PASS   |\n| Mercury  | 0.002 \/ 0.01   | 3                   | N\/A                            | ND            | PASS   |\n\n\n# Microbiology Analysis\n\nPCR and Plating\n\nAnalysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n\n**Method:** QSP 1521 - Analysis of Microbiological Contaminants\n\n## Microbiology Test Results (PCR) - 11\/17\/2024 \u2705 PASS\n\n| COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n| -------------------------------------- | ------------------ | ------ | ------ |\n| Listeria monocytogenes                 | ND                 | ND     | PASS   |\n| Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n| Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n""
    -debugData: null
    -jsonContent: [
      "pages" => [
        [
          "page" => 1
          "md" => """
            # Residual Solvents Analysis\n
            \n
            Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
            \n
            **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS\n
            \n
            ## Residual Solvents Test Results - 11/13/2024 ✅ PASS\n
            \n
            | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
            | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
            | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
            | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
            | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
            | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
            | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
            | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
            | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
            | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
            | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
            | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
            | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
            | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
            | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
            | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
            | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
            | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
            | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
            | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
            | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
            | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |\n
            \n
            \n
            # Heavy Metals Analysis\n
            \n
            Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
            \n
            **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS\n
            \n
            ## Heavy Metals Test Results - 11/14/2024 ✅ PASS\n
            \n
            | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
            | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
            | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
            | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
            | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
            | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |\n
            \n
            \n
            # Microbiology Analysis\n
            \n
            PCR and Plating\n
            \n
            Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
            \n
            **Method:** QSP 1521 - Analysis of Microbiological Contaminants\n
            \n
            ## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS\n
            \n
            | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
            | -------------------------------------- | ------------------ | ------ | ------ |\n
            | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
            | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
            | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n
            """
          "images" => [
            [
              "name" => "page_1.jpg"
              "height" => 0
              "width" => 0
              "x" => 0
              "y" => 0
              "type" => "full_page_screenshot"
            ]
          ]
          "charts" => []
          "items" => [
            [
              "type" => "heading"
              "lvl" => 1
              "value" => "Residual Solvents Analysis"
              "md" => "# Residual Solvents Analysis"
            ]
            [
              "type" => "text"
              "value" => """
                Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
                \n
                **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
                """
              "md" => """
                Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
                \n
                **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
                """
            ]
            [
              "type" => "heading"
              "lvl" => 2
              "value" => "Residual Solvents Test Results - 11/13/2024 ✅ PASS"
              "md" => "## Residual Solvents Test Results - 11/13/2024 ✅ PASS"
            ]
            [
              "type" => "table"
              "rows" => [
                [
                  "COMPOUND"
                  "LOD/LOQ (µg/g)"
                  "ACTION LIMIT (µg/g)"
                  "MEASUREMENT UNCERTAINTY (µg/g)"
                  "RESULT (µg/g)"
                  "RESULT"
                ]
                [
                  "Propane"
                  "10 / 20"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "n-Butane"
                  "10 / 50"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "n-Pentane"
                  "20 / 50"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "n-Hexane"
                  "2 / 5"
                  "290"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "n-Heptane"
                  "20 / 60"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Benzene"
                  "0.3 / 0.9"
                  "1"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Toluene"
                  "7 / 21"
                  "890"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Total Xylenes"
                  "50 / 160"
                  "2170"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Methanol"
                  "50 / 200"
                  "3000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Ethanol"
                  "20 / 50"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "2-Propanol (Isopropyl Alcohol)"
                  "10 / 40"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Acetone"
                  "20 / 50"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Ethyl Ether"
                  "20 / 50"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Ethylene Oxide"
                  "0.3 / 0.8"
                  "1"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Ethyl Acetate"
                  "20 / 50"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Chloroform"
                  "0.1 / 0.2"
                  "1"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Dichloromethane (Methylene Chloride)"
                  "0.3 / 0.9"
                  "1"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Trichloroethylene"
                  "0.1 / 0.3"
                  "1"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "1,2-Dichloroethane"
                  "0.05 / 0.1"
                  "1"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Acetonitrile"
                  "2 / 7"
                  "410"
                  "N/A"
                  "ND"
                  "PASS"
                ]
              ]
              "md" => """
                | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
                | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
                | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
                | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
                | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
                | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
                | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
                | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
                | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
                | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
                | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
                | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
                | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
                | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
                | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
                | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |
                """
              "isPerfectTable" => true
              "csv" => """
                "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
                "Propane","10 / 20","5000","N/A","ND","PASS"\n
                "n-Butane","10 / 50","5000","N/A","ND","PASS"\n
                "n-Pentane","20 / 50","5000","N/A","ND","PASS"\n
                "n-Hexane","2 / 5","290","N/A","ND","PASS"\n
                "n-Heptane","20 / 60","5000","N/A","ND","PASS"\n
                "Benzene","0.3 / 0.9","1","N/A","ND","PASS"\n
                "Toluene","7 / 21","890","N/A","ND","PASS"\n
                "Total Xylenes","50 / 160","2170","N/A","ND","PASS"\n
                "Methanol","50 / 200","3000","N/A","ND","PASS"\n
                "Ethanol","20 / 50","5000","N/A","ND","PASS"\n
                "2-Propanol (Isopropyl Alcohol)","10 / 40","5000","N/A","ND","PASS"\n
                "Acetone","20 / 50","5000","N/A","ND","PASS"\n
                "Ethyl Ether","20 / 50","5000","N/A","ND","PASS"\n
                "Ethylene Oxide","0.3 / 0.8","1","N/A","ND","PASS"\n
                "Ethyl Acetate","20 / 50","5000","N/A","ND","PASS"\n
                "Chloroform","0.1 / 0.2","1","N/A","ND","PASS"\n
                "Dichloromethane (Methylene Chloride)","0.3 / 0.9","1","N/A","ND","PASS"\n
                "Trichloroethylene","0.1 / 0.3","1","N/A","ND","PASS"\n
                "1,2-Dichloroethane","0.05 / 0.1","1","N/A","ND","PASS"\n
                "Acetonitrile","2 / 7","410","N/A","ND","PASS"
                """
            ]
            [
              "type" => "heading"
              "lvl" => 1
              "value" => "Heavy Metals Analysis"
              "md" => "# Heavy Metals Analysis"
            ]
            [
              "type" => "text"
              "value" => """
                Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
                \n
                **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
                """
              "md" => """
                Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
                \n
                **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
                """
            ]
            [
              "type" => "heading"
              "lvl" => 2
              "value" => "Heavy Metals Test Results - 11/14/2024 ✅ PASS"
              "md" => "## Heavy Metals Test Results - 11/14/2024 ✅ PASS"
            ]
            [
              "type" => "table"
              "rows" => [
                [
                  "COMPOUND"
                  "LOD/LOQ (µg/g)"
                  "ACTION LIMIT (µg/g)"
                  "MEASUREMENT UNCERTAINTY (µg/g)"
                  "RESULT (µg/g)"
                  "RESULT"
                ]
                [
                  "Arsenic"
                  "0.02 / 0.1"
                  "1.5"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Cadmium"
                  "0.02 / 0.05"
                  "0.5"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Lead"
                  "0.04 / 0.1"
                  "0.5"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Mercury"
                  "0.002 / 0.01"
                  "3"
                  "N/A"
                  "ND"
                  "PASS"
                ]
              ]
              "md" => """
                | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
                | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
                | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
                | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
                | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
                | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |
                """
              "isPerfectTable" => true
              "csv" => """
                "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
                "Arsenic","0.02 / 0.1","1.5","N/A","ND","PASS"\n
                "Cadmium","0.02 / 0.05","0.5","N/A","ND","PASS"\n
                "Lead","0.04 / 0.1","0.5","N/A","ND","PASS"\n
                "Mercury","0.002 / 0.01","3","N/A","ND","PASS"
                """
            ]
            [
              "type" => "heading"
              "lvl" => 1
              "value" => "Microbiology Analysis"
              "md" => "# Microbiology Analysis"
            ]
            [
              "type" => "text"
              "value" => """
                PCR and Plating\n
                \n
                Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
                \n
                **Method:** QSP 1521 - Analysis of Microbiological Contaminants
                """
              "md" => """
                PCR and Plating\n
                \n
                Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
                \n
                **Method:** QSP 1521 - Analysis of Microbiological Contaminants
                """
            ]
            [
              "type" => "heading"
              "lvl" => 2
              "value" => "Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
              "md" => "## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
            ]
            [
              "type" => "table"
              "rows" => [
                [
                  "COMPOUND"
                  "ACTION LIMIT"
                  "RESULT"
                  "RESULT"
                ]
                [
                  "Listeria monocytogenes"
                  "ND"
                  "ND"
                  "PASS"
                ]
                [
                  "Salmonella spp."
                  "Not Detected in 1g"
                  "ND"
                  "PASS"
                ]
                [
                  "Shiga toxin-producing Escherichia coli"
                  "Not Detected in 1g"
                  "ND"
                  "PASS"
                ]
              ]
              "md" => """
                | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
                | -------------------------------------- | ------------------ | ------ | ------ |\n
                | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
                | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
                | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |
                """
              "isPerfectTable" => true
              "csv" => """
                "COMPOUND","ACTION LIMIT","RESULT","RESULT"\n
                "Listeria monocytogenes","ND","ND","PASS"\n
                "Salmonella spp.","Not Detected in 1g","ND","PASS"\n
                "Shiga toxin-producing Escherichia coli","Not Detected in 1g","ND","PASS"
                """
            ]
          ]
          "status" => "OK"
          "originalOrientationAngle" => 0
          "links" => []
          "triggeredAutoMode" => false
          "parsingMode" => "multimodal-openai-gpt4o"
          "structuredData" => null
          "noStructuredContent" => false
          "noTextContent" => false
        ]
      ]
      "job_metadata" => [
        "credits_used" => 0
        "job_credits_usage" => 0
        "job_pages" => 1
        "job_auto_mode_triggered_pages" => 0
        "job_is_cache_hit" => false
      ]
    ]
    -labName: "Laboratory ABC"
    -sampleName: "Pineapple Express Concentrate"
    -sampleMatrix: "concentrate"
    -internalPath: "/home/cbdextract/cbdextract.nw.agency/source/public/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
    -productType: "cannabis"
    -aILogs: Doctrine\ORM\PersistentCollection {#964 …}
    -products: Doctrine\ORM\PersistentCollection {#1018 …}
  }
  -primaryKeyName: "id"
  -primaryKeyValue: 858
  -permission: null
  -fields: EasyCorp\Bundle\EasyAdminBundle\Collection\FieldCollection {#1343 …}
  -actions: EasyCorp\Bundle\EasyAdminBundle\Collection\ActionCollection {#1719 …}
}
same as passed value
translation_domain
"messages"
same as passed value

Resolved Options

Option Value
action
""
allow_extra_fields
true
allow_file_upload
false
attr
[
  "class" => "ea-edit-form"
  "id" => "edit-LabReport-form"
]
attr_translation_parameters
[]
auto_initialize
true
block_name
null
block_prefix
null
by_reference
true
compound
true
constraints
[]
csrf_field_name
"_token"
csrf_message
"The CSRF token is invalid. Please try to resubmit the form."
csrf_protection
true
csrf_token_id
null
csrf_token_manager
Symfony\Component\Security\Csrf\CsrfTokenManager {#395
  -generator: Symfony\Component\Security\Csrf\TokenGenerator\UriSafeTokenGenerator {#396 …}
  -storage: Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage {#397 …}
  -namespace: Closure() {#399 …}
}
data
App\Entity\LabReport {#854
  -id: 858
  -name: "Broad Spectrum Dog Tincture Lab Report - Image 5"
  -externalUrl: "https://purecbdnc.com/cdn/shop/files/PawCBD_CBDBroadSpectrumDogTincture300mg_PeanutButterCOA5.jpg?v=1742236255"
  -source: null
  -type: "jpg"
  -project: Proxies\__CG__\App\Entity\Project {#903
    -id: 104
    -name: "pure cbd"
    -url: "https://purecbdnc.com/"
    -prompt: null
    -chatJson: null
    -externalLabReportsUrl: null
    -spiderSourceUrls: Doctrine\ORM\PersistentCollection {#1521 …}
    -productMatchingUrl: null
    -productUrls: Doctrine\ORM\PersistentCollection {#1556 …}
    -labReportSources: Doctrine\ORM\PersistentCollection {#1527 …}
    -labReports: Doctrine\ORM\PersistentCollection {#1558 …}
    -createdAt: DateTime @1744068184 {#1495
      date: 2025-04-07 23:23:04.0 UTC (+00:00)
    }
    -updatedAt: DateTime @1768199044 {#1485
      date: 2026-01-12 06:24:04.0 UTC (+00:00)
    }
    -spiderSourceMatchingUrls: null
    -state: "ready_to_hunt"
    -products: Doctrine\ORM\PersistentCollection {#1560 …}
    -productPages: Doctrine\ORM\PersistentCollection {#1581 …}
    -websiteFramework: "shopify"
    -debugData: "{"error":{"message":"DOMDocument::loadHTML(): Argument #1 ($source) must not be empty","trace":"#0 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/FrameworkHelper.php(346): DOMDocument->loadHTML()\n#1 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Crawler\/ProductHuntCrawlerObserver.php(134): App\\Helper\\FrameworkHelper->is_shopify_product_page()\n#2 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/CrawlObservers\/CrawlObserverCollection.php(28): App\\Crawler\\ProductHuntCrawlerObserver->crawled()\n#3 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(104): Spatie\\Crawler\\CrawlObservers\\CrawlObserverCollection->crawled()\n#4 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(70): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->handleCrawled()\n#5 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(173): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->__invoke()\n#6 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(209): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#7 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(158): GuzzleHttp\\Promise\\Promise::callHandler()\n#8 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/TaskQueue.php(52): GuzzleHttp\\Promise\\Promise::GuzzleHttp\\Promise\\{closure}()\n#9 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(167): GuzzleHttp\\Promise\\TaskQueue->run()\n#10 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(206): GuzzleHttp\\Handler\\CurlMultiHandler->tick()\n#11 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Handler\\CurlMultiHandler->execute()\n#12 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#13 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(272): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#14 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(229): GuzzleHttp\\Promise\\Promise->invokeWaitList()\n#15 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#16 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(109): GuzzleHttp\\Promise\\Promise->wait()\n#17 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#18 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#19 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#20 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(494): GuzzleHttp\\Promise\\Promise->wait()\n#21 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(443): Spatie\\Crawler\\Crawler->startCrawlingQueue()\n#22 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/CrawlerHelper.php(181): Spatie\\Crawler\\Crawler->startCrawling()\n#23 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/ProjectHelper.php(250): App\\Helper\\CrawlerHelper->crawlProjectProducts()\n#24 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Command\/Cron\/ProductHuntCommand.php(60): App\\Helper\\ProjectHelper->huntProducts()\n#25 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Command\/Command.php(279): App\\Command\\Cron\\ProductHuntCommand->execute()\n#26 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(1047): Symfony\\Component\\Console\\Command\\Command->run()\n#27 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(123): Symfony\\Component\\Console\\Application->doRunCommand()\n#28 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(316): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#29 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(77): Symfony\\Component\\Console\\Application->doRun()\n#30 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(167): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#31 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/runtime\/Runner\/Symfony\/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#32 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#33 \/home\/cbdextract\/cbdextract.nw.agency\/source\/bin\/console(15): require_once('...')\n#34 {main}"}}"
    -labReportFails: Doctrine\ORM\PersistentCollection {#1609 …}
    -productExcludePaths: null
    -aILogs: Doctrine\ORM\PersistentCollection {#1586 …}
    -user: null
    -aIBatchJobs: Doctrine\ORM\PersistentCollection {#1650 …}
    -lazyObjectState: Symfony\Component\VarExporter\Internal\LazyObjectState {#906 …}
  }
  -labReportSource: null
  -createdAt: DateTime @1748166689 {#848
    date: 2025-05-25 09:51:29.0 UTC (+00:00)
  }
  -updatedAt: DateTime @1748152342 {#845
    date: 2025-05-25 05:52:22.0 UTC (+00:00)
  }
  -category: null
  -state: "processed"
  -expiryDate: ""
  -extractionDate: "2024-11-13"
  -thcaPercentage: "0"
  -totalThcPercentage: "0"
  -deltaNinePercentage: "0"
  -deltaNineWithThcaCombined: "0"
  -comments: null
  -internalUrl: "https://cbdextract.nw.agency/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
  -markdownContent: ""# Residual Solvents Analysis\n\nResidual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n\n**Method:** QSP 1204 - Analysis of Residual Solvents by GC\/MS\n\n## Residual Solvents Test Results - 11\/13\/2024 \u2705 PASS\n\n| COMPOUND                             | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Propane                              | 10 \/ 20        | 5000                | N\/A                            | ND            | PASS   |\n| n-Butane                             | 10 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Pentane                            | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Hexane                             | 2 \/ 5          | 290                 | N\/A                            | ND            | PASS   |\n| n-Heptane                            | 20 \/ 60        | 5000                | N\/A                            | ND            | PASS   |\n| Benzene                              | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Toluene                              | 7 \/ 21         | 890                 | N\/A                            | ND            | PASS   |\n| Total Xylenes                        | 50 \/ 160       | 2170                | N\/A                            | ND            | PASS   |\n| Methanol                             | 50 \/ 200       | 3000                | N\/A                            | ND            | PASS   |\n| Ethanol                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| 2-Propanol (Isopropyl Alcohol)       | 10 \/ 40        | 5000                | N\/A                            | ND            | PASS   |\n| Acetone                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethyl Ether                          | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethylene Oxide                       | 0.3 \/ 0.8      | 1                   | N\/A                            | ND            | PASS   |\n| Ethyl Acetate                        | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Chloroform                           | 0.1 \/ 0.2      | 1                   | N\/A                            | ND            | PASS   |\n| Dichloromethane (Methylene Chloride) | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Trichloroethylene                    | 0.1 \/ 0.3      | 1                   | N\/A                            | ND            | PASS   |\n| 1,2-Dichloroethane                   | 0.05 \/ 0.1     | 1                   | N\/A                            | ND            | PASS   |\n| Acetonitrile                         | 2 \/ 7          | 410                 | N\/A                            | ND            | PASS   |\n\n\n# Heavy Metals Analysis\n\nHeavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n\n**Method:** QSP 1150 - Analysis of Heavy Metals by ICP\/MS\n\n## Heavy Metals Test Results - 11\/14\/2024 \u2705 PASS\n\n| COMPOUND | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Arsenic  | 0.02 \/ 0.1     | 1.5                 | N\/A                            | ND            | PASS   |\n| Cadmium  | 0.02 \/ 0.05    | 0.5                 | N\/A                            | ND            | PASS   |\n| Lead     | 0.04 \/ 0.1     | 0.5                 | N\/A                            | ND            | PASS   |\n| Mercury  | 0.002 \/ 0.01   | 3                   | N\/A                            | ND            | PASS   |\n\n\n# Microbiology Analysis\n\nPCR and Plating\n\nAnalysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n\n**Method:** QSP 1521 - Analysis of Microbiological Contaminants\n\n## Microbiology Test Results (PCR) - 11\/17\/2024 \u2705 PASS\n\n| COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n| -------------------------------------- | ------------------ | ------ | ------ |\n| Listeria monocytogenes                 | ND                 | ND     | PASS   |\n| Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n| Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n""
  -debugData: null
  -jsonContent: [
    "pages" => [
      [
        "page" => 1
        "md" => """
          # Residual Solvents Analysis\n
          \n
          Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
          \n
          **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS\n
          \n
          ## Residual Solvents Test Results - 11/13/2024 ✅ PASS\n
          \n
          | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
          | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
          | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
          | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
          | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
          | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
          | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
          | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
          | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
          | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
          | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
          | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
          | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
          | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
          | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
          | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |\n
          \n
          \n
          # Heavy Metals Analysis\n
          \n
          Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
          \n
          **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS\n
          \n
          ## Heavy Metals Test Results - 11/14/2024 ✅ PASS\n
          \n
          | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
          | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
          | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
          | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
          | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
          | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |\n
          \n
          \n
          # Microbiology Analysis\n
          \n
          PCR and Plating\n
          \n
          Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
          \n
          **Method:** QSP 1521 - Analysis of Microbiological Contaminants\n
          \n
          ## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS\n
          \n
          | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
          | -------------------------------------- | ------------------ | ------ | ------ |\n
          | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
          | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
          | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n
          """
        "images" => [
          [
            "name" => "page_1.jpg"
            "height" => 0
            "width" => 0
            "x" => 0
            "y" => 0
            "type" => "full_page_screenshot"
          ]
        ]
        "charts" => []
        "items" => [
          [
            "type" => "heading"
            "lvl" => 1
            "value" => "Residual Solvents Analysis"
            "md" => "# Residual Solvents Analysis"
          ]
          [
            "type" => "text"
            "value" => """
              Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
              \n
              **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
              """
            "md" => """
              Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
              \n
              **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
              """
          ]
          [
            "type" => "heading"
            "lvl" => 2
            "value" => "Residual Solvents Test Results - 11/13/2024 ✅ PASS"
            "md" => "## Residual Solvents Test Results - 11/13/2024 ✅ PASS"
          ]
          [
            "type" => "table"
            "rows" => [
              [
                "COMPOUND"
                "LOD/LOQ (µg/g)"
                "ACTION LIMIT (µg/g)"
                "MEASUREMENT UNCERTAINTY (µg/g)"
                "RESULT (µg/g)"
                "RESULT"
              ]
              [
                "Propane"
                "10 / 20"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Butane"
                "10 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Pentane"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Hexane"
                "2 / 5"
                "290"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Heptane"
                "20 / 60"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Benzene"
                "0.3 / 0.9"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Toluene"
                "7 / 21"
                "890"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Total Xylenes"
                "50 / 160"
                "2170"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Methanol"
                "50 / 200"
                "3000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethanol"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "2-Propanol (Isopropyl Alcohol)"
                "10 / 40"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Acetone"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethyl Ether"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethylene Oxide"
                "0.3 / 0.8"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethyl Acetate"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Chloroform"
                "0.1 / 0.2"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Dichloromethane (Methylene Chloride)"
                "0.3 / 0.9"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Trichloroethylene"
                "0.1 / 0.3"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "1,2-Dichloroethane"
                "0.05 / 0.1"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Acetonitrile"
                "2 / 7"
                "410"
                "N/A"
                "ND"
                "PASS"
              ]
            ]
            "md" => """
              | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
              | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
              | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
              | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
              | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
              | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
              | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
              | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
              | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
              | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
              | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
              | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
              | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
              | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
              | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |
              """
            "isPerfectTable" => true
            "csv" => """
              "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
              "Propane","10 / 20","5000","N/A","ND","PASS"\n
              "n-Butane","10 / 50","5000","N/A","ND","PASS"\n
              "n-Pentane","20 / 50","5000","N/A","ND","PASS"\n
              "n-Hexane","2 / 5","290","N/A","ND","PASS"\n
              "n-Heptane","20 / 60","5000","N/A","ND","PASS"\n
              "Benzene","0.3 / 0.9","1","N/A","ND","PASS"\n
              "Toluene","7 / 21","890","N/A","ND","PASS"\n
              "Total Xylenes","50 / 160","2170","N/A","ND","PASS"\n
              "Methanol","50 / 200","3000","N/A","ND","PASS"\n
              "Ethanol","20 / 50","5000","N/A","ND","PASS"\n
              "2-Propanol (Isopropyl Alcohol)","10 / 40","5000","N/A","ND","PASS"\n
              "Acetone","20 / 50","5000","N/A","ND","PASS"\n
              "Ethyl Ether","20 / 50","5000","N/A","ND","PASS"\n
              "Ethylene Oxide","0.3 / 0.8","1","N/A","ND","PASS"\n
              "Ethyl Acetate","20 / 50","5000","N/A","ND","PASS"\n
              "Chloroform","0.1 / 0.2","1","N/A","ND","PASS"\n
              "Dichloromethane (Methylene Chloride)","0.3 / 0.9","1","N/A","ND","PASS"\n
              "Trichloroethylene","0.1 / 0.3","1","N/A","ND","PASS"\n
              "1,2-Dichloroethane","0.05 / 0.1","1","N/A","ND","PASS"\n
              "Acetonitrile","2 / 7","410","N/A","ND","PASS"
              """
          ]
          [
            "type" => "heading"
            "lvl" => 1
            "value" => "Heavy Metals Analysis"
            "md" => "# Heavy Metals Analysis"
          ]
          [
            "type" => "text"
            "value" => """
              Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
              \n
              **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
              """
            "md" => """
              Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
              \n
              **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
              """
          ]
          [
            "type" => "heading"
            "lvl" => 2
            "value" => "Heavy Metals Test Results - 11/14/2024 ✅ PASS"
            "md" => "## Heavy Metals Test Results - 11/14/2024 ✅ PASS"
          ]
          [
            "type" => "table"
            "rows" => [
              [
                "COMPOUND"
                "LOD/LOQ (µg/g)"
                "ACTION LIMIT (µg/g)"
                "MEASUREMENT UNCERTAINTY (µg/g)"
                "RESULT (µg/g)"
                "RESULT"
              ]
              [
                "Arsenic"
                "0.02 / 0.1"
                "1.5"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Cadmium"
                "0.02 / 0.05"
                "0.5"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Lead"
                "0.04 / 0.1"
                "0.5"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Mercury"
                "0.002 / 0.01"
                "3"
                "N/A"
                "ND"
                "PASS"
              ]
            ]
            "md" => """
              | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
              | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
              | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
              | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
              | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
              | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |
              """
            "isPerfectTable" => true
            "csv" => """
              "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
              "Arsenic","0.02 / 0.1","1.5","N/A","ND","PASS"\n
              "Cadmium","0.02 / 0.05","0.5","N/A","ND","PASS"\n
              "Lead","0.04 / 0.1","0.5","N/A","ND","PASS"\n
              "Mercury","0.002 / 0.01","3","N/A","ND","PASS"
              """
          ]
          [
            "type" => "heading"
            "lvl" => 1
            "value" => "Microbiology Analysis"
            "md" => "# Microbiology Analysis"
          ]
          [
            "type" => "text"
            "value" => """
              PCR and Plating\n
              \n
              Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
              \n
              **Method:** QSP 1521 - Analysis of Microbiological Contaminants
              """
            "md" => """
              PCR and Plating\n
              \n
              Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
              \n
              **Method:** QSP 1521 - Analysis of Microbiological Contaminants
              """
          ]
          [
            "type" => "heading"
            "lvl" => 2
            "value" => "Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
            "md" => "## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
          ]
          [
            "type" => "table"
            "rows" => [
              [
                "COMPOUND"
                "ACTION LIMIT"
                "RESULT"
                "RESULT"
              ]
              [
                "Listeria monocytogenes"
                "ND"
                "ND"
                "PASS"
              ]
              [
                "Salmonella spp."
                "Not Detected in 1g"
                "ND"
                "PASS"
              ]
              [
                "Shiga toxin-producing Escherichia coli"
                "Not Detected in 1g"
                "ND"
                "PASS"
              ]
            ]
            "md" => """
              | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
              | -------------------------------------- | ------------------ | ------ | ------ |\n
              | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
              | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
              | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |
              """
            "isPerfectTable" => true
            "csv" => """
              "COMPOUND","ACTION LIMIT","RESULT","RESULT"\n
              "Listeria monocytogenes","ND","ND","PASS"\n
              "Salmonella spp.","Not Detected in 1g","ND","PASS"\n
              "Shiga toxin-producing Escherichia coli","Not Detected in 1g","ND","PASS"
              """
          ]
        ]
        "status" => "OK"
        "originalOrientationAngle" => 0
        "links" => []
        "triggeredAutoMode" => false
        "parsingMode" => "multimodal-openai-gpt4o"
        "structuredData" => null
        "noStructuredContent" => false
        "noTextContent" => false
      ]
    ]
    "job_metadata" => [
      "credits_used" => 0
      "job_credits_usage" => 0
      "job_pages" => 1
      "job_auto_mode_triggered_pages" => 0
      "job_is_cache_hit" => false
    ]
  ]
  -labName: "Laboratory ABC"
  -sampleName: "Pineapple Express Concentrate"
  -sampleMatrix: "concentrate"
  -internalPath: "/home/cbdextract/cbdextract.nw.agency/source/public/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
  -productType: "cannabis"
  -aILogs: Doctrine\ORM\PersistentCollection {#964 …}
  -products: Doctrine\ORM\PersistentCollection {#1018 …}
}
data_class
"App\Entity\LabReport"
disabled
false
empty_data
Closure(FormInterface $form) {#1771
  class: "Symfony\Component\Form\Extension\Core\Type\FormType"
  use: {
    $class: "App\Entity\LabReport"
  }
}
entityDto
EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto {#844
  -isAccessible: true
  -fqcn: "App\Entity\LabReport"
  -metadata: Doctrine\ORM\Mapping\ClassMetadata {#691 …}
  -instance: App\Entity\LabReport {#854
    -id: 858
    -name: "Broad Spectrum Dog Tincture Lab Report - Image 5"
    -externalUrl: "https://purecbdnc.com/cdn/shop/files/PawCBD_CBDBroadSpectrumDogTincture300mg_PeanutButterCOA5.jpg?v=1742236255"
    -source: null
    -type: "jpg"
    -project: Proxies\__CG__\App\Entity\Project {#903
      -id: 104
      -name: "pure cbd"
      -url: "https://purecbdnc.com/"
      -prompt: null
      -chatJson: null
      -externalLabReportsUrl: null
      -spiderSourceUrls: Doctrine\ORM\PersistentCollection {#1521 …}
      -productMatchingUrl: null
      -productUrls: Doctrine\ORM\PersistentCollection {#1556 …}
      -labReportSources: Doctrine\ORM\PersistentCollection {#1527 …}
      -labReports: Doctrine\ORM\PersistentCollection {#1558 …}
      -createdAt: DateTime @1744068184 {#1495
        date: 2025-04-07 23:23:04.0 UTC (+00:00)
      }
      -updatedAt: DateTime @1768199044 {#1485
        date: 2026-01-12 06:24:04.0 UTC (+00:00)
      }
      -spiderSourceMatchingUrls: null
      -state: "ready_to_hunt"
      -products: Doctrine\ORM\PersistentCollection {#1560 …}
      -productPages: Doctrine\ORM\PersistentCollection {#1581 …}
      -websiteFramework: "shopify"
      -debugData: "{"error":{"message":"DOMDocument::loadHTML(): Argument #1 ($source) must not be empty","trace":"#0 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/FrameworkHelper.php(346): DOMDocument->loadHTML()\n#1 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Crawler\/ProductHuntCrawlerObserver.php(134): App\\Helper\\FrameworkHelper->is_shopify_product_page()\n#2 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/CrawlObservers\/CrawlObserverCollection.php(28): App\\Crawler\\ProductHuntCrawlerObserver->crawled()\n#3 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(104): Spatie\\Crawler\\CrawlObservers\\CrawlObserverCollection->crawled()\n#4 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(70): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->handleCrawled()\n#5 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(173): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->__invoke()\n#6 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(209): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#7 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(158): GuzzleHttp\\Promise\\Promise::callHandler()\n#8 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/TaskQueue.php(52): GuzzleHttp\\Promise\\Promise::GuzzleHttp\\Promise\\{closure}()\n#9 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(167): GuzzleHttp\\Promise\\TaskQueue->run()\n#10 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(206): GuzzleHttp\\Handler\\CurlMultiHandler->tick()\n#11 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Handler\\CurlMultiHandler->execute()\n#12 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#13 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(272): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#14 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(229): GuzzleHttp\\Promise\\Promise->invokeWaitList()\n#15 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#16 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(109): GuzzleHttp\\Promise\\Promise->wait()\n#17 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#18 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#19 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#20 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(494): GuzzleHttp\\Promise\\Promise->wait()\n#21 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(443): Spatie\\Crawler\\Crawler->startCrawlingQueue()\n#22 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/CrawlerHelper.php(181): Spatie\\Crawler\\Crawler->startCrawling()\n#23 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/ProjectHelper.php(250): App\\Helper\\CrawlerHelper->crawlProjectProducts()\n#24 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Command\/Cron\/ProductHuntCommand.php(60): App\\Helper\\ProjectHelper->huntProducts()\n#25 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Command\/Command.php(279): App\\Command\\Cron\\ProductHuntCommand->execute()\n#26 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(1047): Symfony\\Component\\Console\\Command\\Command->run()\n#27 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(123): Symfony\\Component\\Console\\Application->doRunCommand()\n#28 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(316): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#29 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(77): Symfony\\Component\\Console\\Application->doRun()\n#30 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(167): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#31 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/runtime\/Runner\/Symfony\/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#32 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#33 \/home\/cbdextract\/cbdextract.nw.agency\/source\/bin\/console(15): require_once('...')\n#34 {main}"}}"
      -labReportFails: Doctrine\ORM\PersistentCollection {#1609 …}
      -productExcludePaths: null
      -aILogs: Doctrine\ORM\PersistentCollection {#1586 …}
      -user: null
      -aIBatchJobs: Doctrine\ORM\PersistentCollection {#1650 …}
      -lazyObjectState: Symfony\Component\VarExporter\Internal\LazyObjectState {#906 …}
    }
    -labReportSource: null
    -createdAt: DateTime @1748166689 {#848
      date: 2025-05-25 09:51:29.0 UTC (+00:00)
    }
    -updatedAt: DateTime @1748152342 {#845
      date: 2025-05-25 05:52:22.0 UTC (+00:00)
    }
    -category: null
    -state: "processed"
    -expiryDate: ""
    -extractionDate: "2024-11-13"
    -thcaPercentage: "0"
    -totalThcPercentage: "0"
    -deltaNinePercentage: "0"
    -deltaNineWithThcaCombined: "0"
    -comments: null
    -internalUrl: "https://cbdextract.nw.agency/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
    -markdownContent: ""# Residual Solvents Analysis\n\nResidual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n\n**Method:** QSP 1204 - Analysis of Residual Solvents by GC\/MS\n\n## Residual Solvents Test Results - 11\/13\/2024 \u2705 PASS\n\n| COMPOUND                             | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Propane                              | 10 \/ 20        | 5000                | N\/A                            | ND            | PASS   |\n| n-Butane                             | 10 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Pentane                            | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Hexane                             | 2 \/ 5          | 290                 | N\/A                            | ND            | PASS   |\n| n-Heptane                            | 20 \/ 60        | 5000                | N\/A                            | ND            | PASS   |\n| Benzene                              | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Toluene                              | 7 \/ 21         | 890                 | N\/A                            | ND            | PASS   |\n| Total Xylenes                        | 50 \/ 160       | 2170                | N\/A                            | ND            | PASS   |\n| Methanol                             | 50 \/ 200       | 3000                | N\/A                            | ND            | PASS   |\n| Ethanol                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| 2-Propanol (Isopropyl Alcohol)       | 10 \/ 40        | 5000                | N\/A                            | ND            | PASS   |\n| Acetone                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethyl Ether                          | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethylene Oxide                       | 0.3 \/ 0.8      | 1                   | N\/A                            | ND            | PASS   |\n| Ethyl Acetate                        | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Chloroform                           | 0.1 \/ 0.2      | 1                   | N\/A                            | ND            | PASS   |\n| Dichloromethane (Methylene Chloride) | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Trichloroethylene                    | 0.1 \/ 0.3      | 1                   | N\/A                            | ND            | PASS   |\n| 1,2-Dichloroethane                   | 0.05 \/ 0.1     | 1                   | N\/A                            | ND            | PASS   |\n| Acetonitrile                         | 2 \/ 7          | 410                 | N\/A                            | ND            | PASS   |\n\n\n# Heavy Metals Analysis\n\nHeavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n\n**Method:** QSP 1150 - Analysis of Heavy Metals by ICP\/MS\n\n## Heavy Metals Test Results - 11\/14\/2024 \u2705 PASS\n\n| COMPOUND | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Arsenic  | 0.02 \/ 0.1     | 1.5                 | N\/A                            | ND            | PASS   |\n| Cadmium  | 0.02 \/ 0.05    | 0.5                 | N\/A                            | ND            | PASS   |\n| Lead     | 0.04 \/ 0.1     | 0.5                 | N\/A                            | ND            | PASS   |\n| Mercury  | 0.002 \/ 0.01   | 3                   | N\/A                            | ND            | PASS   |\n\n\n# Microbiology Analysis\n\nPCR and Plating\n\nAnalysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n\n**Method:** QSP 1521 - Analysis of Microbiological Contaminants\n\n## Microbiology Test Results (PCR) - 11\/17\/2024 \u2705 PASS\n\n| COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n| -------------------------------------- | ------------------ | ------ | ------ |\n| Listeria monocytogenes                 | ND                 | ND     | PASS   |\n| Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n| Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n""
    -debugData: null
    -jsonContent: [
      "pages" => [
        [
          "page" => 1
          "md" => """
            # Residual Solvents Analysis\n
            \n
            Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
            \n
            **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS\n
            \n
            ## Residual Solvents Test Results - 11/13/2024 ✅ PASS\n
            \n
            | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
            | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
            | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
            | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
            | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
            | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
            | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
            | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
            | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
            | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
            | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
            | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
            | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
            | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
            | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
            | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
            | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
            | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
            | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
            | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
            | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
            | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |\n
            \n
            \n
            # Heavy Metals Analysis\n
            \n
            Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
            \n
            **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS\n
            \n
            ## Heavy Metals Test Results - 11/14/2024 ✅ PASS\n
            \n
            | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
            | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
            | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
            | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
            | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
            | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |\n
            \n
            \n
            # Microbiology Analysis\n
            \n
            PCR and Plating\n
            \n
            Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
            \n
            **Method:** QSP 1521 - Analysis of Microbiological Contaminants\n
            \n
            ## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS\n
            \n
            | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
            | -------------------------------------- | ------------------ | ------ | ------ |\n
            | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
            | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
            | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n
            """
          "images" => [
            [
              "name" => "page_1.jpg"
              "height" => 0
              "width" => 0
              "x" => 0
              "y" => 0
              "type" => "full_page_screenshot"
            ]
          ]
          "charts" => []
          "items" => [
            [
              "type" => "heading"
              "lvl" => 1
              "value" => "Residual Solvents Analysis"
              "md" => "# Residual Solvents Analysis"
            ]
            [
              "type" => "text"
              "value" => """
                Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
                \n
                **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
                """
              "md" => """
                Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
                \n
                **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
                """
            ]
            [
              "type" => "heading"
              "lvl" => 2
              "value" => "Residual Solvents Test Results - 11/13/2024 ✅ PASS"
              "md" => "## Residual Solvents Test Results - 11/13/2024 ✅ PASS"
            ]
            [
              "type" => "table"
              "rows" => [
                [
                  "COMPOUND"
                  "LOD/LOQ (µg/g)"
                  "ACTION LIMIT (µg/g)"
                  "MEASUREMENT UNCERTAINTY (µg/g)"
                  "RESULT (µg/g)"
                  "RESULT"
                ]
                [
                  "Propane"
                  "10 / 20"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "n-Butane"
                  "10 / 50"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "n-Pentane"
                  "20 / 50"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "n-Hexane"
                  "2 / 5"
                  "290"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "n-Heptane"
                  "20 / 60"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Benzene"
                  "0.3 / 0.9"
                  "1"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Toluene"
                  "7 / 21"
                  "890"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Total Xylenes"
                  "50 / 160"
                  "2170"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Methanol"
                  "50 / 200"
                  "3000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Ethanol"
                  "20 / 50"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "2-Propanol (Isopropyl Alcohol)"
                  "10 / 40"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Acetone"
                  "20 / 50"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Ethyl Ether"
                  "20 / 50"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Ethylene Oxide"
                  "0.3 / 0.8"
                  "1"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Ethyl Acetate"
                  "20 / 50"
                  "5000"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Chloroform"
                  "0.1 / 0.2"
                  "1"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Dichloromethane (Methylene Chloride)"
                  "0.3 / 0.9"
                  "1"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Trichloroethylene"
                  "0.1 / 0.3"
                  "1"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "1,2-Dichloroethane"
                  "0.05 / 0.1"
                  "1"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Acetonitrile"
                  "2 / 7"
                  "410"
                  "N/A"
                  "ND"
                  "PASS"
                ]
              ]
              "md" => """
                | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
                | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
                | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
                | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
                | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
                | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
                | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
                | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
                | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
                | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
                | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
                | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
                | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
                | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
                | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
                | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |
                """
              "isPerfectTable" => true
              "csv" => """
                "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
                "Propane","10 / 20","5000","N/A","ND","PASS"\n
                "n-Butane","10 / 50","5000","N/A","ND","PASS"\n
                "n-Pentane","20 / 50","5000","N/A","ND","PASS"\n
                "n-Hexane","2 / 5","290","N/A","ND","PASS"\n
                "n-Heptane","20 / 60","5000","N/A","ND","PASS"\n
                "Benzene","0.3 / 0.9","1","N/A","ND","PASS"\n
                "Toluene","7 / 21","890","N/A","ND","PASS"\n
                "Total Xylenes","50 / 160","2170","N/A","ND","PASS"\n
                "Methanol","50 / 200","3000","N/A","ND","PASS"\n
                "Ethanol","20 / 50","5000","N/A","ND","PASS"\n
                "2-Propanol (Isopropyl Alcohol)","10 / 40","5000","N/A","ND","PASS"\n
                "Acetone","20 / 50","5000","N/A","ND","PASS"\n
                "Ethyl Ether","20 / 50","5000","N/A","ND","PASS"\n
                "Ethylene Oxide","0.3 / 0.8","1","N/A","ND","PASS"\n
                "Ethyl Acetate","20 / 50","5000","N/A","ND","PASS"\n
                "Chloroform","0.1 / 0.2","1","N/A","ND","PASS"\n
                "Dichloromethane (Methylene Chloride)","0.3 / 0.9","1","N/A","ND","PASS"\n
                "Trichloroethylene","0.1 / 0.3","1","N/A","ND","PASS"\n
                "1,2-Dichloroethane","0.05 / 0.1","1","N/A","ND","PASS"\n
                "Acetonitrile","2 / 7","410","N/A","ND","PASS"
                """
            ]
            [
              "type" => "heading"
              "lvl" => 1
              "value" => "Heavy Metals Analysis"
              "md" => "# Heavy Metals Analysis"
            ]
            [
              "type" => "text"
              "value" => """
                Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
                \n
                **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
                """
              "md" => """
                Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
                \n
                **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
                """
            ]
            [
              "type" => "heading"
              "lvl" => 2
              "value" => "Heavy Metals Test Results - 11/14/2024 ✅ PASS"
              "md" => "## Heavy Metals Test Results - 11/14/2024 ✅ PASS"
            ]
            [
              "type" => "table"
              "rows" => [
                [
                  "COMPOUND"
                  "LOD/LOQ (µg/g)"
                  "ACTION LIMIT (µg/g)"
                  "MEASUREMENT UNCERTAINTY (µg/g)"
                  "RESULT (µg/g)"
                  "RESULT"
                ]
                [
                  "Arsenic"
                  "0.02 / 0.1"
                  "1.5"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Cadmium"
                  "0.02 / 0.05"
                  "0.5"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Lead"
                  "0.04 / 0.1"
                  "0.5"
                  "N/A"
                  "ND"
                  "PASS"
                ]
                [
                  "Mercury"
                  "0.002 / 0.01"
                  "3"
                  "N/A"
                  "ND"
                  "PASS"
                ]
              ]
              "md" => """
                | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
                | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
                | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
                | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
                | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
                | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |
                """
              "isPerfectTable" => true
              "csv" => """
                "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
                "Arsenic","0.02 / 0.1","1.5","N/A","ND","PASS"\n
                "Cadmium","0.02 / 0.05","0.5","N/A","ND","PASS"\n
                "Lead","0.04 / 0.1","0.5","N/A","ND","PASS"\n
                "Mercury","0.002 / 0.01","3","N/A","ND","PASS"
                """
            ]
            [
              "type" => "heading"
              "lvl" => 1
              "value" => "Microbiology Analysis"
              "md" => "# Microbiology Analysis"
            ]
            [
              "type" => "text"
              "value" => """
                PCR and Plating\n
                \n
                Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
                \n
                **Method:** QSP 1521 - Analysis of Microbiological Contaminants
                """
              "md" => """
                PCR and Plating\n
                \n
                Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
                \n
                **Method:** QSP 1521 - Analysis of Microbiological Contaminants
                """
            ]
            [
              "type" => "heading"
              "lvl" => 2
              "value" => "Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
              "md" => "## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
            ]
            [
              "type" => "table"
              "rows" => [
                [
                  "COMPOUND"
                  "ACTION LIMIT"
                  "RESULT"
                  "RESULT"
                ]
                [
                  "Listeria monocytogenes"
                  "ND"
                  "ND"
                  "PASS"
                ]
                [
                  "Salmonella spp."
                  "Not Detected in 1g"
                  "ND"
                  "PASS"
                ]
                [
                  "Shiga toxin-producing Escherichia coli"
                  "Not Detected in 1g"
                  "ND"
                  "PASS"
                ]
              ]
              "md" => """
                | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
                | -------------------------------------- | ------------------ | ------ | ------ |\n
                | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
                | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
                | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |
                """
              "isPerfectTable" => true
              "csv" => """
                "COMPOUND","ACTION LIMIT","RESULT","RESULT"\n
                "Listeria monocytogenes","ND","ND","PASS"\n
                "Salmonella spp.","Not Detected in 1g","ND","PASS"\n
                "Shiga toxin-producing Escherichia coli","Not Detected in 1g","ND","PASS"
                """
            ]
          ]
          "status" => "OK"
          "originalOrientationAngle" => 0
          "links" => []
          "triggeredAutoMode" => false
          "parsingMode" => "multimodal-openai-gpt4o"
          "structuredData" => null
          "noStructuredContent" => false
          "noTextContent" => false
        ]
      ]
      "job_metadata" => [
        "credits_used" => 0
        "job_credits_usage" => 0
        "job_pages" => 1
        "job_auto_mode_triggered_pages" => 0
        "job_is_cache_hit" => false
      ]
    ]
    -labName: "Laboratory ABC"
    -sampleName: "Pineapple Express Concentrate"
    -sampleMatrix: "concentrate"
    -internalPath: "/home/cbdextract/cbdextract.nw.agency/source/public/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
    -productType: "cannabis"
    -aILogs: Doctrine\ORM\PersistentCollection {#964 …}
    -products: Doctrine\ORM\PersistentCollection {#1018 …}
  }
  -primaryKeyName: "id"
  -primaryKeyValue: 858
  -permission: null
  -fields: EasyCorp\Bundle\EasyAdminBundle\Collection\FieldCollection {#1343 …}
  -actions: EasyCorp\Bundle\EasyAdminBundle\Collection\ActionCollection {#1719 …}
}
error_bubbling
true
error_mapping
[]
extra_fields_message
"This form should not contain extra fields."
form_attr
false
getter
null
help
null
help_attr
[]
help_html
false
help_translation_parameters
[]
inherit_data
false
invalid_message
"This value is not valid."
invalid_message_parameters
[]
is_empty_callback
null
label
null
label_attr
[]
label_format
null
label_html
false
label_translation_parameters
[]
mapped
true
method
"POST"
post_max_size_message
"The uploaded file was too large. Please try to upload a smaller file."
priority
0
property_path
null
required
true
row_attr
[]
setter
null
translation_domain
"messages"
trim
true
upload_max_size_message
Closure() {#1773
  class: "Symfony\Component\Form\Extension\Validator\Type\UploadValidatorExtension"
  use: {
    $translator: Symfony\Component\Translation\DataCollectorTranslator {#65 …}
    $message: Closure() {#1770 …}
    $translationDomain: "validators"
  }
}
validation_groups
null

View Vars

Variable Value
action
""
attr
[
  "class" => "ea-edit-form"
  "id" => "edit-LabReport-form"
]
attr_translation_parameters
[]
block_prefixes
[
  "form"
  "ea_crud"
  "_LabReport"
]
cache_key
"_LabReport_ea_crud"
compound
true
data
App\Entity\LabReport {#854
  -id: 858
  -name: "Broad Spectrum Dog Tincture Lab Report - Image 5"
  -externalUrl: "https://purecbdnc.com/cdn/shop/files/PawCBD_CBDBroadSpectrumDogTincture300mg_PeanutButterCOA5.jpg?v=1742236255"
  -source: null
  -type: "jpg"
  -project: Proxies\__CG__\App\Entity\Project {#903
    -id: 104
    -name: "pure cbd"
    -url: "https://purecbdnc.com/"
    -prompt: null
    -chatJson: null
    -externalLabReportsUrl: null
    -spiderSourceUrls: Doctrine\ORM\PersistentCollection {#1521 …}
    -productMatchingUrl: null
    -productUrls: Doctrine\ORM\PersistentCollection {#1556 …}
    -labReportSources: Doctrine\ORM\PersistentCollection {#1527 …}
    -labReports: Doctrine\ORM\PersistentCollection {#1558 …}
    -createdAt: DateTime @1744068184 {#1495
      date: 2025-04-07 23:23:04.0 UTC (+00:00)
    }
    -updatedAt: DateTime @1768199044 {#1485
      date: 2026-01-12 06:24:04.0 UTC (+00:00)
    }
    -spiderSourceMatchingUrls: null
    -state: "ready_to_hunt"
    -products: Doctrine\ORM\PersistentCollection {#1560 …}
    -productPages: Doctrine\ORM\PersistentCollection {#1581 …}
    -websiteFramework: "shopify"
    -debugData: "{"error":{"message":"DOMDocument::loadHTML(): Argument #1 ($source) must not be empty","trace":"#0 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/FrameworkHelper.php(346): DOMDocument->loadHTML()\n#1 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Crawler\/ProductHuntCrawlerObserver.php(134): App\\Helper\\FrameworkHelper->is_shopify_product_page()\n#2 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/CrawlObservers\/CrawlObserverCollection.php(28): App\\Crawler\\ProductHuntCrawlerObserver->crawled()\n#3 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(104): Spatie\\Crawler\\CrawlObservers\\CrawlObserverCollection->crawled()\n#4 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(70): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->handleCrawled()\n#5 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(173): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->__invoke()\n#6 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(209): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#7 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(158): GuzzleHttp\\Promise\\Promise::callHandler()\n#8 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/TaskQueue.php(52): GuzzleHttp\\Promise\\Promise::GuzzleHttp\\Promise\\{closure}()\n#9 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(167): GuzzleHttp\\Promise\\TaskQueue->run()\n#10 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(206): GuzzleHttp\\Handler\\CurlMultiHandler->tick()\n#11 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Handler\\CurlMultiHandler->execute()\n#12 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#13 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(272): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#14 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(229): GuzzleHttp\\Promise\\Promise->invokeWaitList()\n#15 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#16 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(109): GuzzleHttp\\Promise\\Promise->wait()\n#17 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#18 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#19 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#20 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(494): GuzzleHttp\\Promise\\Promise->wait()\n#21 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(443): Spatie\\Crawler\\Crawler->startCrawlingQueue()\n#22 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/CrawlerHelper.php(181): Spatie\\Crawler\\Crawler->startCrawling()\n#23 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/ProjectHelper.php(250): App\\Helper\\CrawlerHelper->crawlProjectProducts()\n#24 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Command\/Cron\/ProductHuntCommand.php(60): App\\Helper\\ProjectHelper->huntProducts()\n#25 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Command\/Command.php(279): App\\Command\\Cron\\ProductHuntCommand->execute()\n#26 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(1047): Symfony\\Component\\Console\\Command\\Command->run()\n#27 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(123): Symfony\\Component\\Console\\Application->doRunCommand()\n#28 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(316): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#29 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(77): Symfony\\Component\\Console\\Application->doRun()\n#30 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(167): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#31 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/runtime\/Runner\/Symfony\/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#32 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#33 \/home\/cbdextract\/cbdextract.nw.agency\/source\/bin\/console(15): require_once('...')\n#34 {main}"}}"
    -labReportFails: Doctrine\ORM\PersistentCollection {#1609 …}
    -productExcludePaths: null
    -aILogs: Doctrine\ORM\PersistentCollection {#1586 …}
    -user: null
    -aIBatchJobs: Doctrine\ORM\PersistentCollection {#1650 …}
    -lazyObjectState: Symfony\Component\VarExporter\Internal\LazyObjectState {#906 …}
  }
  -labReportSource: null
  -createdAt: DateTime @1748166689 {#848
    date: 2025-05-25 09:51:29.0 UTC (+00:00)
  }
  -updatedAt: DateTime @1748152342 {#845
    date: 2025-05-25 05:52:22.0 UTC (+00:00)
  }
  -category: null
  -state: "processed"
  -expiryDate: ""
  -extractionDate: "2024-11-13"
  -thcaPercentage: "0"
  -totalThcPercentage: "0"
  -deltaNinePercentage: "0"
  -deltaNineWithThcaCombined: "0"
  -comments: null
  -internalUrl: "https://cbdextract.nw.agency/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
  -markdownContent: ""# Residual Solvents Analysis\n\nResidual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n\n**Method:** QSP 1204 - Analysis of Residual Solvents by GC\/MS\n\n## Residual Solvents Test Results - 11\/13\/2024 \u2705 PASS\n\n| COMPOUND                             | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Propane                              | 10 \/ 20        | 5000                | N\/A                            | ND            | PASS   |\n| n-Butane                             | 10 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Pentane                            | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Hexane                             | 2 \/ 5          | 290                 | N\/A                            | ND            | PASS   |\n| n-Heptane                            | 20 \/ 60        | 5000                | N\/A                            | ND            | PASS   |\n| Benzene                              | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Toluene                              | 7 \/ 21         | 890                 | N\/A                            | ND            | PASS   |\n| Total Xylenes                        | 50 \/ 160       | 2170                | N\/A                            | ND            | PASS   |\n| Methanol                             | 50 \/ 200       | 3000                | N\/A                            | ND            | PASS   |\n| Ethanol                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| 2-Propanol (Isopropyl Alcohol)       | 10 \/ 40        | 5000                | N\/A                            | ND            | PASS   |\n| Acetone                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethyl Ether                          | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethylene Oxide                       | 0.3 \/ 0.8      | 1                   | N\/A                            | ND            | PASS   |\n| Ethyl Acetate                        | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Chloroform                           | 0.1 \/ 0.2      | 1                   | N\/A                            | ND            | PASS   |\n| Dichloromethane (Methylene Chloride) | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Trichloroethylene                    | 0.1 \/ 0.3      | 1                   | N\/A                            | ND            | PASS   |\n| 1,2-Dichloroethane                   | 0.05 \/ 0.1     | 1                   | N\/A                            | ND            | PASS   |\n| Acetonitrile                         | 2 \/ 7          | 410                 | N\/A                            | ND            | PASS   |\n\n\n# Heavy Metals Analysis\n\nHeavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n\n**Method:** QSP 1150 - Analysis of Heavy Metals by ICP\/MS\n\n## Heavy Metals Test Results - 11\/14\/2024 \u2705 PASS\n\n| COMPOUND | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Arsenic  | 0.02 \/ 0.1     | 1.5                 | N\/A                            | ND            | PASS   |\n| Cadmium  | 0.02 \/ 0.05    | 0.5                 | N\/A                            | ND            | PASS   |\n| Lead     | 0.04 \/ 0.1     | 0.5                 | N\/A                            | ND            | PASS   |\n| Mercury  | 0.002 \/ 0.01   | 3                   | N\/A                            | ND            | PASS   |\n\n\n# Microbiology Analysis\n\nPCR and Plating\n\nAnalysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n\n**Method:** QSP 1521 - Analysis of Microbiological Contaminants\n\n## Microbiology Test Results (PCR) - 11\/17\/2024 \u2705 PASS\n\n| COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n| -------------------------------------- | ------------------ | ------ | ------ |\n| Listeria monocytogenes                 | ND                 | ND     | PASS   |\n| Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n| Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n""
  -debugData: null
  -jsonContent: [
    "pages" => [
      [
        "page" => 1
        "md" => """
          # Residual Solvents Analysis\n
          \n
          Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
          \n
          **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS\n
          \n
          ## Residual Solvents Test Results - 11/13/2024 ✅ PASS\n
          \n
          | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
          | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
          | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
          | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
          | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
          | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
          | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
          | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
          | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
          | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
          | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
          | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
          | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
          | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
          | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
          | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |\n
          \n
          \n
          # Heavy Metals Analysis\n
          \n
          Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
          \n
          **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS\n
          \n
          ## Heavy Metals Test Results - 11/14/2024 ✅ PASS\n
          \n
          | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
          | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
          | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
          | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
          | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
          | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |\n
          \n
          \n
          # Microbiology Analysis\n
          \n
          PCR and Plating\n
          \n
          Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
          \n
          **Method:** QSP 1521 - Analysis of Microbiological Contaminants\n
          \n
          ## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS\n
          \n
          | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
          | -------------------------------------- | ------------------ | ------ | ------ |\n
          | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
          | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
          | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n
          """
        "images" => [
          [
            "name" => "page_1.jpg"
            "height" => 0
            "width" => 0
            "x" => 0
            "y" => 0
            "type" => "full_page_screenshot"
          ]
        ]
        "charts" => []
        "items" => [
          [
            "type" => "heading"
            "lvl" => 1
            "value" => "Residual Solvents Analysis"
            "md" => "# Residual Solvents Analysis"
          ]
          [
            "type" => "text"
            "value" => """
              Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
              \n
              **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
              """
            "md" => """
              Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
              \n
              **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
              """
          ]
          [
            "type" => "heading"
            "lvl" => 2
            "value" => "Residual Solvents Test Results - 11/13/2024 ✅ PASS"
            "md" => "## Residual Solvents Test Results - 11/13/2024 ✅ PASS"
          ]
          [
            "type" => "table"
            "rows" => [
              [
                "COMPOUND"
                "LOD/LOQ (µg/g)"
                "ACTION LIMIT (µg/g)"
                "MEASUREMENT UNCERTAINTY (µg/g)"
                "RESULT (µg/g)"
                "RESULT"
              ]
              [
                "Propane"
                "10 / 20"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Butane"
                "10 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Pentane"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Hexane"
                "2 / 5"
                "290"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Heptane"
                "20 / 60"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Benzene"
                "0.3 / 0.9"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Toluene"
                "7 / 21"
                "890"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Total Xylenes"
                "50 / 160"
                "2170"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Methanol"
                "50 / 200"
                "3000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethanol"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "2-Propanol (Isopropyl Alcohol)"
                "10 / 40"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Acetone"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethyl Ether"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethylene Oxide"
                "0.3 / 0.8"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethyl Acetate"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Chloroform"
                "0.1 / 0.2"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Dichloromethane (Methylene Chloride)"
                "0.3 / 0.9"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Trichloroethylene"
                "0.1 / 0.3"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "1,2-Dichloroethane"
                "0.05 / 0.1"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Acetonitrile"
                "2 / 7"
                "410"
                "N/A"
                "ND"
                "PASS"
              ]
            ]
            "md" => """
              | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
              | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
              | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
              | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
              | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
              | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
              | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
              | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
              | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
              | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
              | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
              | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
              | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
              | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
              | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |
              """
            "isPerfectTable" => true
            "csv" => """
              "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
              "Propane","10 / 20","5000","N/A","ND","PASS"\n
              "n-Butane","10 / 50","5000","N/A","ND","PASS"\n
              "n-Pentane","20 / 50","5000","N/A","ND","PASS"\n
              "n-Hexane","2 / 5","290","N/A","ND","PASS"\n
              "n-Heptane","20 / 60","5000","N/A","ND","PASS"\n
              "Benzene","0.3 / 0.9","1","N/A","ND","PASS"\n
              "Toluene","7 / 21","890","N/A","ND","PASS"\n
              "Total Xylenes","50 / 160","2170","N/A","ND","PASS"\n
              "Methanol","50 / 200","3000","N/A","ND","PASS"\n
              "Ethanol","20 / 50","5000","N/A","ND","PASS"\n
              "2-Propanol (Isopropyl Alcohol)","10 / 40","5000","N/A","ND","PASS"\n
              "Acetone","20 / 50","5000","N/A","ND","PASS"\n
              "Ethyl Ether","20 / 50","5000","N/A","ND","PASS"\n
              "Ethylene Oxide","0.3 / 0.8","1","N/A","ND","PASS"\n
              "Ethyl Acetate","20 / 50","5000","N/A","ND","PASS"\n
              "Chloroform","0.1 / 0.2","1","N/A","ND","PASS"\n
              "Dichloromethane (Methylene Chloride)","0.3 / 0.9","1","N/A","ND","PASS"\n
              "Trichloroethylene","0.1 / 0.3","1","N/A","ND","PASS"\n
              "1,2-Dichloroethane","0.05 / 0.1","1","N/A","ND","PASS"\n
              "Acetonitrile","2 / 7","410","N/A","ND","PASS"
              """
          ]
          [
            "type" => "heading"
            "lvl" => 1
            "value" => "Heavy Metals Analysis"
            "md" => "# Heavy Metals Analysis"
          ]
          [
            "type" => "text"
            "value" => """
              Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
              \n
              **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
              """
            "md" => """
              Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
              \n
              **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
              """
          ]
          [
            "type" => "heading"
            "lvl" => 2
            "value" => "Heavy Metals Test Results - 11/14/2024 ✅ PASS"
            "md" => "## Heavy Metals Test Results - 11/14/2024 ✅ PASS"
          ]
          [
            "type" => "table"
            "rows" => [
              [
                "COMPOUND"
                "LOD/LOQ (µg/g)"
                "ACTION LIMIT (µg/g)"
                "MEASUREMENT UNCERTAINTY (µg/g)"
                "RESULT (µg/g)"
                "RESULT"
              ]
              [
                "Arsenic"
                "0.02 / 0.1"
                "1.5"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Cadmium"
                "0.02 / 0.05"
                "0.5"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Lead"
                "0.04 / 0.1"
                "0.5"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Mercury"
                "0.002 / 0.01"
                "3"
                "N/A"
                "ND"
                "PASS"
              ]
            ]
            "md" => """
              | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
              | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
              | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
              | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
              | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
              | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |
              """
            "isPerfectTable" => true
            "csv" => """
              "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
              "Arsenic","0.02 / 0.1","1.5","N/A","ND","PASS"\n
              "Cadmium","0.02 / 0.05","0.5","N/A","ND","PASS"\n
              "Lead","0.04 / 0.1","0.5","N/A","ND","PASS"\n
              "Mercury","0.002 / 0.01","3","N/A","ND","PASS"
              """
          ]
          [
            "type" => "heading"
            "lvl" => 1
            "value" => "Microbiology Analysis"
            "md" => "# Microbiology Analysis"
          ]
          [
            "type" => "text"
            "value" => """
              PCR and Plating\n
              \n
              Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
              \n
              **Method:** QSP 1521 - Analysis of Microbiological Contaminants
              """
            "md" => """
              PCR and Plating\n
              \n
              Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
              \n
              **Method:** QSP 1521 - Analysis of Microbiological Contaminants
              """
          ]
          [
            "type" => "heading"
            "lvl" => 2
            "value" => "Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
            "md" => "## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
          ]
          [
            "type" => "table"
            "rows" => [
              [
                "COMPOUND"
                "ACTION LIMIT"
                "RESULT"
                "RESULT"
              ]
              [
                "Listeria monocytogenes"
                "ND"
                "ND"
                "PASS"
              ]
              [
                "Salmonella spp."
                "Not Detected in 1g"
                "ND"
                "PASS"
              ]
              [
                "Shiga toxin-producing Escherichia coli"
                "Not Detected in 1g"
                "ND"
                "PASS"
              ]
            ]
            "md" => """
              | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
              | -------------------------------------- | ------------------ | ------ | ------ |\n
              | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
              | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
              | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |
              """
            "isPerfectTable" => true
            "csv" => """
              "COMPOUND","ACTION LIMIT","RESULT","RESULT"\n
              "Listeria monocytogenes","ND","ND","PASS"\n
              "Salmonella spp.","Not Detected in 1g","ND","PASS"\n
              "Shiga toxin-producing Escherichia coli","Not Detected in 1g","ND","PASS"
              """
          ]
        ]
        "status" => "OK"
        "originalOrientationAngle" => 0
        "links" => []
        "triggeredAutoMode" => false
        "parsingMode" => "multimodal-openai-gpt4o"
        "structuredData" => null
        "noStructuredContent" => false
        "noTextContent" => false
      ]
    ]
    "job_metadata" => [
      "credits_used" => 0
      "job_credits_usage" => 0
      "job_pages" => 1
      "job_auto_mode_triggered_pages" => 0
      "job_is_cache_hit" => false
    ]
  ]
  -labName: "Laboratory ABC"
  -sampleName: "Pineapple Express Concentrate"
  -sampleMatrix: "concentrate"
  -internalPath: "/home/cbdextract/cbdextract.nw.agency/source/public/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
  -productType: "cannabis"
  -aILogs: Doctrine\ORM\PersistentCollection {#964 …}
  -products: Doctrine\ORM\PersistentCollection {#1018 …}
}
disabled
false
ea_crud_form
[
  "assets" => "** This variable no longer stores field assets. Instead, use "ea.crud.fieldAssets()" in your Twig template."
  "entity" => EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto {#844
    -isAccessible: true
    -fqcn: "App\Entity\LabReport"
    -metadata: Doctrine\ORM\Mapping\ClassMetadata {#691 …}
    -instance: App\Entity\LabReport {#854
      -id: 858
      -name: "Broad Spectrum Dog Tincture Lab Report - Image 5"
      -externalUrl: "https://purecbdnc.com/cdn/shop/files/PawCBD_CBDBroadSpectrumDogTincture300mg_PeanutButterCOA5.jpg?v=1742236255"
      -source: null
      -type: "jpg"
      -project: Proxies\__CG__\App\Entity\Project {#903
        -id: 104
        -name: "pure cbd"
        -url: "https://purecbdnc.com/"
        -prompt: null
        -chatJson: null
        -externalLabReportsUrl: null
        -spiderSourceUrls: Doctrine\ORM\PersistentCollection {#1521 …}
        -productMatchingUrl: null
        -productUrls: Doctrine\ORM\PersistentCollection {#1556 …}
        -labReportSources: Doctrine\ORM\PersistentCollection {#1527 …}
        -labReports: Doctrine\ORM\PersistentCollection {#1558 …}
        -createdAt: DateTime @1744068184 {#1495
          date: 2025-04-07 23:23:04.0 UTC (+00:00)
        }
        -updatedAt: DateTime @1768199044 {#1485
          date: 2026-01-12 06:24:04.0 UTC (+00:00)
        }
        -spiderSourceMatchingUrls: null
        -state: "ready_to_hunt"
        -products: Doctrine\ORM\PersistentCollection {#1560 …}
        -productPages: Doctrine\ORM\PersistentCollection {#1581 …}
        -websiteFramework: "shopify"
        -debugData: "{"error":{"message":"DOMDocument::loadHTML(): Argument #1 ($source) must not be empty","trace":"#0 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/FrameworkHelper.php(346): DOMDocument->loadHTML()\n#1 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Crawler\/ProductHuntCrawlerObserver.php(134): App\\Helper\\FrameworkHelper->is_shopify_product_page()\n#2 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/CrawlObservers\/CrawlObserverCollection.php(28): App\\Crawler\\ProductHuntCrawlerObserver->crawled()\n#3 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(104): Spatie\\Crawler\\CrawlObservers\\CrawlObserverCollection->crawled()\n#4 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(70): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->handleCrawled()\n#5 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(173): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->__invoke()\n#6 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(209): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#7 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(158): GuzzleHttp\\Promise\\Promise::callHandler()\n#8 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/TaskQueue.php(52): GuzzleHttp\\Promise\\Promise::GuzzleHttp\\Promise\\{closure}()\n#9 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(167): GuzzleHttp\\Promise\\TaskQueue->run()\n#10 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(206): GuzzleHttp\\Handler\\CurlMultiHandler->tick()\n#11 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Handler\\CurlMultiHandler->execute()\n#12 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#13 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(272): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#14 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(229): GuzzleHttp\\Promise\\Promise->invokeWaitList()\n#15 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#16 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(109): GuzzleHttp\\Promise\\Promise->wait()\n#17 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#18 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#19 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#20 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(494): GuzzleHttp\\Promise\\Promise->wait()\n#21 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(443): Spatie\\Crawler\\Crawler->startCrawlingQueue()\n#22 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/CrawlerHelper.php(181): Spatie\\Crawler\\Crawler->startCrawling()\n#23 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/ProjectHelper.php(250): App\\Helper\\CrawlerHelper->crawlProjectProducts()\n#24 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Command\/Cron\/ProductHuntCommand.php(60): App\\Helper\\ProjectHelper->huntProducts()\n#25 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Command\/Command.php(279): App\\Command\\Cron\\ProductHuntCommand->execute()\n#26 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(1047): Symfony\\Component\\Console\\Command\\Command->run()\n#27 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(123): Symfony\\Component\\Console\\Application->doRunCommand()\n#28 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(316): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#29 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(77): Symfony\\Component\\Console\\Application->doRun()\n#30 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(167): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#31 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/runtime\/Runner\/Symfony\/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#32 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#33 \/home\/cbdextract\/cbdextract.nw.agency\/source\/bin\/console(15): require_once('...')\n#34 {main}"}}"
        -labReportFails: Doctrine\ORM\PersistentCollection {#1609 …}
        -productExcludePaths: null
        -aILogs: Doctrine\ORM\PersistentCollection {#1586 …}
        -user: null
        -aIBatchJobs: Doctrine\ORM\PersistentCollection {#1650 …}
        -lazyObjectState: Symfony\Component\VarExporter\Internal\LazyObjectState {#906 …}
      }
      -labReportSource: null
      -createdAt: DateTime @1748166689 {#848
        date: 2025-05-25 09:51:29.0 UTC (+00:00)
      }
      -updatedAt: DateTime @1748152342 {#845
        date: 2025-05-25 05:52:22.0 UTC (+00:00)
      }
      -category: null
      -state: "processed"
      -expiryDate: ""
      -extractionDate: "2024-11-13"
      -thcaPercentage: "0"
      -totalThcPercentage: "0"
      -deltaNinePercentage: "0"
      -deltaNineWithThcaCombined: "0"
      -comments: null
      -internalUrl: "https://cbdextract.nw.agency/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
      -markdownContent: ""# Residual Solvents Analysis\n\nResidual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n\n**Method:** QSP 1204 - Analysis of Residual Solvents by GC\/MS\n\n## Residual Solvents Test Results - 11\/13\/2024 \u2705 PASS\n\n| COMPOUND                             | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Propane                              | 10 \/ 20        | 5000                | N\/A                            | ND            | PASS   |\n| n-Butane                             | 10 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Pentane                            | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Hexane                             | 2 \/ 5          | 290                 | N\/A                            | ND            | PASS   |\n| n-Heptane                            | 20 \/ 60        | 5000                | N\/A                            | ND            | PASS   |\n| Benzene                              | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Toluene                              | 7 \/ 21         | 890                 | N\/A                            | ND            | PASS   |\n| Total Xylenes                        | 50 \/ 160       | 2170                | N\/A                            | ND            | PASS   |\n| Methanol                             | 50 \/ 200       | 3000                | N\/A                            | ND            | PASS   |\n| Ethanol                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| 2-Propanol (Isopropyl Alcohol)       | 10 \/ 40        | 5000                | N\/A                            | ND            | PASS   |\n| Acetone                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethyl Ether                          | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethylene Oxide                       | 0.3 \/ 0.8      | 1                   | N\/A                            | ND            | PASS   |\n| Ethyl Acetate                        | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Chloroform                           | 0.1 \/ 0.2      | 1                   | N\/A                            | ND            | PASS   |\n| Dichloromethane (Methylene Chloride) | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Trichloroethylene                    | 0.1 \/ 0.3      | 1                   | N\/A                            | ND            | PASS   |\n| 1,2-Dichloroethane                   | 0.05 \/ 0.1     | 1                   | N\/A                            | ND            | PASS   |\n| Acetonitrile                         | 2 \/ 7          | 410                 | N\/A                            | ND            | PASS   |\n\n\n# Heavy Metals Analysis\n\nHeavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n\n**Method:** QSP 1150 - Analysis of Heavy Metals by ICP\/MS\n\n## Heavy Metals Test Results - 11\/14\/2024 \u2705 PASS\n\n| COMPOUND | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Arsenic  | 0.02 \/ 0.1     | 1.5                 | N\/A                            | ND            | PASS   |\n| Cadmium  | 0.02 \/ 0.05    | 0.5                 | N\/A                            | ND            | PASS   |\n| Lead     | 0.04 \/ 0.1     | 0.5                 | N\/A                            | ND            | PASS   |\n| Mercury  | 0.002 \/ 0.01   | 3                   | N\/A                            | ND            | PASS   |\n\n\n# Microbiology Analysis\n\nPCR and Plating\n\nAnalysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n\n**Method:** QSP 1521 - Analysis of Microbiological Contaminants\n\n## Microbiology Test Results (PCR) - 11\/17\/2024 \u2705 PASS\n\n| COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n| -------------------------------------- | ------------------ | ------ | ------ |\n| Listeria monocytogenes                 | ND                 | ND     | PASS   |\n| Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n| Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n""
      -debugData: null
      -jsonContent: [
        "pages" => [
          [
            "page" => 1
            "md" => """
              # Residual Solvents Analysis\n
              \n
              Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
              \n
              **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS\n
              \n
              ## Residual Solvents Test Results - 11/13/2024 ✅ PASS\n
              \n
              | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
              | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
              | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
              | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
              | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
              | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
              | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
              | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
              | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
              | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
              | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
              | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
              | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
              | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
              | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |\n
              \n
              \n
              # Heavy Metals Analysis\n
              \n
              Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
              \n
              **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS\n
              \n
              ## Heavy Metals Test Results - 11/14/2024 ✅ PASS\n
              \n
              | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
              | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
              | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
              | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
              | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
              | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |\n
              \n
              \n
              # Microbiology Analysis\n
              \n
              PCR and Plating\n
              \n
              Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
              \n
              **Method:** QSP 1521 - Analysis of Microbiological Contaminants\n
              \n
              ## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS\n
              \n
              | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
              | -------------------------------------- | ------------------ | ------ | ------ |\n
              | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
              | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
              | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n
              """
            "images" => [
              [
                "name" => "page_1.jpg"
                "height" => 0
                "width" => 0
                "x" => 0
                "y" => 0
                "type" => "full_page_screenshot"
              ]
            ]
            "charts" => []
            "items" => [
              [
                "type" => "heading"
                "lvl" => 1
                "value" => "Residual Solvents Analysis"
                "md" => "# Residual Solvents Analysis"
              ]
              [
                "type" => "text"
                "value" => """
                  Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
                  \n
                  **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
                  """
                "md" => """
                  Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
                  \n
                  **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
                  """
              ]
              [
                "type" => "heading"
                "lvl" => 2
                "value" => "Residual Solvents Test Results - 11/13/2024 ✅ PASS"
                "md" => "## Residual Solvents Test Results - 11/13/2024 ✅ PASS"
              ]
              [
                "type" => "table"
                "rows" => [
                  [
                    "COMPOUND"
                    "LOD/LOQ (µg/g)"
                    "ACTION LIMIT (µg/g)"
                    "MEASUREMENT UNCERTAINTY (µg/g)"
                    "RESULT (µg/g)"
                    "RESULT"
                  ]
                  [
                    "Propane"
                    "10 / 20"
                    "5000"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "n-Butane"
                    "10 / 50"
                    "5000"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "n-Pentane"
                    "20 / 50"
                    "5000"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "n-Hexane"
                    "2 / 5"
                    "290"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "n-Heptane"
                    "20 / 60"
                    "5000"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Benzene"
                    "0.3 / 0.9"
                    "1"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Toluene"
                    "7 / 21"
                    "890"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Total Xylenes"
                    "50 / 160"
                    "2170"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Methanol"
                    "50 / 200"
                    "3000"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Ethanol"
                    "20 / 50"
                    "5000"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "2-Propanol (Isopropyl Alcohol)"
                    "10 / 40"
                    "5000"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Acetone"
                    "20 / 50"
                    "5000"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Ethyl Ether"
                    "20 / 50"
                    "5000"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Ethylene Oxide"
                    "0.3 / 0.8"
                    "1"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Ethyl Acetate"
                    "20 / 50"
                    "5000"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Chloroform"
                    "0.1 / 0.2"
                    "1"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Dichloromethane (Methylene Chloride)"
                    "0.3 / 0.9"
                    "1"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Trichloroethylene"
                    "0.1 / 0.3"
                    "1"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "1,2-Dichloroethane"
                    "0.05 / 0.1"
                    "1"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Acetonitrile"
                    "2 / 7"
                    "410"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                ]
                "md" => """
                  | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
                  | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
                  | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
                  | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                  | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                  | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
                  | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
                  | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
                  | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
                  | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
                  | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
                  | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                  | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
                  | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                  | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                  | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
                  | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
                  | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
                  | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
                  | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
                  | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
                  | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |
                  """
                "isPerfectTable" => true
                "csv" => """
                  "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
                  "Propane","10 / 20","5000","N/A","ND","PASS"\n
                  "n-Butane","10 / 50","5000","N/A","ND","PASS"\n
                  "n-Pentane","20 / 50","5000","N/A","ND","PASS"\n
                  "n-Hexane","2 / 5","290","N/A","ND","PASS"\n
                  "n-Heptane","20 / 60","5000","N/A","ND","PASS"\n
                  "Benzene","0.3 / 0.9","1","N/A","ND","PASS"\n
                  "Toluene","7 / 21","890","N/A","ND","PASS"\n
                  "Total Xylenes","50 / 160","2170","N/A","ND","PASS"\n
                  "Methanol","50 / 200","3000","N/A","ND","PASS"\n
                  "Ethanol","20 / 50","5000","N/A","ND","PASS"\n
                  "2-Propanol (Isopropyl Alcohol)","10 / 40","5000","N/A","ND","PASS"\n
                  "Acetone","20 / 50","5000","N/A","ND","PASS"\n
                  "Ethyl Ether","20 / 50","5000","N/A","ND","PASS"\n
                  "Ethylene Oxide","0.3 / 0.8","1","N/A","ND","PASS"\n
                  "Ethyl Acetate","20 / 50","5000","N/A","ND","PASS"\n
                  "Chloroform","0.1 / 0.2","1","N/A","ND","PASS"\n
                  "Dichloromethane (Methylene Chloride)","0.3 / 0.9","1","N/A","ND","PASS"\n
                  "Trichloroethylene","0.1 / 0.3","1","N/A","ND","PASS"\n
                  "1,2-Dichloroethane","0.05 / 0.1","1","N/A","ND","PASS"\n
                  "Acetonitrile","2 / 7","410","N/A","ND","PASS"
                  """
              ]
              [
                "type" => "heading"
                "lvl" => 1
                "value" => "Heavy Metals Analysis"
                "md" => "# Heavy Metals Analysis"
              ]
              [
                "type" => "text"
                "value" => """
                  Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
                  \n
                  **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
                  """
                "md" => """
                  Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
                  \n
                  **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
                  """
              ]
              [
                "type" => "heading"
                "lvl" => 2
                "value" => "Heavy Metals Test Results - 11/14/2024 ✅ PASS"
                "md" => "## Heavy Metals Test Results - 11/14/2024 ✅ PASS"
              ]
              [
                "type" => "table"
                "rows" => [
                  [
                    "COMPOUND"
                    "LOD/LOQ (µg/g)"
                    "ACTION LIMIT (µg/g)"
                    "MEASUREMENT UNCERTAINTY (µg/g)"
                    "RESULT (µg/g)"
                    "RESULT"
                  ]
                  [
                    "Arsenic"
                    "0.02 / 0.1"
                    "1.5"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Cadmium"
                    "0.02 / 0.05"
                    "0.5"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Lead"
                    "0.04 / 0.1"
                    "0.5"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Mercury"
                    "0.002 / 0.01"
                    "3"
                    "N/A"
                    "ND"
                    "PASS"
                  ]
                ]
                "md" => """
                  | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
                  | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
                  | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
                  | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
                  | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
                  | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |
                  """
                "isPerfectTable" => true
                "csv" => """
                  "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
                  "Arsenic","0.02 / 0.1","1.5","N/A","ND","PASS"\n
                  "Cadmium","0.02 / 0.05","0.5","N/A","ND","PASS"\n
                  "Lead","0.04 / 0.1","0.5","N/A","ND","PASS"\n
                  "Mercury","0.002 / 0.01","3","N/A","ND","PASS"
                  """
              ]
              [
                "type" => "heading"
                "lvl" => 1
                "value" => "Microbiology Analysis"
                "md" => "# Microbiology Analysis"
              ]
              [
                "type" => "text"
                "value" => """
                  PCR and Plating\n
                  \n
                  Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
                  \n
                  **Method:** QSP 1521 - Analysis of Microbiological Contaminants
                  """
                "md" => """
                  PCR and Plating\n
                  \n
                  Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
                  \n
                  **Method:** QSP 1521 - Analysis of Microbiological Contaminants
                  """
              ]
              [
                "type" => "heading"
                "lvl" => 2
                "value" => "Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
                "md" => "## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
              ]
              [
                "type" => "table"
                "rows" => [
                  [
                    "COMPOUND"
                    "ACTION LIMIT"
                    "RESULT"
                    "RESULT"
                  ]
                  [
                    "Listeria monocytogenes"
                    "ND"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Salmonella spp."
                    "Not Detected in 1g"
                    "ND"
                    "PASS"
                  ]
                  [
                    "Shiga toxin-producing Escherichia coli"
                    "Not Detected in 1g"
                    "ND"
                    "PASS"
                  ]
                ]
                "md" => """
                  | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
                  | -------------------------------------- | ------------------ | ------ | ------ |\n
                  | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
                  | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
                  | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |
                  """
                "isPerfectTable" => true
                "csv" => """
                  "COMPOUND","ACTION LIMIT","RESULT","RESULT"\n
                  "Listeria monocytogenes","ND","ND","PASS"\n
                  "Salmonella spp.","Not Detected in 1g","ND","PASS"\n
                  "Shiga toxin-producing Escherichia coli","Not Detected in 1g","ND","PASS"
                  """
              ]
            ]
            "status" => "OK"
            "originalOrientationAngle" => 0
            "links" => []
            "triggeredAutoMode" => false
            "parsingMode" => "multimodal-openai-gpt4o"
            "structuredData" => null
            "noStructuredContent" => false
            "noTextContent" => false
          ]
        ]
        "job_metadata" => [
          "credits_used" => 0
          "job_credits_usage" => 0
          "job_pages" => 1
          "job_auto_mode_triggered_pages" => 0
          "job_is_cache_hit" => false
        ]
      ]
      -labName: "Laboratory ABC"
      -sampleName: "Pineapple Express Concentrate"
      -sampleMatrix: "concentrate"
      -internalPath: "/home/cbdextract/cbdextract.nw.agency/source/public/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
      -productType: "cannabis"
      -aILogs: Doctrine\ORM\PersistentCollection {#964 …}
      -products: Doctrine\ORM\PersistentCollection {#1018 …}
    }
    -primaryKeyName: "id"
    -primaryKeyValue: 858
    -permission: null
    -fields: EasyCorp\Bundle\EasyAdminBundle\Collection\FieldCollection {#1343 …}
    -actions: EasyCorp\Bundle\EasyAdminBundle\Collection\ActionCollection {#1719 …}
  }
  "form_tabs" => []
  "form_fieldsets" => []
]
ea_vars
EasyCorp\Bundle\EasyAdminBundle\Dto\FormVarsDto {#4043
  -fieldDto: null
  -entityDto: null
}
errors
Symfony\Component\Form\FormErrorIterator {#1829
  -errors: []
  -form: Symfony\Component\Form\Form {#1779 …}
}
form
Symfony\Component\Form\FormView {#1838 …5}
full_name
"LabReport"
help
null
help_attr
[]
help_html
false
help_translation_parameters
[]
id
"LabReport"
label
null
label_attr
[]
label_format
null
label_html
false
label_translation_parameters
[]
method
"POST"
multipart
false
name
"LabReport"
priority
0
required
true
row_attr
[]
submitted
false
translation_domain
"messages"
unique_block_prefix
"_LabReport"
valid
true
value
App\Entity\LabReport {#854
  -id: 858
  -name: "Broad Spectrum Dog Tincture Lab Report - Image 5"
  -externalUrl: "https://purecbdnc.com/cdn/shop/files/PawCBD_CBDBroadSpectrumDogTincture300mg_PeanutButterCOA5.jpg?v=1742236255"
  -source: null
  -type: "jpg"
  -project: Proxies\__CG__\App\Entity\Project {#903
    -id: 104
    -name: "pure cbd"
    -url: "https://purecbdnc.com/"
    -prompt: null
    -chatJson: null
    -externalLabReportsUrl: null
    -spiderSourceUrls: Doctrine\ORM\PersistentCollection {#1521 …}
    -productMatchingUrl: null
    -productUrls: Doctrine\ORM\PersistentCollection {#1556 …}
    -labReportSources: Doctrine\ORM\PersistentCollection {#1527 …}
    -labReports: Doctrine\ORM\PersistentCollection {#1558 …}
    -createdAt: DateTime @1744068184 {#1495
      date: 2025-04-07 23:23:04.0 UTC (+00:00)
    }
    -updatedAt: DateTime @1768199044 {#1485
      date: 2026-01-12 06:24:04.0 UTC (+00:00)
    }
    -spiderSourceMatchingUrls: null
    -state: "ready_to_hunt"
    -products: Doctrine\ORM\PersistentCollection {#1560 …}
    -productPages: Doctrine\ORM\PersistentCollection {#1581 …}
    -websiteFramework: "shopify"
    -debugData: "{"error":{"message":"DOMDocument::loadHTML(): Argument #1 ($source) must not be empty","trace":"#0 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/FrameworkHelper.php(346): DOMDocument->loadHTML()\n#1 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Crawler\/ProductHuntCrawlerObserver.php(134): App\\Helper\\FrameworkHelper->is_shopify_product_page()\n#2 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/CrawlObservers\/CrawlObserverCollection.php(28): App\\Crawler\\ProductHuntCrawlerObserver->crawled()\n#3 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(104): Spatie\\Crawler\\CrawlObservers\\CrawlObserverCollection->crawled()\n#4 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Handlers\/CrawlRequestFulfilled.php(70): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->handleCrawled()\n#5 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(173): Spatie\\Crawler\\Handlers\\CrawlRequestFulfilled->__invoke()\n#6 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(209): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#7 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(158): GuzzleHttp\\Promise\\Promise::callHandler()\n#8 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/TaskQueue.php(52): GuzzleHttp\\Promise\\Promise::GuzzleHttp\\Promise\\{closure}()\n#9 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(167): GuzzleHttp\\Promise\\TaskQueue->run()\n#10 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/guzzle\/src\/Handler\/CurlMultiHandler.php(206): GuzzleHttp\\Handler\\CurlMultiHandler->tick()\n#11 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Handler\\CurlMultiHandler->execute()\n#12 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#13 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(272): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#14 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(229): GuzzleHttp\\Promise\\Promise->invokeWaitList()\n#15 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#16 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/EachPromise.php(109): GuzzleHttp\\Promise\\Promise->wait()\n#17 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(251): GuzzleHttp\\Promise\\EachPromise->GuzzleHttp\\Promise\\{closure}()\n#18 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn()\n#19 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/guzzlehttp\/promises\/src\/Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending()\n#20 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(494): GuzzleHttp\\Promise\\Promise->wait()\n#21 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/spatie\/crawler\/src\/Crawler.php(443): Spatie\\Crawler\\Crawler->startCrawlingQueue()\n#22 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/CrawlerHelper.php(181): Spatie\\Crawler\\Crawler->startCrawling()\n#23 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Helper\/ProjectHelper.php(250): App\\Helper\\CrawlerHelper->crawlProjectProducts()\n#24 \/home\/cbdextract\/cbdextract.nw.agency\/source\/src\/Command\/Cron\/ProductHuntCommand.php(60): App\\Helper\\ProjectHelper->huntProducts()\n#25 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Command\/Command.php(279): App\\Command\\Cron\\ProductHuntCommand->execute()\n#26 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(1047): Symfony\\Component\\Console\\Command\\Command->run()\n#27 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(123): Symfony\\Component\\Console\\Application->doRunCommand()\n#28 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(316): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#29 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/framework-bundle\/Console\/Application.php(77): Symfony\\Component\\Console\\Application->doRun()\n#30 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/console\/Application.php(167): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#31 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/symfony\/runtime\/Runner\/Symfony\/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#32 \/home\/cbdextract\/cbdextract.nw.agency\/source\/vendor\/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#33 \/home\/cbdextract\/cbdextract.nw.agency\/source\/bin\/console(15): require_once('...')\n#34 {main}"}}"
    -labReportFails: Doctrine\ORM\PersistentCollection {#1609 …}
    -productExcludePaths: null
    -aILogs: Doctrine\ORM\PersistentCollection {#1586 …}
    -user: null
    -aIBatchJobs: Doctrine\ORM\PersistentCollection {#1650 …}
    -lazyObjectState: Symfony\Component\VarExporter\Internal\LazyObjectState {#906 …}
  }
  -labReportSource: null
  -createdAt: DateTime @1748166689 {#848
    date: 2025-05-25 09:51:29.0 UTC (+00:00)
  }
  -updatedAt: DateTime @1748152342 {#845
    date: 2025-05-25 05:52:22.0 UTC (+00:00)
  }
  -category: null
  -state: "processed"
  -expiryDate: ""
  -extractionDate: "2024-11-13"
  -thcaPercentage: "0"
  -totalThcPercentage: "0"
  -deltaNinePercentage: "0"
  -deltaNineWithThcaCombined: "0"
  -comments: null
  -internalUrl: "https://cbdextract.nw.agency/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
  -markdownContent: ""# Residual Solvents Analysis\n\nResidual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n\n**Method:** QSP 1204 - Analysis of Residual Solvents by GC\/MS\n\n## Residual Solvents Test Results - 11\/13\/2024 \u2705 PASS\n\n| COMPOUND                             | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Propane                              | 10 \/ 20        | 5000                | N\/A                            | ND            | PASS   |\n| n-Butane                             | 10 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Pentane                            | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| n-Hexane                             | 2 \/ 5          | 290                 | N\/A                            | ND            | PASS   |\n| n-Heptane                            | 20 \/ 60        | 5000                | N\/A                            | ND            | PASS   |\n| Benzene                              | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Toluene                              | 7 \/ 21         | 890                 | N\/A                            | ND            | PASS   |\n| Total Xylenes                        | 50 \/ 160       | 2170                | N\/A                            | ND            | PASS   |\n| Methanol                             | 50 \/ 200       | 3000                | N\/A                            | ND            | PASS   |\n| Ethanol                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| 2-Propanol (Isopropyl Alcohol)       | 10 \/ 40        | 5000                | N\/A                            | ND            | PASS   |\n| Acetone                              | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethyl Ether                          | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Ethylene Oxide                       | 0.3 \/ 0.8      | 1                   | N\/A                            | ND            | PASS   |\n| Ethyl Acetate                        | 20 \/ 50        | 5000                | N\/A                            | ND            | PASS   |\n| Chloroform                           | 0.1 \/ 0.2      | 1                   | N\/A                            | ND            | PASS   |\n| Dichloromethane (Methylene Chloride) | 0.3 \/ 0.9      | 1                   | N\/A                            | ND            | PASS   |\n| Trichloroethylene                    | 0.1 \/ 0.3      | 1                   | N\/A                            | ND            | PASS   |\n| 1,2-Dichloroethane                   | 0.05 \/ 0.1     | 1                   | N\/A                            | ND            | PASS   |\n| Acetonitrile                         | 2 \/ 7          | 410                 | N\/A                            | ND            | PASS   |\n\n\n# Heavy Metals Analysis\n\nHeavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n\n**Method:** QSP 1150 - Analysis of Heavy Metals by ICP\/MS\n\n## Heavy Metals Test Results - 11\/14\/2024 \u2705 PASS\n\n| COMPOUND | LOD\/LOQ (\u00b5g\/g) | ACTION LIMIT (\u00b5g\/g) | MEASUREMENT UNCERTAINTY (\u00b5g\/g) | RESULT (\u00b5g\/g) | RESULT |\n| -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n| Arsenic  | 0.02 \/ 0.1     | 1.5                 | N\/A                            | ND            | PASS   |\n| Cadmium  | 0.02 \/ 0.05    | 0.5                 | N\/A                            | ND            | PASS   |\n| Lead     | 0.04 \/ 0.1     | 0.5                 | N\/A                            | ND            | PASS   |\n| Mercury  | 0.002 \/ 0.01   | 3                   | N\/A                            | ND            | PASS   |\n\n\n# Microbiology Analysis\n\nPCR and Plating\n\nAnalysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n\n**Method:** QSP 1521 - Analysis of Microbiological Contaminants\n\n## Microbiology Test Results (PCR) - 11\/17\/2024 \u2705 PASS\n\n| COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n| -------------------------------------- | ------------------ | ------ | ------ |\n| Listeria monocytogenes                 | ND                 | ND     | PASS   |\n| Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n| Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n""
  -debugData: null
  -jsonContent: [
    "pages" => [
      [
        "page" => 1
        "md" => """
          # Residual Solvents Analysis\n
          \n
          Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
          \n
          **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS\n
          \n
          ## Residual Solvents Test Results - 11/13/2024 ✅ PASS\n
          \n
          | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
          | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
          | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
          | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
          | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
          | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
          | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
          | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
          | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
          | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
          | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
          | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
          | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
          | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
          | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
          | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
          | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |\n
          \n
          \n
          # Heavy Metals Analysis\n
          \n
          Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
          \n
          **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS\n
          \n
          ## Heavy Metals Test Results - 11/14/2024 ✅ PASS\n
          \n
          | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
          | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
          | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
          | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
          | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
          | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |\n
          \n
          \n
          # Microbiology Analysis\n
          \n
          PCR and Plating\n
          \n
          Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
          \n
          **Method:** QSP 1521 - Analysis of Microbiological Contaminants\n
          \n
          ## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS\n
          \n
          | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
          | -------------------------------------- | ------------------ | ------ | ------ |\n
          | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
          | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
          | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |\n
          """
        "images" => [
          [
            "name" => "page_1.jpg"
            "height" => 0
            "width" => 0
            "x" => 0
            "y" => 0
            "type" => "full_page_screenshot"
          ]
        ]
        "charts" => []
        "items" => [
          [
            "type" => "heading"
            "lvl" => 1
            "value" => "Residual Solvents Analysis"
            "md" => "# Residual Solvents Analysis"
          ]
          [
            "type" => "text"
            "value" => """
              Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
              \n
              **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
              """
            "md" => """
              Residual Solvent analysis utilizing gas chromatography-mass spectrometry (GC-MS).\n
              \n
              **Method:** QSP 1204 - Analysis of Residual Solvents by GC/MS
              """
          ]
          [
            "type" => "heading"
            "lvl" => 2
            "value" => "Residual Solvents Test Results - 11/13/2024 ✅ PASS"
            "md" => "## Residual Solvents Test Results - 11/13/2024 ✅ PASS"
          ]
          [
            "type" => "table"
            "rows" => [
              [
                "COMPOUND"
                "LOD/LOQ (µg/g)"
                "ACTION LIMIT (µg/g)"
                "MEASUREMENT UNCERTAINTY (µg/g)"
                "RESULT (µg/g)"
                "RESULT"
              ]
              [
                "Propane"
                "10 / 20"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Butane"
                "10 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Pentane"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Hexane"
                "2 / 5"
                "290"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "n-Heptane"
                "20 / 60"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Benzene"
                "0.3 / 0.9"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Toluene"
                "7 / 21"
                "890"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Total Xylenes"
                "50 / 160"
                "2170"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Methanol"
                "50 / 200"
                "3000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethanol"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "2-Propanol (Isopropyl Alcohol)"
                "10 / 40"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Acetone"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethyl Ether"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethylene Oxide"
                "0.3 / 0.8"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Ethyl Acetate"
                "20 / 50"
                "5000"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Chloroform"
                "0.1 / 0.2"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Dichloromethane (Methylene Chloride)"
                "0.3 / 0.9"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Trichloroethylene"
                "0.1 / 0.3"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "1,2-Dichloroethane"
                "0.05 / 0.1"
                "1"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Acetonitrile"
                "2 / 7"
                "410"
                "N/A"
                "ND"
                "PASS"
              ]
            ]
            "md" => """
              | COMPOUND                             | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
              | ------------------------------------ | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
              | Propane                              | 10 / 20        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Butane                             | 10 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Pentane                            | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | n-Hexane                             | 2 / 5          | 290                 | N/A                            | ND            | PASS   |\n
              | n-Heptane                            | 20 / 60        | 5000                | N/A                            | ND            | PASS   |\n
              | Benzene                              | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
              | Toluene                              | 7 / 21         | 890                 | N/A                            | ND            | PASS   |\n
              | Total Xylenes                        | 50 / 160       | 2170                | N/A                            | ND            | PASS   |\n
              | Methanol                             | 50 / 200       | 3000                | N/A                            | ND            | PASS   |\n
              | Ethanol                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | 2-Propanol (Isopropyl Alcohol)       | 10 / 40        | 5000                | N/A                            | ND            | PASS   |\n
              | Acetone                              | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Ethyl Ether                          | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Ethylene Oxide                       | 0.3 / 0.8      | 1                   | N/A                            | ND            | PASS   |\n
              | Ethyl Acetate                        | 20 / 50        | 5000                | N/A                            | ND            | PASS   |\n
              | Chloroform                           | 0.1 / 0.2      | 1                   | N/A                            | ND            | PASS   |\n
              | Dichloromethane (Methylene Chloride) | 0.3 / 0.9      | 1                   | N/A                            | ND            | PASS   |\n
              | Trichloroethylene                    | 0.1 / 0.3      | 1                   | N/A                            | ND            | PASS   |\n
              | 1,2-Dichloroethane                   | 0.05 / 0.1     | 1                   | N/A                            | ND            | PASS   |\n
              | Acetonitrile                         | 2 / 7          | 410                 | N/A                            | ND            | PASS   |
              """
            "isPerfectTable" => true
            "csv" => """
              "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
              "Propane","10 / 20","5000","N/A","ND","PASS"\n
              "n-Butane","10 / 50","5000","N/A","ND","PASS"\n
              "n-Pentane","20 / 50","5000","N/A","ND","PASS"\n
              "n-Hexane","2 / 5","290","N/A","ND","PASS"\n
              "n-Heptane","20 / 60","5000","N/A","ND","PASS"\n
              "Benzene","0.3 / 0.9","1","N/A","ND","PASS"\n
              "Toluene","7 / 21","890","N/A","ND","PASS"\n
              "Total Xylenes","50 / 160","2170","N/A","ND","PASS"\n
              "Methanol","50 / 200","3000","N/A","ND","PASS"\n
              "Ethanol","20 / 50","5000","N/A","ND","PASS"\n
              "2-Propanol (Isopropyl Alcohol)","10 / 40","5000","N/A","ND","PASS"\n
              "Acetone","20 / 50","5000","N/A","ND","PASS"\n
              "Ethyl Ether","20 / 50","5000","N/A","ND","PASS"\n
              "Ethylene Oxide","0.3 / 0.8","1","N/A","ND","PASS"\n
              "Ethyl Acetate","20 / 50","5000","N/A","ND","PASS"\n
              "Chloroform","0.1 / 0.2","1","N/A","ND","PASS"\n
              "Dichloromethane (Methylene Chloride)","0.3 / 0.9","1","N/A","ND","PASS"\n
              "Trichloroethylene","0.1 / 0.3","1","N/A","ND","PASS"\n
              "1,2-Dichloroethane","0.05 / 0.1","1","N/A","ND","PASS"\n
              "Acetonitrile","2 / 7","410","N/A","ND","PASS"
              """
          ]
          [
            "type" => "heading"
            "lvl" => 1
            "value" => "Heavy Metals Analysis"
            "md" => "# Heavy Metals Analysis"
          ]
          [
            "type" => "text"
            "value" => """
              Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
              \n
              **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
              """
            "md" => """
              Heavy metal analysis utilizing inductively coupled plasma-mass spectrometry (ICP-MS).\n
              \n
              **Method:** QSP 1150 - Analysis of Heavy Metals by ICP/MS
              """
          ]
          [
            "type" => "heading"
            "lvl" => 2
            "value" => "Heavy Metals Test Results - 11/14/2024 ✅ PASS"
            "md" => "## Heavy Metals Test Results - 11/14/2024 ✅ PASS"
          ]
          [
            "type" => "table"
            "rows" => [
              [
                "COMPOUND"
                "LOD/LOQ (µg/g)"
                "ACTION LIMIT (µg/g)"
                "MEASUREMENT UNCERTAINTY (µg/g)"
                "RESULT (µg/g)"
                "RESULT"
              ]
              [
                "Arsenic"
                "0.02 / 0.1"
                "1.5"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Cadmium"
                "0.02 / 0.05"
                "0.5"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Lead"
                "0.04 / 0.1"
                "0.5"
                "N/A"
                "ND"
                "PASS"
              ]
              [
                "Mercury"
                "0.002 / 0.01"
                "3"
                "N/A"
                "ND"
                "PASS"
              ]
            ]
            "md" => """
              | COMPOUND | LOD/LOQ (µg/g) | ACTION LIMIT (µg/g) | MEASUREMENT UNCERTAINTY (µg/g) | RESULT (µg/g) | RESULT |\n
              | -------- | -------------- | ------------------- | ------------------------------ | ------------- | ------ |\n
              | Arsenic  | 0.02 / 0.1     | 1.5                 | N/A                            | ND            | PASS   |\n
              | Cadmium  | 0.02 / 0.05    | 0.5                 | N/A                            | ND            | PASS   |\n
              | Lead     | 0.04 / 0.1     | 0.5                 | N/A                            | ND            | PASS   |\n
              | Mercury  | 0.002 / 0.01   | 3                   | N/A                            | ND            | PASS   |
              """
            "isPerfectTable" => true
            "csv" => """
              "COMPOUND","LOD/LOQ (µg/g)","ACTION LIMIT (µg/g)","MEASUREMENT UNCERTAINTY (µg/g)","RESULT (µg/g)","RESULT"\n
              "Arsenic","0.02 / 0.1","1.5","N/A","ND","PASS"\n
              "Cadmium","0.02 / 0.05","0.5","N/A","ND","PASS"\n
              "Lead","0.04 / 0.1","0.5","N/A","ND","PASS"\n
              "Mercury","0.002 / 0.01","3","N/A","ND","PASS"
              """
          ]
          [
            "type" => "heading"
            "lvl" => 1
            "value" => "Microbiology Analysis"
            "md" => "# Microbiology Analysis"
          ]
          [
            "type" => "text"
            "value" => """
              PCR and Plating\n
              \n
              Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
              \n
              **Method:** QSP 1521 - Analysis of Microbiological Contaminants
              """
            "md" => """
              PCR and Plating\n
              \n
              Analysis conducted by polymerase chain reaction (PCR) for fluorescence detection of microbiological contaminants.\n
              \n
              **Method:** QSP 1521 - Analysis of Microbiological Contaminants
              """
          ]
          [
            "type" => "heading"
            "lvl" => 2
            "value" => "Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
            "md" => "## Microbiology Test Results (PCR) - 11/17/2024 ✅ PASS"
          ]
          [
            "type" => "table"
            "rows" => [
              [
                "COMPOUND"
                "ACTION LIMIT"
                "RESULT"
                "RESULT"
              ]
              [
                "Listeria monocytogenes"
                "ND"
                "ND"
                "PASS"
              ]
              [
                "Salmonella spp."
                "Not Detected in 1g"
                "ND"
                "PASS"
              ]
              [
                "Shiga toxin-producing Escherichia coli"
                "Not Detected in 1g"
                "ND"
                "PASS"
              ]
            ]
            "md" => """
              | COMPOUND                               | ACTION LIMIT       | RESULT | RESULT |\n
              | -------------------------------------- | ------------------ | ------ | ------ |\n
              | Listeria monocytogenes                 | ND                 | ND     | PASS   |\n
              | Salmonella spp.                        | Not Detected in 1g | ND     | PASS   |\n
              | Shiga toxin-producing Escherichia coli | Not Detected in 1g | ND     | PASS   |
              """
            "isPerfectTable" => true
            "csv" => """
              "COMPOUND","ACTION LIMIT","RESULT","RESULT"\n
              "Listeria monocytogenes","ND","ND","PASS"\n
              "Salmonella spp.","Not Detected in 1g","ND","PASS"\n
              "Shiga toxin-producing Escherichia coli","Not Detected in 1g","ND","PASS"
              """
          ]
        ]
        "status" => "OK"
        "originalOrientationAngle" => 0
        "links" => []
        "triggeredAutoMode" => false
        "parsingMode" => "multimodal-openai-gpt4o"
        "structuredData" => null
        "noStructuredContent" => false
        "noTextContent" => false
      ]
    ]
    "job_metadata" => [
      "credits_used" => 0
      "job_credits_usage" => 0
      "job_pages" => 1
      "job_auto_mode_triggered_pages" => 0
      "job_is_cache_hit" => false
    ]
  ]
  -labName: "Laboratory ABC"
  -sampleName: "Pineapple Express Concentrate"
  -sampleMatrix: "concentrate"
  -internalPath: "/home/cbdextract/cbdextract.nw.agency/source/public/lab-reports/BroadSpectrumDogTinctureLabReport-Image5.jpg"
  -productType: "cannabis"
  -aILogs: Doctrine\ORM\PersistentCollection {#964 …}
  -products: Doctrine\ORM\PersistentCollection {#1018 …}
}